Commit graph

351 commits

Author SHA1 Message Date
Peter Steinberger
a4619fb766
Add Git repository monitoring to VibeTunnel menu bar (#200) 2025-07-02 20:42:34 +01:00
Peter Steinberger
2a937eac4a
Make popover window sticky during new session creation (#194) 2025-07-02 16:49:34 +01:00
Jeff Hurray
dab2c6056d
Fix various SessionRow menu bugs (#196) 2025-07-02 13:28:15 +01:00
Peter Steinberger
f602f2936e
Add vibetunnel binary path and version info to vt help output (#193) 2025-07-02 07:46:37 +01:00
Peter Steinberger
42021bb514 Fix inconsistent button state management
- Remove all uses of deprecated highlight() method in CustomMenuWindow
- Consistently use state property for NSStatusBarButton management
- Update StatusBarMenuManager to reset button state when menu state is .none
- Fix concurrency issues in CustomMenuWindow frame observer
- Ensure button state is properly managed throughout menu lifecycle

This fixes the issue where the button could display inconsistent visual states
or get stuck due to conflicting approaches between highlight() and state.
2025-07-02 00:00:53 +01:00
Peter Steinberger
b5cf38f7e7 Fix flaky logs API test in CI
The test was checking for log file existence before any logs were written.
Added a log write before checking file info to ensure the file exists.
2025-07-02 00:00:53 +01:00
Peter Steinberger
a8dd9af10a Reduce terminal title update frequency to once per second
- Change periodic activity update interval from 500ms to 1000ms
- Ensure all title updates go through debouncer (including session name changes)
- Prevents excessive terminal updates while maintaining responsiveness
2025-07-02 00:00:53 +01:00
Peter Steinberger
c2f0b79cec Fix logs API test by including lastModified in all responses
- Add lastModified: null when log file doesn't exist
- Ensures consistent API response structure
2025-07-02 00:00:53 +01:00
Peter Steinberger
a6488b5ad9 Improve session display and button state management
- Fix menu bar button highlighting using state instead of highlight()
- Extract process name from command path for cleaner display
- Show session name next to command with dash separator
- Fix corner radius on new session dialog
- Make Create button darker green for better visibility
- Update editing to properly handle session names
2025-07-02 00:00:53 +01:00
Peter Steinberger
f60bd2d5a0 Implement side-rounded menu borders for macOS menu bar
- Create custom SideRoundedRectangle shape with flat top/bottom borders
- Apply custom shape to both SwiftUI background and NSWindow mask layer
- Update CustomMenuContainer to use the new shape for consistent styling
- Maintain rounded corners only on left and right sides as requested

This gives the menu bar dropdown a more integrated appearance with the
menu bar while keeping the modern rounded aesthetic on the sides.
2025-07-02 00:00:53 +01:00
Luis Nell
f1f99be514 Add Apple Silicon Homebrew path check for VT tool
Updates CLIInstaller to check for the VT command-line tool in both:
- /usr/local/bin/vt (default/Intel Macs)
- /opt/homebrew/bin/vt (Apple Silicon Homebrew)

This ensures users who have installed VT via Homebrew on M1/M2 Macs
will see it as already installed in the welcome flow.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 23:42:51 +01:00
Billy Irwin
852078d024
fix: simplify Tailscale integration using local API (#184) 2025-07-01 23:36:59 +01:00
Peter Steinberger
49a263d406
Mac menu bar UI improvements and Tailscale fixes (#180) 2025-07-01 18:53:46 +01:00
Peter Steinberger
b452251a47
Improve Mac menu bar UI with better form styling and animations (#179) 2025-07-01 17:46:46 +01:00
Billy Irwin
cef2e6bf03
Add more debug logs for Tailscale integration (#178) 2025-07-01 09:13:55 -07:00
Peter Steinberger
a7d5648c78
feat: Powerful Mac menu bar with rich view and session tracking (#176) 2025-07-01 14:54:30 +01:00
Peter Steinberger
6e18fa94e9 fix: Remove debug print and fix PID display for nil values
- Remove debug print statement from MenuBarView
- Fix SessionDetailView to display 'N/A' instead of '0' for nil PIDs
- Prevents confusion with actual PID 0 system process
2025-07-01 13:41:09 +01:00
Peter Steinberger
6c33e16565 feat: Add activity status display to menu bar session entries
- Display activity status (e.g., 'Browsing', 'Considering') below each session
- Show status inline with working directory path, separated by dot
- Match visual style from web frontend with orange status text
- Add compact path display with ~ for home directory
2025-07-01 13:41:09 +01:00
Peter Steinberger
4e5f100074 fix: Remove orphaned test files for non-existent modules
- Delete safe-pty-writer.test.ts and stream-analyzer.test.ts
- These tests were importing modules that no longer exist
- Fixes CI test failures
2025-07-01 13:41:09 +01:00
Peter Steinberger
dfe846cfce feat: Enhance macOS app session monitoring and UI
- Add debug logging for session fetching and status
- Display 'No sessions' text when session list is empty
- Add initial delay for auth token setup on app start
- Improve user feedback in menu bar interface
2025-07-01 13:41:09 +01:00
Peter Steinberger
bb272ce821 refactor: Simplify vt title implementation using fwd --update-title
- Add --update-title flag to fwd.ts for cleaner session title updates
- Replace complex bash/jq/python/sed logic with single fwd.ts call
- Leverage existing SessionManager for type-safe JSON handling
- Improve error handling and messaging
- Reorganize vt script to locate app path before processing commands

This eliminates the fragile bash JSON manipulation in favor of a
robust TypeScript implementation that reuses existing infrastructure.
2025-07-01 13:41:09 +01:00
Peter Steinberger
f6d529a1ab fix: Add error handling verification to vt title command
- Add proper error checking after session.json update
- Return appropriate exit codes on success/failure
- Improve error messaging for better debugging
2025-07-01 13:41:09 +01:00
Peter Steinberger
3fb5b463e8 fix: Security and reliability improvements for vt title
- Fix command injection vulnerability by using jq --arg for safe parameter passing
- Add Python fallback for systems without jq for safe JSON manipulation
- Improve sed fallback with proper escaping (last resort)
- Add debouncing (100ms) to file watcher to prevent rapid updates
- Add error handling for file watcher failures
- Clean up debounce timer on session cleanup
- Fix issue where lastSessionName wasn't properly tracked

Security fix prevents arbitrary command execution through malicious title strings.
Debouncing prevents performance issues from rapid file changes.
2025-07-01 13:41:09 +01:00
Peter Steinberger
a2d80f1fa3 test: Add comprehensive tests for vt title functionality
- Add error handling for 'vt title' when used outside a session
- Create unit tests for session.json watcher in PtyManager
- Add integration tests for vt title command with edge cases
- Test all 4 title modes (none, filter, static, dynamic)
- Test special characters, concurrent updates, and error scenarios
- Ensure proper cleanup of file watchers on session exit
2025-07-01 13:41:09 +01:00
Peter Steinberger
122253f947 feat: Add vt title command for dynamic session naming
- Add 'vt title' command that updates session names from within terminal sessions
- Implement file watcher in PtyManager to detect session.json changes
- Integrate title updates with all 4 title modes (none, filter, static, dynamic)
- Updates terminal titles in real-time when session name changes
- Works by directly editing session.json using the VIBETUNNEL_SESSION_ID env var

This allows users to easily set descriptive names for their terminal sessions,
making it easier to manage multiple VibeTunnel windows.
2025-07-01 13:41:09 +01:00
Peter Steinberger
6196c55ded
Display Claude status in Mac menubar (#160) 2025-07-01 11:21:28 +01:00
Peter Steinberger
3b3ded548b
Add Special Thanks section to About screen (#168) 2025-07-01 08:39:33 +01:00
devin-ai-integration[bot]
1d9112b9d3
Add SwiftLint and SwiftFormat Husky pre-commit hooks for iOS and mac (#165)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-07-01 06:24:59 +01:00
Igor Tarasenko
68ce36828a
fix: correct CLI installation verification after title mode args update (#153)
* fix: correct CLI installation verification after title mode args update (#153)

• Verify CLI install by matching `exec "$VIBETUNNEL_BIN" fwd` (ignores extra args) — resolves #152  
• Allow custom install dir (default `/usr/local/bin`); `vtTargetPath` now dynamic  
• Added regression + flaky-test fix
2025-07-01 07:09:43 +02:00
Peter Steinberger
4bdb21da41
chore: bump version to 1.0.0-beta.6 build 152 (#161)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-07-01 05:54:43 +01:00
Helmut Januschka
f2f5f5f67d
feat: add sleep prevention option to keep Mac awake during sessions (#146)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-06-30 11:13:21 +01:00
Peter Steinberger
884ca48dc3 docs: add release process improvements and quick reference guide
- Document lessons learned from v1.0.0-beta.5 release
- Add quick reference guide for common release tasks
- Include troubleshooting for timeout and appcast issues
- Clarify DMG notarization behavior (DMGs aren't notarized, only apps inside)
2025-06-30 07:48:14 +01:00
Peter Steinberger
8bc6e81549
feat: add comprehensive terminal title management (#124) 2025-06-30 04:15:09 +01:00
Billy Irwin
9cea558da8
feat: add Tailscale integration and improve networking documentation (#144)
- Add TailscaleService for status checking and integration
- Add Tailscale section in dashboard settings with status display
- Expand README with detailed setup guides for Tailscale and ngrok
- Show Tailscale hostname and IP when connected
- Add links to download/setup resources for both services

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-29 20:03:44 -07:00
Peter Steinberger
f1c0554644
Add Playwright E2E test framework (#120) 2025-06-30 02:51:21 +01:00
Billy Irwin
aeaecf9882
fix: handle missing .node-builds directory in build script (#142)
Check if .node-builds directory exists before attempting to find Node.js builds
to prevent errors when the directory hasn't been created yet.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-29 18:02:43 -07:00
Chris Reynolds
13b98308c9
fix: remove double shell-wrapping for aliases in vt script (#132) 2025-06-29 21:52:52 +01:00
Peter Steinberger
7f3fbe164a
feat: Add build output filtering to remove non-actionable warnings (#136) 2025-06-29 19:36:40 +01:00
Armin Ronacher
660880b396 Bring back the options for vt 2025-06-28 00:44:29 +02:00
Helmut Januschka
fc162ad55c
Prevent recursive VibeTunnel sessions (GitHub #95) (#104)
* Prevent recursive VibeTunnel sessions (GitHub #95)

Added detection and prevention of nested VibeTunnel sessions to avoid
recursive 'vt' command execution.

Changes:
- Set INSIDE_VIBETUNNEL and VIBETUNNEL_SESSION environment variables when creating PTY sessions
- Added check in vt script to detect if already inside a VibeTunnel session
- Shows helpful error message when recursive session is attempted

This prevents the confusing behavior where users could run 'vt' inside a
VibeTunnel session, creating nested terminal instances. Now users get a
clear error message explaining they're already in a VibeTunnel session.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Improve recursive session prevention based on PR feedback

- Consolidate to single environment variable VIBETUNNEL_SESSION_ID
- Add session ID for debugging purposes as requested
- Show session ID in error message for better user feedback
- Remove redundant environment variables (INSIDE_VIBETUNNEL, VIBETUNNEL_SESSION)

This addresses feedback from PR #104 to use a single, more informative
environment variable that serves both purposes: preventing recursion
and providing debugging information.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-27 21:05:36 +02:00
Peter Steinberger
c43bea3402 Prepare for 1.0.0-beta.4 release (build 114) 2025-06-27 02:06:18 +02:00
Peter Steinberger
c70330bcfd
Migrate to Microsoft node-pty v1.1.0-beta34 (#87) 2025-06-26 23:10:05 +02:00
Helmut Januschka
5a4b939564
Fix URL link detection for wrapped URLs on mobile terminals (#85)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-06-26 22:37:49 +02:00
Manuel Maly
328e000715
Split session view file (#89)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-06-26 21:15:07 +02:00
Peter Steinberger
875ed211b3 fix dashboard header separator line missing 2025-06-25 10:19:27 +02:00
Peter Steinberger
4cab4a735c fix welcome dialog spacing 2025-06-25 10:18:52 +02:00
Peter Steinberger
6db724c79b fixes window dismissal in welcome 2025-06-25 10:17:26 +02:00
Peter Steinberger
c3ad47baa4 fish hashing 2025-06-25 05:14:16 +02:00
Peter Steinberger
d1ed650261 igore file mod dates, just size 2025-06-25 04:46:04 +02:00
Peter Steinberger
f766efad82 improve stability 2025-06-25 04:32:21 +02:00
Peter Steinberger
df354e4c2d prep b4 2025-06-25 03:52:15 +02:00
Peter Steinberger
b59a3808d7 unfuck build 2025-06-25 03:36:20 +02:00
Peter Steinberger
566e7f62b3 fix mac 2025-06-25 02:11:51 +02:00
Peter Steinberger
d5f6919f9c Update dangerous NSException API 2025-06-25 02:11:51 +02:00
Peter Steinberger
aa87b2905f restore simple child terminator 2025-06-25 02:11:51 +02:00
Peter Steinberger
6dfc1eb7f4 re-patching somehow corrupts my build 2025-06-25 02:11:51 +02:00
Peter Steinberger
33abf13431 brute force clean 2025-06-25 02:11:51 +02:00
Peter Steinberger
a507376596 Modify Xcode script to be reliable on recompiles 2025-06-25 02:11:51 +02:00
Peter Steinberger
bdd1461308 linting 2025-06-25 02:11:51 +02:00
Peter Steinberger
858f7d90d8 Fix #62 AppleScript issue on Terminal. 2025-06-25 02:11:51 +02:00
Peter Steinberger
15eea702ab linting 2025-06-25 02:11:51 +02:00
Peter Steinberger
971e1f1b11 fixes node startup 2025-06-25 02:11:51 +02:00
Peter Steinberger
dd83acc575 use tar to speed up hash calculation by 10x 2025-06-25 02:11:51 +02:00
Peter Steinberger
cb9d0683b4 Don't crash here 2025-06-25 02:11:51 +02:00
Peter Steinberger
7db96f4138 fixes some previews 2025-06-25 02:11:51 +02:00
Peter Steinberger
61cd06c37f fix: remove redundant Browse Files button and fix iOS scrolling
- Remove Browse Files button from sidebar header in split view mode
  (redundant with the one in session view)
- Fix iOS Safari rubber band scrolling issue when starting from bottom bar
  by adding iOS-specific CSS fixes and detection
2025-06-25 02:11:51 +02:00
Peter Steinberger
df04310fd4 fixes a bad merge 2025-06-25 02:11:51 +02:00
Peter Steinberger
763d9ce8f0 Improve Arc-style sidebar UI for better space utilization
- Put Browse Files and Kill buttons on the same line in sidebar header
- Remove "running" text from session status, keep only the colored dot
- Apply home directory path filtering (~/...) for better readability
- Import and use formatPathForDisplay from path-utils

These changes maximize usable space in the vertical tabs sidebar.
2025-06-25 02:11:51 +02:00
Peter Steinberger
5b241d57b5 update menu icon 2025-06-25 02:11:51 +02:00
Peter Steinberger
b22d8995dd
Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
Mario Zechner
1470da3129 Merge branch 'origin/exec-which' and simplify command resolution
- Unified all command resolution logic in ProcessUtils.resolveCommand()
- Simplified alias handling to use interactive shell execution
- Fixed alias execution by using 'zsh -i -c' for proper alias loading
- Removed duplicate resolution code from pty-manager
- Commands are now resolved in order: PATH -> aliases -> shell builtins
2025-06-24 14:13:09 +02:00
Peter Steinberger
ac57f77806 Revert "remove authToken; that would prevent localhost from entering pw-less"
This reverts commit f59147dbc1.
2025-06-24 09:37:02 +02:00
Peter Steinberger
f59147dbc1 remove authToken; that would prevent localhost from entering pw-less 2025-06-24 03:38:41 +02:00
Peter Steinberger
bb6934de5d Add local bypass 2025-06-24 03:26:52 +02:00
Peter Steinberger
a3564f4586 new security settings 2025-06-24 02:41:08 +02:00
Peter Steinberger
52bded09fa Fix new security settings 2025-06-24 02:41:08 +02:00
Peter Steinberger
892aa4a2a1 Use preview macro 2025-06-24 02:41:08 +02:00
Peter Steinberger
60baba5b75 Fixes ngrok 2025-06-24 02:07:25 +02:00
Peter Steinberger
45fd5c476e Fixes SPA build 2025-06-24 02:07:25 +02:00
Peter Steinberger
288a3197d2 new auth logic 2025-06-24 01:47:45 +02:00
Peter Steinberger
b363355543 recompile native authenticate_pam for custom node 2025-06-24 01:16:38 +02:00
Peter Steinberger
baaaa5a033 fix: CI and linting issues across all platforms
- Fix code signing in Mac and iOS test workflows
- Fix all SwiftFormat and SwiftLint issues
- Fix ESLint issues in web code
- Remove force casts and unwrapping in Swift code
- Update build scripts to use correct file paths
2025-06-23 19:40:53 +02:00
Peter Steinberger
1e9e3d8d8b Stabilize tests 2025-06-23 19:15:03 +02:00
Peter Steinberger
041311af60 mac: better thread access fix 2025-06-23 19:13:02 +02:00
Peter Steinberger
8768bb0eb3 linting 2025-06-23 18:36:54 +02:00
Peter Steinberger
a14d02e20f Fixes a crash triggered by test telemetry 2025-06-23 18:36:54 +02:00
Mario Zechner
22bcd39903 Updated docs wrt node tests 2025-06-23 18:02:15 +02:00
Peter Steinberger
cf3a23dc5c Add Mac test plan 2025-06-23 17:26:45 +02:00
Peter Steinberger
9b6a32a662 bump prep beta 4 2025-06-23 17:16:10 +02:00
Peter Steinberger
9101613351 server: Allow empty username to restore b2 behaviour. Fixes #59 2025-06-23 16:55:26 +02:00
Peter Steinberger
38c308e34c mac: design tweaks 2025-06-23 16:53:36 +02:00
Peter Steinberger
8e1f5f7b9a mac: linting + better error handling 2025-06-23 14:58:11 +02:00
Peter Steinberger
b37b9492db mac: support bind for server 2025-06-23 14:58:11 +02:00
Peter Steinberger
7c41a8cc53 mac: more tests 2025-06-23 14:58:11 +02:00
Peter Steinberger
5f6fad840b CI should never build node 2025-06-23 05:51:23 +02:00
Peter Steinberger
83b586f6f6 Improve release scripts based on beta 3 lessons learned
- Always use --account VibeTunnel for Sparkle signing
- Add automatic DMG volume cleanup to prevent resource errors
- Better handling of CHANGELOG.md location (check both mac/ and root)
- Add comprehensive RELEASE-LESSONS.md with all gotchas
- Add signature verification step to release process
- Improve error messages and debugging output
- Pass SPARKLE_ACCOUNT environment variable through scripts
2025-06-23 04:57:35 +02:00
Peter Steinberger
de09d57c9c Remove duplicate appcast from mac directory and update release documentation 2025-06-23 04:46:44 +02:00
Peter Steinberger
78251f72d2 Update scripts to look for appcast files in project root, not mac directory 2025-06-23 04:45:29 +02:00
Peter Steinberger
bafe06119b Improve release scripts with better error handling and key detection 2025-06-23 04:40:49 +02:00
Peter Steinberger
40c6b4411b Update appcast to use DMG instead of ZIP 2025-06-23 04:35:12 +02:00
Peter Steinberger
9eeaff3681 Add appcast for beta 3 release 2025-06-23 04:32:38 +02:00
Peter Steinberger
acdadc71d3 Fix project path in preflight check script 2025-06-23 04:26:53 +02:00
Peter Steinberger
484ad5b968 Remove old VibeTunnel.xcodeproj (renamed to VibeTunnel-Mac.xcodeproj) 2025-06-23 04:25:56 +02:00
Peter Steinberger
3bc0e4de08 Update scripts for VibeTunnel-Mac.xcodeproj rename and add Sparkle key to gitignore 2025-06-23 04:25:29 +02:00
Peter Steinberger
267173f448 Add CHANGELOG.md to mac directory for release script 2025-06-23 04:20:57 +02:00
Peter Steinberger
c47c412feb Prepare beta 3 release with build 110 2025-06-23 04:11:04 +02:00
Peter Steinberger
8c07b60940 Further improve vt script resilience 2025-06-23 03:20:36 +02:00
Peter Steinberger
456143185a Filter index paths from derived data finder 2025-06-23 03:01:23 +02:00
Peter Steinberger
382fcedd91 re-enable custom node 2025-06-23 02:56:40 +02:00
Mario Zechner
156f182ee5 Add executable path resolution to PTY manager
- Resolve command executables to absolute paths before spawning PTY
- Use 'which' command to find executables in PATH
- Handle absolute paths, relative paths, and PATH lookups
- Log the final resolved command for debugging
- Store resolved command in session info

This ensures consistent behavior regardless of how commands are specified
and helps with debugging by showing exact paths being executed.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 02:16:28 +02:00
Peter Steinberger
5a954377d6 fix build on macOS Tahoe 2025-06-23 01:30:36 +02:00
Peter Steinberger
fe5f4eaa23 Fix build script to handle missing hash file gracefully
- Change error to warning when hash file is not found
- Force full rebuild instead of failing when hash is missing
- This fixes build failures when the hash calculation phase hasn't run

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 01:03:51 +02:00
Peter Steinberger
15e18111af Improve server change detection 2025-06-23 00:18:37 +02:00
Mario Zechner
912909c68f Ignore Local.xcconfig 2025-06-22 19:21:38 +02:00
Mario Zechner
94ed322e83 fix: Ensure vibetunnel server dies when Mac app is killed
- Add synchronous wait in applicationWillTerminate to ensure server stops before app exits
- Implement parent process monitoring in server spawn script
- Server now monitors parent PID and self-terminates if parent dies
- Handles both graceful shutdown and force-quit scenarios

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 19:17:38 +02:00
Peter Steinberger
932beff906 Work on custom node installer 2025-06-22 16:46:08 +02:00
Peter Steinberger
47040e7ff8 fix port formatting 2025-06-22 16:04:52 +02:00
Peter Steinberger
87bc8e9f70 Better name for action 2025-06-22 16:04:21 +02:00
Peter Steinberger
0e8b0d199a Hack Warp Enter 2025-06-22 16:04:15 +02:00
Peter Steinberger
0aa728f3f5 Populate dock menu 2025-06-22 15:55:02 +02:00
Peter Steinberger
9f8e45c184 Hide window hack from dock 2025-06-22 15:55:02 +02:00
Peter Steinberger
1ffabb048b Add helper for differrent vt name 2025-06-22 15:55:02 +02:00
Peter Steinberger
b58524750b ensure dev team is picked up 2025-06-22 15:55:02 +02:00
Peter Steinberger
caaee6b114 local needs to be local 2025-06-22 15:55:02 +02:00
Peter Steinberger
8bcaf54ed1 remove empty stack 2025-06-22 15:55:02 +02:00
Peter Steinberger
81b766d0d6 Special handling for warp 2025-06-22 15:55:02 +02:00
Peter Steinberger
7013e41b6a fixes spacing 2025-06-22 15:55:02 +02:00
Peter Steinberger
e5d2564cb9 Revert "fix: Remove workspace schemes - use project schemes via workspace"
This reverts commit 22f2d2bfca.
2025-06-22 15:21:01 +02:00
Peter Steinberger
22f2d2bfca fix: Remove workspace schemes - use project schemes via workspace 2025-06-22 15:18:13 +02:00
Peter Steinberger
3bef6f82b2 check in schemes 2025-06-22 15:17:31 +02:00
Peter Steinberger
32436df59e Update CI and build scripts for project rename 2025-06-22 15:11:56 +02:00
Peter Steinberger
4ecb9ebb8c fix: Add -project flag to xcodebuild commands in CI 2025-06-22 15:02:46 +02:00
Peter Steinberger
7d447cf542 fix: Use project files directly in CI instead of workspace 2025-06-22 15:00:18 +02:00
Peter Steinberger
323e1944ac fix: Resolve dependencies at project level first in CI 2025-06-22 14:57:51 +02:00
Peter Steinberger
8e527c3c97 improve custom node docs 2025-06-22 14:46:34 +02:00
Peter Steinberger
17758c2a40 Move files to apple subdir 2025-06-22 14:35:42 +02:00
Peter Steinberger
a675daae94 Add global Apple workspace 2025-06-22 14:27:38 +02:00
Peter Steinberger
82b9d65d8f feat: Add Volta support to Node.js detection
- Add Volta path detection in build scripts
- Update install instructions to include Volta option
- Ensure both NVM and Volta users are supported
2025-06-22 11:53:15 +02:00
Peter Steinberger
180caf7e81 Add logic to use custom node compiler 2025-06-22 11:53:15 +02:00
Peter Steinberger
1449ce0c23 fix port having thousand separator 2025-06-22 11:53:00 +02:00
Peter Steinberger
6190090cde Add user notification permission explainer 2025-06-22 11:53:00 +02:00
Peter Steinberger
ba315226c2 Make server control a state machine 2025-06-22 11:53:00 +02:00
Peter Steinberger
bb462c8826 Better animations for welcome view 2025-06-22 11:53:00 +02:00
Peter Steinberger
997b4ab416 Improve port killer 2025-06-22 11:53:00 +02:00
Peter Steinberger
41d602d6d9 Make permission monitoring dependent on views 2025-06-22 11:53:00 +02:00
Peter Steinberger
a791bbede8 test fixes 2025-06-22 11:53:00 +02:00
Armin Ronacher
47eded4cb5 Add volta.sh support for node compilation 2025-06-22 10:29:36 +02:00
Peter Steinberger
c33c9ac729 chore: Remove NgrokServiceTests to eliminate expected test failures
- Delete NgrokServiceTests.swift which required auth token
- Simplify CI workflow by removing special handling for expected failures
- All tests now pass without any expected failures
2025-06-22 08:28:44 +02:00
Peter Steinberger
f4c82da2f6 fix: remove unused variable warning in SessionMonitorTests 2025-06-22 08:03:43 +02:00
Peter Steinberger
51722bdd7e fix: use proper Swift Testing skip mechanism in NgrokServiceTests
Replace TestFixtures.TestError.skip with #require macro for better Swift Testing compatibility
2025-06-22 07:56:10 +02:00
Peter Steinberger
865858ccac fix: Add missing TestError.skip case to fix Mac CI test failures
The NgrokServiceTests were failing in CI with "cannot find 'TestError' in scope"
because TestError.skip was being used but the skip case was not defined.

- Add TestError.skip(String) case to TestFixtures
- Update NgrokServiceTests to use TestFixtures.TestError.skip for proper namespacing
2025-06-22 07:48:35 +02:00
Peter Steinberger
eac6fb7146 test fix 2025-06-22 07:44:59 +02:00
Peter Steinberger
2484318f05 stop executing applescript once per second 2025-06-22 07:44:29 +02:00
Peter Steinberger
0b4f03ef78 test: modernize Mac tests to follow Swift Testing best practices
- Convert TerminalLaunchTests from XCTest to Swift Testing framework
- Update ServerManagerTests to handle test environment limitations
- Modernize SessionMonitorTests with class-based suite and proper lifecycle
- Fix test compilation issues and improve test resilience
- Use #expect and #require macros instead of XCTAssert
- Add proper tags for test organization
- Implement parameterized tests where appropriate
- Handle missing server binary gracefully in test environment

All tests now pass except NgrokServiceTests which requires auth token.
2025-06-22 07:42:28 +02:00
Peter Steinberger
324630ea17 speed up project build by comparing web hash 2025-06-22 07:16:52 +02:00
Peter Steinberger
954b6712aa improve logging 2025-06-22 07:16:38 +02:00
Peter Steinberger
d34f35e660 cleanup 2025-06-22 07:01:24 +02:00
Peter Steinberger
f6932ca9b5 Refactor AppleScriptExecutor to eliminate code duplication
- Extract ContinuationWrapper into a separate reusable class
- Create executeCore() method to consolidate AppleScript execution logic
- Refactor execute() and executeAsync() to use the shared core implementation
- Maintain all original behavior including timeout handling and thread safety
2025-06-22 06:58:57 +02:00
Mario Zechner
e912b65c9e Fix Node.js detection in build-bun-executable.sh for Xcode builds
Add common Node.js installation paths to PATH including Homebrew, NVM, n, and MacPorts locations. This matches the approach used in build-web-frontend.sh and ensures the script can find Node.js when running in Xcode's restricted environment.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 04:04:52 +02:00
Peter Steinberger
0e0ae4a6a9 Simplify mac scripts 2025-06-22 01:13:30 +02:00
Peter Steinberger
80f6104634 fixes warning 2025-06-22 00:00:53 +02:00
Mario Zechner
18a28992df Add comprehensive frontend component documentation
- Document all frontend components with JSDoc headers describing their purpose and events
- Add @fires and @listens tags for all component events with detailed parameter descriptions
- Update spec.md with complete Component Event Architecture section
- Add shared terminal-text-formatter.ts for consistent text formatting between client/server
- Implement event-driven activity detection replacing polling-based approach
- Add content-changed event to vibe-terminal-buffer for activity monitoring
- Remove ESC prompt detection in favor of general activity detection
- Add plain text endpoint with optional style formatting (/api/sessions/:id/text?styles)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 23:14:30 +02:00
Mario Zechner
5d932d7c3d Fix Xcode build scripts for Bun -> SEA transition. 2025-06-21 21:37:41 +02:00
Peter Steinberger
01e3c229ec add subtle back button 2025-06-21 19:17:24 +02:00
Peter Steinberger
95c00d683d move vt 2025-06-21 19:17:16 +02:00
Peter Steinberger
5100d3f2fb resilient vt 2025-06-21 19:06:27 +02:00
Peter Steinberger
d820a4b147 handle session id passing + better error messages 2025-06-21 18:55:34 +02:00
Peter Steinberger
5ee5cbb5ec Make scripts ugly but resilient 2025-06-21 18:08:00 +02:00
Mario Zechner
7c1023efe4 Fix web frontened build script for xcode step 2025-06-21 17:43:03 +02:00
Peter Steinberger
c9b86f6726 Bust cache on project reload 2025-06-21 16:11:35 +02:00
Peter Steinberger
a933e69b37 arm only 2025-06-21 16:11:34 +02:00
Peter Steinberger
382f108f72 update build scripts 2025-06-21 16:11:34 +02:00
Peter Steinberger
cdf22ae212 Improve cli installer logic 2025-06-21 16:11:34 +02:00
Peter Steinberger
f31d3c5fab Remove BunPrebuilts from git tracking
- Remove entire mac/Resources/BunPrebuilts/ directory from git
- Add directory to .gitignore
- These binaries should be generated/downloaded during build process
2025-06-21 14:44:26 +02:00
Peter Steinberger
3820f98e22 add tutorial 2025-06-21 14:43:00 +02:00
Peter Steinberger
a5b0354139 Burn everything with fire that is not node or swift. 2025-06-21 14:39:44 +02:00
Peter Steinberger
766819247c Prepare beta 3 2025-06-21 14:39:44 +02:00
Peter Steinberger
0a8eb8054c fix build script 2025-06-21 11:26:34 +02:00
Peter Steinberger
3479492ad3 update server code 2025-06-21 10:03:10 +02:00
Peter Steinberger
089d6e4e8e move resources 2025-06-21 10:02:50 +02:00
Peter Steinberger
d60bb8b95f move templates 2025-06-21 10:02:31 +02:00
Peter Steinberger
453c99ab90 Use web/src/fwd.ts when node server is active 2025-06-21 02:50:44 +02:00
Peter Steinberger
a2cdbb8816 Integrate node server, cleanup dead code 2025-06-21 02:49:38 +02:00
Peter Steinberger
a176ffeee1 fix mac build 2025-06-20 20:52:56 +02:00
Peter Steinberger
774379e8fc Improve window tracking 2025-06-20 20:25:29 +02:00
Peter Steinberger
00e38451b0 fixes main actor issues 2025-06-20 20:17:17 +02:00
Peter Steinberger
f55e5b731d raise cli version 2025-06-20 20:06:07 +02:00
Peter Steinberger
d0b08622fc remove build step for vt, now a symlink 2025-06-20 20:04:28 +02:00
Peter Steinberger
22eb5a2e3f Work on new session logic 2025-06-20 19:22:02 +02:00
Peter Steinberger
1519fbca16 more rust stuff to purge 2025-06-20 19:10:46 +02:00
Peter Steinberger
7e2b20f4bc kill remaining rust stuff 2025-06-20 19:09:39 +02:00
Peter Steinberger
f9e35e6eaf update mac to use go lib for terminal spawning 2025-06-20 19:09:04 +02:00
Peter Steinberger
bb9702e52d make window tracker open windows 2025-06-20 19:03:29 +02:00
Peter Steinberger
1a3a93ef8d Add window tracking for terminals 2025-06-20 18:25:30 +02:00
Peter Steinberger
891e184bb2 Improve padding for About 2025-06-20 16:55:54 +02:00
Peter Steinberger
3fb4a1fac4 Remove double debug toggle 2025-06-20 16:55:47 +02:00
Peter Steinberger
c6a9e84bec Add session details to menui 2025-06-20 16:34:22 +02:00
Peter Steinberger
f4a21d8459 Ensure CLI installer also installs go binary 2025-06-20 14:11:41 +02:00
Peter Steinberger
1dd8a55fc6 lint 2025-06-20 13:28:49 +02:00
Peter Steinberger
c704b2394a test: fix ServerManagerTests after server refactoring
- Remove references to deleted ServerProtocol and ServerMode
- Update tests to work with GoServer-only implementation
- Simplify mock server code that was commented out
- Update test expectations to match current server behavior
- Keep all critical tests functional with the new architecture
2025-06-20 13:22:15 +02:00