From 607c7a98a17bee2fac6d79b78369ecec6673a17a Mon Sep 17 00:00:00 2001 From: talksik Date: Sun, 12 Jun 2022 13:55:38 -0500 Subject: [PATCH] potentially solving disconnection on idling --- .../desktop/src/providers/SocketProvider.tsx | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/packages/desktop/src/providers/SocketProvider.tsx b/packages/desktop/src/providers/SocketProvider.tsx index 337e9ee..f06623c 100644 --- a/packages/desktop/src/providers/SocketProvider.tsx +++ b/packages/desktop/src/providers/SocketProvider.tsx @@ -19,22 +19,28 @@ export function SocketProvider({ children }: { children: React.ReactNode }) { const [$ws, set$ws] = useState(null); - const initiateSocketStabilityListeners = useCallback((socketConnection: Socket) => { - socketConnection.on('connect', () => { - toast.success('sockets connected'); - }); + const initiateSocketStabilityListeners = useCallback( + (socketConnection: Socket) => { + socketConnection.on('connect', () => { + toast.success('sockets connected'); + }); - socketConnection.io.on('close', () => { - console.error('SOCKET | connection closed likely due to idling or manual disconnect'); - toast('unplugging'); - }); + socketConnection.io.on('close', () => { + console.error('SOCKET | connection closed likely due to idling or manual disconnect'); + toast('unplugging'); - // client-side errors - socketConnection.on('connect_error', (err) => { - console.error(`SOCKETS | ${err.message}`); - toast.error('sorry...this is our bad...please refresh with cmd + r'); - }); - }, []); + socketConnection.disconnect(); + set$ws(undefined); + }); + + // client-side errors + socketConnection.on('connect_error', (err) => { + console.error(`SOCKETS | ${err.message}`); + toast.error('sorry...this is our bad...please refresh with cmd + r'); + }); + }, + [set$ws], + ); useEffect(() => { if (!jwtToken) {