- Use native WS ping frames for heartbeat so idle browser clients are not incorrectly disconnected (browser auto-responds to native ping with pong) - Pass runtime config to buildMuxWsUrl() so dynamic port/proxy path set via TERMINAL_WS_PATH env var is actually used (was fetched but never consumed) - Delay initial WS connect until runtime config fetch resolves, preventing race condition on first load - shutdown() now terminates all mux clients and closes the WSS, preventing orphaned PTY processes on restart - ws 'error' handler now unsubscribes terminal callbacks alongside session subscription to prevent leaks in edge cases where 'close' does not follow Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __tests__ | ||
| direct-terminal-ws.ts | ||
| mux-websocket.ts | ||
| start-all.ts | ||
| terminal-observability.ts | ||
| tmux-utils.ts | ||