Commit graph

815 commits

Author SHA1 Message Date
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
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
3bda4ec9f0 ignore bun stuff 2025-06-21 14:40:55 +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
5a27021147 improve term support 2025-06-21 14:39:44 +02:00
Mario Zechner
238f59233c Go stuff, to be killed. 2025-06-21 14:33:00 +02:00
Helmut Januschka
0068868d1a fix watch:server script path
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-21 11:38:41 +02:00
Peter Steinberger
0a8eb8054c fix build script 2025-06-21 11:26:34 +02:00
Peter Steinberger
dfc3d48dfa terminal work 2025-06-21 10:53:58 +02:00
Peter Steinberger
4c954308d6 add color mapper 2025-06-21 10:03:16 +02:00
Peter Steinberger
3479492ad3 update server code 2025-06-21 10:03:10 +02:00
Peter Steinberger
9caff4180e add bun 2025-06-21 10:02:57 +02:00
Peter Steinberger
089d6e4e8e move resources 2025-06-21 10:02:50 +02:00
Peter Steinberger
8616a655df fix bun startup 2025-06-21 10:02:37 +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
a2c9f0e0d8 downgrade chalk to make Xcode integration easier 2025-06-21 02:50:44 +02:00
Peter Steinberger
6729013b00 create session sheet animation 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
6ce1786c5c port changes from node 2025-06-21 02:49:38 +02:00
Peter Steinberger
3a77bfe2c6 Improve structure to more closely map node 2025-06-21 02:49:38 +02:00
Mario Zechner
8d5fd5457c Bun native build, unified entry point for native build. 2025-06-21 01:33:22 +02:00
Mario Zechner
508313a9bd fix: update CSS watch path from src/input.css to src/client/styles.css
The CSS file was moved but the watch:css script wasn't updated, causing npm run dev to fail.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 23:56:15 +02:00
Mario Zechner
b1718c27fa fix: handle HQ mode shutdown gracefully to prevent e2e test errors
- Add global shutdown state tracking via shutdown-state.ts module
- Update refresh-sessions endpoint to return 503 during shutdown
- Skip HQ notifications in control-dir-watcher during shutdown
- Disable remote health checks during server shutdown
- Suppress expected connection errors when servers are shutting down

This prevents the flood of "Failed to refresh sessions" and "Failed to
notify HQ" errors that were appearing in the HQ e2e test logs when
servers were shutting down.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 23:56:15 +02:00
Mario Zechner
f86d089226 fix: improve terminal rendering for cursor, inverse video, and overline
- Fixed cursor rendering with inverse video by applying cursor styling
  after inverse processing to ensure it takes precedence
- Added missing overline attribute support (isOverline() → .overline class)
- Improved consistency by applying all persistent styles after inverse
  video processing, which clears and rebuilds the style string

This fixes multiple edge cases in terminal rendering including cursor
visibility in inverted text and proper text decoration support.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 22:56:11 +02:00
Mario Zechner
dc2e72e052 fix: handle inverse video rendering for nano's white bar
Fixed the terminal renderer to properly handle inverse video attributes
when no explicit colors are set. Nano's header bar uses SGR 7 (inverse)
without explicit foreground/background colors, which now correctly swaps
the default terminal colors (#e4e4e4 foreground, #0a0a0a background).

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 22:50:27 +02:00
Mario Zechner
5593ee39ef refactor: modularize server architecture and consolidate codebase
- Restructure server code into modular architecture under src/server/
  - middleware/: Authentication handling
  - pty/: PTY management consolidation
  - routes/: API endpoint handlers
  - services/: Core services (terminal, HQ, streaming)
- Consolidate 20+ scattered files into organized modules
- Replace unit/integration tests with comprehensive E2E testing
- Add spec.md as codebase navigation guide
- Update build paths for new CSS location (styles.css)
- Add chalk dependency for improved terminal output
- Simplify server entry point to use modular loader
- Update CLAUDE.md with spec.md regeneration instructions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-20 22:44:40 +02:00
Peter Steinberger
fd7a874ee5 native OS event APIs (epoll/kqueue) for true event-driven I/O 2025-06-20 21:12:37 +02:00
Peter Steinberger
e32a127d30 fix: Add missing scheme parameter to xcodebuild resolve dependencies
The CI was failing because xcodebuild requires a scheme when using a workspace.
Added -scheme VibeTunnel to the resolve dependencies command.
2025-06-20 20:56:05 +02:00
Peter Steinberger
a176ffeee1 fix mac build 2025-06-20 20:52:56 +02:00
Peter Steinberger
4de657fc3e don't check in binary 2025-06-20 20:50:37 +02:00
Peter Steinberger
403bfe9a38 implement binary protocol 2025-06-20 20:49:24 +02:00
Peter Steinberger
e43ef5ad49 implement binary protocol, reduce buffers, fixes an echo race 2025-06-20 20:49:02 +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