Skip to content

Listeners del socket que sobreviven a la recarga - #12

Merged
alva-p merged 1 commit into
mainfrom
fix-listeners-recarga
Oct 25, 2026
Merged

alva-p merged 1 commit into
mainfrom
fix-listeners-recarga

Conversation

@alva-p

@alva-p alva-p commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator

socketService.on no hacía nada si el socket todavía no existía. Al abrir o recargar una página, los efectos de la página corren antes de que el SocketProvider cree la conexión, así que esos listeners se perdían. En desarrollo no se notaba porque StrictMode monta todo dos veces.

Lo que se veía en producción:

  • Al entrar directo a /lobbies (o recargarla), "Crear mesa" quedaba deshabilitado para siempre.
  • Al recargar en plena partida (UNO o truco), no se volvía a la mesa.

Ahora el servicio guarda los listeners y los engancha cuando crea el socket. El arreglo está en un solo lugar y cubre useSocket, useGame y useTruco.

Pruebas

Sobre el build de producción (vite build + vite preview) contra el server local:

  • Sin el arreglo, la prueba de entrar directo a /lobbies se cuelga con el botón deshabilitado (reproducido).
  • Con el arreglo:
    • el botón se habilita;
    • recargar en plena partida de truco vuelve a la mesa con las 3 cartas;
    • se juega una partida 2v2 completa;
    • UNO funciona igual.
  • tsc y build OK; el lint pasa de 15 a 14 errores.

🤖 Generated with Claude Code

socketService.on no hacía nada si el socket todavía no existía. Al abrir o
recargar una página, sus efectos corren antes de que el SocketProvider
conecte, así que en producción (sin el doble montaje de StrictMode)
esos listeners se perdían. Por ejemplo: 'Crear mesa' quedaba deshabilitado
al entrar directo a /lobbies, y al recargar en plena partida no se volvía a la mesa.
Ahora el servicio guarda los listeners y los engancha al crear el socket.

Co-Authored-By: Claude <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
chain-table Ready Ready Preview Oct 25, 2026 4:32am UTC

@alva-p
alva-p merged commit cafb334 into main Oct 25, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
Preview — cef5c8ae Deployed Oct 25, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant