Skip to content

Fix private room reconnect recovery - #179

Merged
coder13 merged 1 commit into
masterfrom
agent/private-room-rejoin
Jul 12, 2026
Merged

Fix private room reconnect recovery#179
coder13 merged 1 commit into
masterfrom
agent/private-room-rejoin

Conversation

@coder13

@coder13 coder13 commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • preserve an in-progress solve and its pending result while the server restarts
  • reconnect room sockets without duplicate joins and make same-room joins idempotent
  • remember one successful private-room password per room on the device, reuse it after refresh or reconnect, and clear it when rejected or no longer needed
  • show the private-room password form and inline error when automatic rejoin cannot restore access
  • allow existing private rooms to be edited without replacing their password
  • redact room passwords from socket logs

Why

A deploy temporarily disconnects active racers. Timing can continue locally, but the client must rejoin the room before submitting the saved result. Private rooms were especially fragile after a refresh because the password existed only in Redux memory, and duplicate buffered joins could leave the client disconnected from the room even after Socket.IO recovered.

This keeps the solve local during the interruption, retries room access with the last successfully used password, and submits the result once the room join succeeds. If that password is no longer valid, it is removed and the normal password form is shown.

Validation

  • yarn lint
  • yarn test — 75 client tests and 79 server tests passed
  • yarn build

Avoid duplicate joins and preserve pending solves through private-room reconnects. Remember successful room passwords on-device, make same-room joins idempotent, surface password errors, redact credentials, and cover the recovery paths.
@coder13
coder13 force-pushed the agent/private-room-rejoin branch from 857b44a to 9a1be2e Compare July 12, 2026 15:24
@coder13
coder13 marked this pull request as ready for review July 12, 2026 16:28
@coder13
coder13 merged commit 49a1f3c into master Jul 12, 2026
6 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.

1 participant