vibetunnel/web
Mario Zechner 52feefddf2 fix: Prevent duplicate notifications and improve latency
- Only use file watcher if no direct notifications are available
- Remove unnecessary deduplication logic
- Clean up logging for direct notifications
- Wait 100ms to detect if we're getting direct notifications before
  starting file watcher (for cross-process scenarios)

This should eliminate duplicate broadcasts and improve latency for
server-created sessions while maintaining compatibility with fwd.ts

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 20:36:30 +02:00
..
scripts fix: Prevent duplicate notifications and improve latency 2025-06-22 20:36:30 +02:00
src fix: Prevent duplicate notifications and improve latency 2025-06-22 20:36:30 +02:00
.gitignore add custom node folder to ignore 2025-06-22 11:53:00 +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
build-custom-node.js improve custom node docs 2025-06-22 14:46:34 +02:00
build-native.js Work on custom node installer 2025-06-22 16:46:08 +02:00
CLAUDE.md CLAUDE.md clean-ups 2025-06-21 15:10:17 +02:00
custom-node.md improve custom node docs 2025-06-22 14:46:34 +02:00
eslint.config.js lint web 2025-06-17 01:03:37 +02:00
package-lock.json add postject 2025-06-22 01:13:23 +02:00
package.json fix: Use verbose test reporter in CI for better debugging 2025-06-22 07:38:29 +02:00
postcss.config.js Add complete web frontend for terminal multiplexer 2025-06-16 00:29:33 +02:00
README.md Update docs to reflect Node.js SEA instead of Bun 2025-06-21 21:49:12 +02:00
spec.md refactor: improve PTY manager cleanup and fwd.ts architecture 2025-06-22 14:16:06 +02:00
tailwind.config.js Web design tweaks 2025-06-20 06:59:22 +02:00
tsconfig.client.json Reorganize server structure for clarity 2025-06-21 16:44:56 +02:00
tsconfig.json Add complete web frontend for terminal multiplexer 2025-06-16 00:29:33 +02:00
vitest.config.ts Clean up build system and remove unused dependencies 2025-06-21 17:04:52 +02:00

VibeTunnel Web

Web terminal interface and server for VibeTunnel.

Quick Start

Production users: Use the pre-built VibeTunnel executable from the main app.

Development

npm install
npm run dev        # Watch mode: server + client
npm run dev:client # Watch mode: client only (for debugging server)

Open http://localhost:3000

Build Commands

npm run clean      # Remove build artifacts
npm run build      # Build everything (including native executable)
npm run lint       # Check code style
npm run lint:fix   # Fix code style
npm run typecheck  # Type checking
npm run test       # Run all tests (unit + e2e)
npm run format     # Format code

Production Build

npm run build          # Creates Node.js SEA executable
./native/vibetunnel    # Run standalone executable (no Node.js required)

Architecture

See spec.md for detailed architecture documentation.

Key Features

  • Terminal sessions via node-pty
  • Real-time streaming (SSE + WebSocket)
  • Binary-optimized buffer updates
  • Multi-session support
  • File browser integration