From 7725c48fb710bf477e6645d1e530513e117184cd Mon Sep 17 00:00:00 2001 From: Yummy-Yums <77977520+Yummy-Yums@users.noreply.github.com> Date: Fri, 1 Mar 2024 00:21:35 +0000 Subject: [PATCH] Reconnection Logic (#2743) * reconnection logic * prettier state.js --------- Co-authored-by: Masen Furer <m_github@0x26.net> --- reflex/.templates/web/utils/state.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/reflex/.templates/web/utils/state.js b/reflex/.templates/web/utils/state.js index f0051e582..51e8c6b8d 100644 --- a/reflex/.templates/web/utils/state.js +++ b/reflex/.templates/web/utils/state.js @@ -325,6 +325,17 @@ export const connect = async ( autoUnref: false, }); + function checkVisibility() { + if (document.visibilityState === "visible") { + if (!socket.current.connected) { + console.log("Socket is disconnected, attempting to reconnect "); + socket.current.connect(); + } else { + console.log("Socket is reconnected "); + } + } + } + // Once the socket is open, hydrate the page. socket.current.on("connect", () => { setConnectErrors([]); @@ -345,6 +356,8 @@ export const connect = async ( queueEvents(update.events, socket); } }); + + document.addEventListener("visibilitychange", checkVisibility); }; /**