vibetunnel/web
Helmut Januschka fc162ad55c
Prevent recursive VibeTunnel sessions (GitHub #95) (#104)
* Prevent recursive VibeTunnel sessions (GitHub #95)

Added detection and prevention of nested VibeTunnel sessions to avoid
recursive 'vt' command execution.

Changes:
- Set INSIDE_VIBETUNNEL and VIBETUNNEL_SESSION environment variables when creating PTY sessions
- Added check in vt script to detect if already inside a VibeTunnel session
- Shows helpful error message when recursive session is attempted

This prevents the confusing behavior where users could run 'vt' inside a
VibeTunnel session, creating nested terminal instances. Now users get a
clear error message explaining they're already in a VibeTunnel session.

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

Co-Authored-By: Claude <noreply@anthropic.com>

* Improve recursive session prevention based on PR feedback

- Consolidate to single environment variable VIBETUNNEL_SESSION_ID
- Add session ID for debugging purposes as requested
- Show session ID in error message for better user feedback
- Remove redundant environment variables (INSIDE_VIBETUNNEL, VIBETUNNEL_SESSION)

This addresses feedback from PR #104 to use a single, more informative
environment variable that serves both purposes: preventing recursion
and providing debugging information.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-27 21:05:36 +02:00
..
.claude Implement comprehensive user authentication with SSH key management (#43) 2025-06-24 00:31:13 +02:00
docs debug log 2025-06-25 02:11:51 +02:00
scripts Migrate to Microsoft node-pty v1.1.0-beta34 (#87) 2025-06-26 23:10:05 +02:00
src Prevent recursive VibeTunnel sessions (GitHub #95) (#104) 2025-06-27 21:05:36 +02:00
.gitignore Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
.npmrc Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
.prettierignore lint web 2025-06-17 01:03:37 +02:00
.prettierrc.json ocx compiler for prettier for 3x speed 2025-06-25 12:22:13 +02:00
biome.json Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
build-custom-node.js Migrate to Microsoft node-pty v1.1.0-beta34 (#87) 2025-06-26 23:10:05 +02:00
build-native-clean.sh add script that filters build warnings 2025-06-25 04:21:34 +02:00
build-native.js Migrate to Microsoft node-pty v1.1.0-beta34 (#87) 2025-06-26 23:10:05 +02:00
CLAUDE.md Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
coverage-results.json Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
coverage-summary-formatted.json fix: handle non-finite values in terminal resize calculations 2025-06-25 02:11:18 +02:00
coverage.json fix: resolve remaining test failures in frontend components 2025-06-25 02:11:18 +02:00
custom-node.md improve custom node docs 2025-06-22 14:46:34 +02:00
FRONTEND_LOGGING_UPDATE_PROMPT.md feat: Add unified logging infrastructure with web viewer 2025-06-23 00:05:43 +02:00
fwd-test.ts Migrate to Microsoft node-pty v1.1.0-beta34 (#87) 2025-06-26 23:10:05 +02:00
LOGGING_STYLE_GUIDE.md feat: Add structured logging system with unified style 2025-06-22 22:40:00 +02:00
package.json add postinstall step to patch native libs 2025-06-27 00:18:20 +02:00
pnpm-lock.yaml Migrate to Microsoft node-pty v1.1.0-beta34 (#87) 2025-06-26 23:10:05 +02:00
postcss.config.js Add complete web frontend for terminal multiplexer 2025-06-16 00:29:33 +02:00
README.md Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
SECURITY.md Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
spec.md Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
tailwind.config.js add missing background 2025-06-24 03:25:50 +02:00
test-results.json Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
tsconfig.base.json Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
tsconfig.client.json Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
tsconfig.json Unfuck tsconfigs + VS Code + eslint + tsc, fix type errors 2025-06-24 01:51:46 +02:00
tsconfig.server.json Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
tsconfig.sw.json Add comprehensive server tests and switch to Biome linter (#73) 2025-06-24 18:51:38 +02:00
tsconfig.test.json Unfuck tsconfigs + VS Code + eslint + tsc, fix type errors 2025-06-24 01:51:46 +02:00
vitest.config.ts Fix URL link detection for wrapped URLs on mobile terminals (#85) 2025-06-26 22:37:49 +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

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

Open http://localhost:3000

Build Commands

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

Production Build

pnpm 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