Compare commits

..

2 Commits

Author SHA1 Message Date
alex ba76f09a1c Merge branch 'dev' of ssh://git.commumedia.org:2222/alex/headquarter into dev 2026-05-24 12:59:36 +00:00
alex 8b08c3886c fix: prevent reconnection loop on concurrent connection close
- Don't reconnect when server closes old connection with code 4000
- Code 4000 means new connection was established, not an error
- Prevents infinite reconnection loop between old/new connections

Refs: terminal switching between 4000 error and connected
2026-05-24 12:59:28 +00:00
+5 -1
View File
@@ -133,7 +133,7 @@ export const TerminalComponent: React.FC<TerminalProps> = ({
heartbeatCheckRef.current = null;
}
if (event.code !== 1000) {
if (event.code !== 1000 && event.code !== 4000) {
setError(`Connection closed (code: ${event.code})`);
// Attempt reconnection
@@ -146,6 +146,10 @@ export const TerminalComponent: React.FC<TerminalProps> = ({
}
}, delay);
}
} else if (event.code === 4000) {
// Server closed old connection for concurrent connection - don't reconnect
// The new connection is already established
console.log("Old WebSocket closed by server (new connection established)");
}
};