vibetunnel/web/README.md
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

1.1 KiB

VibeTunnel

Web-based terminal multiplexer with distributed architecture support.

Quick Start

npm install
npm run dev   # Starts server + auto-rebuilds

Open http://localhost:3000

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