From 4179ec9c49bf4032b8b0bf1f4d095ae7a29879e5 Mon Sep 17 00:00:00 2001
From: Masen Furer <m_github@0x26.net>
Date: Fri, 31 Jan 2025 16:22:00 -0800
Subject: [PATCH] only start the event loop when the socket is set or we're not
 stateful

---
 reflex/.templates/web/utils/state.js | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/reflex/.templates/web/utils/state.js b/reflex/.templates/web/utils/state.js
index 947c75c4b..d9eca3ab1 100644
--- a/reflex/.templates/web/utils/state.js
+++ b/reflex/.templates/web/utils/state.js
@@ -839,7 +839,7 @@ export const useEventLoop = (
         socket.current.disconnect();
       }
     };
-  }, [isBackendDisabled]);
+  }, []);
 
   // Main event loop.
   useEffect(() => {
@@ -847,13 +847,15 @@ export const useEventLoop = (
     if (!router.isReady) {
       return;
     }
-    (async () => {
-      // Process all outstanding events.
-      while (event_queue.length > 0 && !event_processing) {
-        await processEvent(socket.current);
-      }
-    })();
-  });
+    if (socket.current || !isStateful()) {
+      (async () => {
+        // Process all outstanding events.
+        while (event_queue.length > 0 && !event_processing) {
+          await processEvent(socket.current);
+        }
+      })();
+    }
+  }, [socket]);
 
   // localStorage event handling
   useEffect(() => {