mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-03 10:55:54 +00:00
- 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>
1.1 KiB
1.1 KiB
VibeTunnel
Web-based terminal multiplexer with distributed architecture support.
Quick Start
npm install
npm run dev # Starts server + auto-rebuilds
Server Modes
# Standalone server
npm run dev
# HQ server (manages remote servers)
npm run dev -- --hq
# Remote server (connects to HQ)
npm run dev -- --hq-url http://hq-server:3000 --name remote1
Build & Test
npm run build # Production build
npm run lint # Check code style
npm run typecheck # Type checking
npm test # Run tests
fwd Tool
CLI that spawns PTY sessions integrated with VibeTunnel:
# Forward a command to VibeTunnel
npx tsx src/fwd.ts <command> [args...]
# Monitor-only mode (no input)
npx tsx src/fwd.ts --monitor-only <command>
Creates persistent sessions accessible via the web UI.
Architecture
- Server: Express + node-pty for terminal sessions
- Client: Lit web components + xterm.js
- Streaming: SSE for output, WebSocket for binary buffers
- Protocol: Binary-optimized terminal state synchronization