From 2efce0eb03c9511e7cd0aa814c364f6216e89e28 Mon Sep 17 00:00:00 2001 From: Fringg Date: Tue, 17 Feb 2026 10:36:38 +0300 Subject: [PATCH] fix: stop WS reconnect loop on auth rejection (code 1008) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the server closes WebSocket with 1008 (invalid token), the client no longer retries — eliminates log spam from stale sessions. --- src/providers/WebSocketProvider.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/providers/WebSocketProvider.tsx b/src/providers/WebSocketProvider.tsx index 3117f47..e4d3445 100644 --- a/src/providers/WebSocketProvider.tsx +++ b/src/providers/WebSocketProvider.tsx @@ -116,6 +116,12 @@ export function WebSocketProvider({ children }: { children: React.ReactNode }) { pingIntervalRef.current = null; } + // Don't reconnect on auth failures (1008 = Policy Violation / invalid token) + if (event.code === 1008) { + if (isDev) console.log('[WS] Auth rejected, not reconnecting'); + return; + } + // Attempt to reconnect if not closed intentionally if (event.code !== 1000 && reconnectAttemptsRef.current < maxReconnectAttempts) { const delay = Math.min(