vibetunnel/web
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
..
scripts Fix cross-platform build issues in web package 2025-06-19 01:43:27 +02:00
src fix: handle HQ mode shutdown gracefully to prevent e2e test errors 2025-06-20 23:56:15 +02:00
.gitignore Remove lint_output.txt and add to gitignore 2025-06-18 23:46:22 +02:00
.prettierignore lint web 2025-06-17 01:03:37 +02:00
.prettierrc.json lint web 2025-06-17 01:03:37 +02:00
CLAUDE.md fix: handle HQ mode shutdown gracefully to prevent e2e test errors 2025-06-20 23:56:15 +02:00
eslint.config.js lint web 2025-06-17 01:03:37 +02:00
package-lock.json refactor: modularize server architecture and consolidate codebase 2025-06-20 22:44:40 +02:00
package.json refactor: modularize server architecture and consolidate codebase 2025-06-20 22:44:40 +02:00
postcss.config.js Add complete web frontend for terminal multiplexer 2025-06-16 00:29:33 +02:00
README.md fix: handle HQ mode shutdown gracefully to prevent e2e test errors 2025-06-20 23:56:15 +02:00
spec.md refactor: modularize server architecture and consolidate codebase 2025-06-20 22:44:40 +02:00
tailwind.config.js Web design tweaks 2025-06-20 06:59:22 +02:00
tsconfig.client.json Web WIP 2025-06-16 03:35:14 +02:00
tsconfig.json Add complete web frontend for terminal multiplexer 2025-06-16 00:29:33 +02:00
vitest.config.e2e.ts refactor: modularize server architecture and consolidate codebase 2025-06-20 22:44:40 +02:00
vitest.config.ts feat: add integration tests and fix compatibility issues 2025-06-18 19:39:42 +02:00
vitest.d.ts fix: apply formatters to pass CI checks (#19) 2025-06-19 01:39:27 +02:00

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