- Add backpressure handling for process.stdout.write() in PTY output forwarding
- Pause PTY output when stdout buffer is full
- Resume on drain event to prevent CPU spinning
- Add backpressure logging for socket writes in sendInput()
- Add backpressure logging for file stream writes in AsciinemaWriter
- Remove unused bell detection code (was already commented out)
These changes prevent the hanging issue when pasting large amounts of text
by properly handling stream backpressure instead of blindly writing data.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add claude-patch.ts to enable debugging Claude Code with Node.js --inspect flag
- Temporarily disable bell character handling in pty-manager.ts due to VS Code terminal hanging issue
- Fix TypeScript linter errors across test files (replace any types with proper interfaces)
The bell character handling was causing VS Code terminals to hang when pasting certain content.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated all e2e tests to use --no-auth flag instead of username/password
- Fixed terminal buffer test to handle little-endian encoding correctly
- Fixed buffer size expectations to handle optimized empty terminals
- Fixed logs test to allow reasonable size after clearing
- Added --no-hq-auth flag to bypass HQ authentication for testing
- Add POST /api/sessions/:sessionId/reset-size endpoint to reset terminal size when clients disconnect
- Implement reset-size control pipe command in PTY manager
- Update session-view component to call reset-size on unmount
- Add terminal resize event listener in fwd.ts to track terminal size changes
- Fix source maps configuration for development mode:
- Set inline source maps with embedded sources in esbuild config
- Add source map settings to TypeScript configs
- Set NODE_ENV to development for dev builds
This ensures external terminals resize back to their actual size when the last web client disconnects.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed alias regex to handle both 'alias name=value' and 'name=value' formats
- Added platform-specific shell execution with proper flags for Windows/Unix
- Skip alias resolution on Windows (not supported)
- Use expanded alias value instead of running the alias name
- PowerShell uses -NoProfile -Command, cmd.exe uses /C, Unix shells use -c/-i
- Unified all command resolution logic in ProcessUtils.resolveCommand()
- Simplified alias handling to use interactive shell execution
- Fixed alias execution by using 'zsh -i -c' for proper alias loading
- Removed duplicate resolution code from pty-manager
- Commands are now resolved in order: PATH -> aliases -> shell builtins
Replace ugly timestamp-based session names (session_1703123456789)
with human-readable format like "claude (~/Dev/vibetunnel/web)".
- Extract session naming logic into shared utility
- Update UI session creation to use same naming as CLI
- Consolidate abbreviatePath and generateSessionName functions
- Both CLI and UI sessions now use consistent readable names
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>