fix: Resolver bucle infinito de reconexiones

- Agregar bandera hasReconnected para ejecutar reconexión solo una vez
- Evita que el useEffect se ejecute infinitamente
- Reduce carga del servidor significativamente
This commit is contained in:
Resistencia Dev
2025-12-22 17:16:16 +01:00
parent ef9d772441
commit e9b4390db6

View File

@@ -37,10 +37,11 @@ export default function Home() {
const [passwordPromptRoomId, setPasswordPromptRoomId] = useState<string | null>(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(() => {