- 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__ | ||
| app | ||
| components | ||
| hooks | ||
| lib | ||
| providers | ||
| vitest.d.ts | ||