From e9b4390db64b789ff142d1631df2b33b9b002030 Mon Sep 17 00:00:00 2001 From: Resistencia Dev Date: Mon, 22 Dec 2025 17:16:16 +0100 Subject: [PATCH] fix: Resolver bucle infinito de reconexiones MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Agregar bandera hasReconnected para ejecutar reconexión solo una vez - Evita que el useEffect se ejecute infinitamente - Reduce carga del servidor significativamente --- client/src/app/page.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/client/src/app/page.tsx b/client/src/app/page.tsx index b7130fe..c994084 100644 --- a/client/src/app/page.tsx +++ b/client/src/app/page.tsx @@ -37,10 +37,11 @@ export default function Home() { const [passwordPromptRoomId, setPasswordPromptRoomId] = useState(null); const [joinPassword, setJoinPassword] = useState(''); + const [hasReconnected, setHasReconnected] = useState(false); - // Restaurar sesión al cargar + // Restaurar sesión al cargar - SOLO UNA VEZ useEffect(() => { - if (session && isConnected) { + if (session && isConnected && !hasReconnected) { setPlayerName(session.playerName); setFullPlayerName(session.fullPlayerName); setView(session.currentView); @@ -51,8 +52,10 @@ export default function Home() { } else if (session.currentView === 'lobby') { actions.refreshRooms(); } + + setHasReconnected(true); } - }, [session, isConnected]); + }, [session, isConnected, hasReconnected]); // Efecto para cambiar a vista de juego cuando el servidor nos une useEffect(() => {