diff --git a/web/src/hooks/useRealtime.ts b/web/src/hooks/useRealtime.ts index 16f8a1e..9f2a09b 100644 --- a/web/src/hooks/useRealtime.ts +++ b/web/src/hooks/useRealtime.ts @@ -256,7 +256,7 @@ export function useRealtime() { } }; - ws.onclose = () => { + ws.onclose = (closeEvent) => { if (heartbeatIntervalRef.current !== null) { window.clearInterval(heartbeatIntervalRef.current); heartbeatIntervalRef.current = null; @@ -269,6 +269,11 @@ export function useRealtime() { window.clearInterval(reconcileIntervalRef.current); reconcileIntervalRef.current = null; } + if (closeEvent.code === 4401 || closeEvent.code === 1008) { + manualCloseRef.current = true; + useAuthStore.getState().logout(); + return; + } if (manualCloseRef.current) { return; }