File: frontend/src/hooks/useUIChannel.ts:35-39
The onclose handler calls setTimeout(connect, 1000) without tracking pending timeouts. Multiple disconnects schedule multiple connect() calls, leading to parallel WebSocket connections.
Impact: Connection storms after network instability; duplicate message delivery; memory leaks from abandoned socket objects.
File:
frontend/src/hooks/useUIChannel.ts:35-39The
onclosehandler callssetTimeout(connect, 1000)without tracking pending timeouts. Multiple disconnects schedule multipleconnect()calls, leading to parallel WebSocket connections.Impact: Connection storms after network instability; duplicate message delivery; memory leaks from abandoned socket objects.