mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-03 10:55:54 +00:00
Implement WriteQueue to serialize all async write operations and handle backpressure: - Add shared WriteQueue utility class for serializing async operations - Move write queue inside AsciinemaWriter to handle all write methods - Add backpressure handling using stream 'drain' events - Ensure all AsciinemaWriter methods (writeHeader, writeRawJson) use queue - Add drain() method to wait for pending writes on close - Store stdout queue reference in PtySession for cleanup on process exit This prevents race conditions where concurrent fs.fsync calls could interleave, causing out-of-order disk flushes and potential data corruption. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .claude | ||
| docs | ||
| scripts | ||
| src | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| biome.json | ||
| build-custom-node.js | ||
| build-native-clean.sh | ||
| build-native.js | ||
| CLAUDE.md | ||
| custom-node.md | ||
| fwd-test.ts | ||
| LOGGING_STYLE_GUIDE.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| postcss.config.js | ||
| README.md | ||
| SECURITY.md | ||
| spec.md | ||
| tailwind.config.js | ||
| test-results.json | ||
| tsconfig.base.json | ||
| tsconfig.client.json | ||
| tsconfig.json | ||
| tsconfig.server.json | ||
| tsconfig.sw.json | ||
| tsconfig.test.json | ||
| vitest.config.ts | ||
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)
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