Skip to content

Lo escrito sin conexión sobrevive a una recarga y se queda en su sala - #104

Merged
ErickUser1 merged 1 commit into
mainfrom
fix/cola-sin-conexion
Sep 24, 2026
Merged

ErickUser1 merged 1 commit into
mainfrom
fix/cola-sin-conexion

Conversation

@ErickUser1

Copy link
Copy Markdown
Owner

Qué pasaba

Un mensaje escrito sin conexión queda en cola con la nota "se manda al reconectar", pero esa cola vivía solo en memoria (web/src/App.tsx).

  • Recargar antes de que volviera la conexión la borraba. Como la caja ya se había vaciado, el mensaje desaparecía sin rastro. Le pasó a Erick en producción.
  • Cambiarse de sala sin conexión también lo perdía.

Cambios (solo web/src/App.tsx)

  • La cola se guarda en sessionStorage, una por sala (multi.cola.<sala>).
    • Se recupera al entrar a la sala y se pinta como "enviando".
    • Se manda con el joined de esa sala, igual que antes.
    • Lo que quedó en otra sala se queda allá.
  • sessionStorage y no localStorage: el mensaje es de la pestaña que lo escribió, y no debe reaparecer mañana en otra.
  • Sin storage disponible, se queda en memoria como antes.

Cómo se probó

Playwright contra el server real, con un proxy TCP entre el navegador y el server para cortar y regresar "el internet" sin tocar el server:

Caso main rama
A. Vuelve la conexión sin recargar llega llega
B. Se recarga sin conexión y luego vuelve se pierde llega
C. Se escribe en A y se cambia a B sin conexión se pierde no llega a B; llega a A al regresar

Además, npm run typecheck.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4


Generated by Claude Code

La cola de mensajes escritos sin conexion vivia solo en memoria: recargar
antes de que volviera la conexion la borraba, y como la caja ya se habia
vaciado el mensaje desaparecia sin rastro. Cambiarse de sala sin conexion
tambien lo perdia.

Ahora la cola se guarda en la pestana (sessionStorage), una por sala: se
recupera al entrar, se manda con el joined de esa sala, y lo de otra sala se
queda alla.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4
@ErickUser1
ErickUser1 merged commit 79da2a5 into main Sep 24, 2026
2 checks passed
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.

2 participants