Commit graph

851 commits

Author SHA1 Message Date
Peter Steinberger
2484318f05 stop executing applescript once per second 2025-06-22 07:44:29 +02:00
Peter Steinberger
be1112d7e9 fix: properly configure iOS tests to run on iOS simulators
- Add VibeTunnelTests target to Xcode project
- Configure test target for iOS 18.0 deployment
- Enable Swift Testing framework in build settings
- Create proper test scheme for running tests
- Add helper script for running tests via xcodebuild

Tests should now be run through Xcode (Cmd+U) on iOS simulators,
not via swift test which incorrectly runs them on macOS.
2025-06-22 07:42:59 +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
4876b472b5 fix: Use verbose test reporter in CI for better debugging
Added test:ci script with verbose reporter to help diagnose test
failures in CI environment. Also set CI environment variable.
2025-06-22 07:38:29 +02:00
Peter Steinberger
163e1b6f03 fix: Add CI-specific build script to skip native executable build
The Node.js CI build was failing because it tried to build the native
executable which requires postject and other tools that may not be
available in all CI environments. Created a separate build:ci script
that skips the native build step for CI.
2025-06-22 07:34:59 +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
71397e1320 remove rust references 2025-06-22 07:16:28 +02:00
Peter Steinberger
8145ccf14e fix server throwing when cleaning exited 2025-06-22 07:01:34 +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
bef58a61d9 add postject 2025-06-22 01:13:23 +02:00
Peter Steinberger
367d907ef1 We should never skip this 2025-06-22 01:13:16 +02:00
Peter Steinberger
426b9f7338 styling 2025-06-22 00:01:04 +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
908c2d0375 Fix help text flickering in session list
- Only show loading state on initial load, not on periodic refreshes
- Prevents "Loading sessions..." from briefly appearing every 3 seconds
- Help text now remains stable after first load

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 22:20:23 +02:00
Mario Zechner
212be407a2 Fix terminal spawn fallback for socket connection failures
- Move spawn_terminal logic after remote forwarding to properly handle remotes
- Add spawn_terminal parameter to remote forwarding requests
- Handle ECONNREFUSED when socket exists but no listener is active
- Gracefully fall back to normal PTY spawn in all failure cases

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 22:02:27 +02:00
Mario Zechner
f0fd625243 Update docs to reflect Node.js SEA instead of Bun
- Update spec.md build system section with Node.js SEA details
- Update README.md production build section to clarify SEA executable
- Both files now correctly reflect the transition from Bun to Node.js

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 21:49:12 +02:00
Mario Zechner
5d932d7c3d Fix Xcode build scripts for Bun -> SEA transition. 2025-06-21 21:37:41 +02:00
Mario Zechner
5ede1a50e0 Clean-up cli.ts 2025-06-21 21:29:15 +02:00
Mario Zechner
c7153769a8 Bun deleted, Nodejs is new king. Xcode not yet updated. 2025-06-21 21:21:11 +02:00
Mario Zechner
8e62137820 Node SEA build WIP 2025-06-21 20:54:57 +02:00
Peter Steinberger
0a9c28ae8c ios app work 2025-06-21 19:17: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
e82c633a9a make file browser work without session 2025-06-21 19:06:19 +02:00
Peter Steinberger
16bc60b379 style and fix file browser 2025-06-21 18:58:42 +02:00
Peter Steinberger
d820a4b147 handle session id passing + better error messages 2025-06-21 18:55:34 +02:00
Peter Steinberger
34fc38d13f aff fs route 2025-06-21 18:08:06 +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
4083c8132a add missing message type in frontend 2025-06-21 17:16:21 +02:00
Mario Zechner
5e9efb496e Package lock update 2025-06-21 17:08:25 +02:00
Mario Zechner
5180298bb5 Clean up build system and remove unused dependencies
- Remove all Jest-related dependencies (using Vitest)
- Remove pre-commit hooks (husky, lint-staged) and related files
- Consolidate test configuration into single vitest.config.ts
- Fix build-native.js to use correct entry point (src/cli.ts)
- Add bun.lock to .gitignore (generated during native build)
- Update README.md with simplified, accurate documentation
- Make npm run build include native executable build
- Remove unused type declarations and test setup files

The build system is now minimal, clean, and consistent.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 17:04:52 +02:00
Mario Zechner
9f3fcb3bb8 Simplify and clean up build system
- Consolidate complex npm scripts into minimal, clear commands
- Remove confusing bundle:*, watch:*, ensure:dirs scripts
- Add format:check script for CI compatibility
- Add @types/mime-types dev dependency to fix TypeScript errors
- Scripts are now cross-platform using Node.js instead of shell commands

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 16:48:47 +02:00
Mario Zechner
d4b8748b22 Reorganize server structure for clarity
- Rename index.ts to cli.ts as single entry point
- Merge app.ts and shutdown-state.ts into server.ts
- Update all imports and references to use new structure
- Update e2e tests and dev script to spawn via cli.ts
- Remove execution code from server.ts (only cli.ts executes)
- Clean up tsconfig.client.json exclude path

This creates a cleaner separation where cli.ts is the only entry
point that decides whether to run server or forward mode.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 16:44:56 +02:00
Peter Steinberger
c9b86f6726 Bust cache on project reload 2025-06-21 16:11:35 +02:00
Peter Steinberger
db8f4ffbeb Add first iteration of file browser 2025-06-21 16:11:35 +02:00
Peter Steinberger
eab7a6f833 M1+ 2025-06-21 16:11:35 +02:00
Peter Steinberger
a933e69b37 arm only 2025-06-21 16:11:34 +02:00
Peter Steinberger
6386c88fa4 burn the garbage 2025-06-21 16:11:34 +02:00
Peter Steinberger
382f108f72 update build scripts 2025-06-21 16:11:34 +02:00
Peter Steinberger
f3dbfab510 update and add assets 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
ff6c779bcf unused 2025-06-21 16:11:34 +02:00
Mario Zechner
f1d295a13f CLAUDE.md clean-ups 2025-06-21 15:10:17 +02:00