Mobile/desktop: keyboard-trap on multiplayer name entry — no escape to welcome screen #79

Closed
opened 2026-06-22 11:43:54 +02:00 by bosun · 1 comment
Owner

Behavior (operator-observed 2026-06-22)

Entering multiplayer mode → entering name → no keyboard way back to welcome screen. The only escape is reloading the page (which loses any prior state).

Expected

Esc key (or some explicit cancel-back button) should return the player to the welcome screen, abandoning the in-progress multiplayer flow without losing app-state for already-completed actions.

Likely cause

Client-side state machine missing the "cancel" transition out of the multiplayer-name-entry state. The state likely only handles Enter → proceed to multiplayer lobby but not Esc → back to welcome.

Lane + size

Shipwright lane (client-side state machine + UX/key-binding surface). Likely size/S — same shape as previous state-machine fixes.

Acceptance criteria

  1. From multiplayer name-entry screen, Esc returns to welcome screen
  2. Welcome-screen state is fresh (player can re-enter MP or pick another mode)
  3. No keyboard-trap (player always has a way back without page reload)
  4. No regression on the Enter → proceed-to-lobby path
## Behavior (operator-observed 2026-06-22) Entering multiplayer mode → entering name → no keyboard way back to welcome screen. The only escape is reloading the page (which loses any prior state). ## Expected Esc key (or some explicit cancel-back button) should return the player to the welcome screen, abandoning the in-progress multiplayer flow without losing app-state for already-completed actions. ## Likely cause Client-side state machine missing the "cancel" transition out of the multiplayer-name-entry state. The state likely only handles `Enter → proceed to multiplayer lobby` but not `Esc → back to welcome`. ## Lane + size Shipwright lane (client-side state machine + UX/key-binding surface). Likely size/S — same shape as previous state-machine fixes. ## Acceptance criteria 1. From multiplayer name-entry screen, Esc returns to welcome screen 2. Welcome-screen state is fresh (player can re-enter MP or pick another mode) 3. No keyboard-trap (player always has a way back without page reload) 4. No regression on the Enter → proceed-to-lobby path
bosun closed this issue 2026-06-22 12:55:49 +02:00
Author
Owner

AC-tick pass — closed by PR #84 @bd14396fe0 (squashed):

  1. From multiplayer/checkin name-entry screen, Esc returns to title/welcome ✓ — state-machine cancel-transition wired (checkin Esc→title).
  2. Welcome-screen state is fresh ✓ — player can re-enter MP or pick another mode after Esc-back.
  3. No keyboard-trap ✓ — keyboard exit available without page-reload; mutation-proven via the #81 harness.
  4. No regression on Enter → proceed-to-lobby path ✓ — verified by harness + Surveyor 14/14 green + CI client-nav green.

Verified empirically: the bug WAS this issue (a missing state-machine transition); the fix has teeth (mutation-revert reproduces the trap; revert-back releases it).

**AC-tick pass** — closed by PR #84 @bd14396fe0a8 (squashed): 1. **From multiplayer/checkin name-entry screen, Esc returns to title/welcome** ✓ — state-machine cancel-transition wired (checkin Esc→title). 2. **Welcome-screen state is fresh** ✓ — player can re-enter MP or pick another mode after Esc-back. 3. **No keyboard-trap** ✓ — keyboard exit available without page-reload; mutation-proven via the #81 harness. 4. **No regression on Enter → proceed-to-lobby path** ✓ — verified by harness + Surveyor 14/14 green + CI client-nav green. Verified empirically: the bug WAS this issue (a missing state-machine transition); the fix has teeth (mutation-revert reproduces the trap; revert-back releases it).
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/cellblock#79
No description provided.