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 [passwordPromptRoomId, setPasswordPromptRoomId] = useState<string | null>(null);
const [joinPassword, setJoinPassword] = useState(''); const [joinPassword, setJoinPassword] = useState('');
const [hasReconnected, setHasReconnected] = useState(false);
// Restaurar sesión al cargar // Restaurar sesión al cargar - SOLO UNA VEZ
useEffect(() => { useEffect(() => {
if (session && isConnected) { if (session && isConnected && !hasReconnected) {
setPlayerName(session.playerName); setPlayerName(session.playerName);
setFullPlayerName(session.fullPlayerName); setFullPlayerName(session.fullPlayerName);
setView(session.currentView); setView(session.currentView);
@@ -51,8 +52,10 @@ export default function Home() {
} else if (session.currentView === 'lobby') { } else if (session.currentView === 'lobby') {
actions.refreshRooms(); actions.refreshRooms();
} }
setHasReconnected(true);
} }
}, [session, isConnected]); }, [session, isConnected, hasReconnected]);
// Efecto para cambiar a vista de juego cuando el servidor nos une // Efecto para cambiar a vista de juego cuando el servidor nos une
useEffect(() => { useEffect(() => {