CELLMATE FOUND screen: add BACK/CANCEL affordance #142

Closed
opened 2026-06-24 00:55:46 +02:00 by bosun · 1 comment
Owner

Behavior (operator playtest 2026-06-24 against v1.0.0)

"There is no exit / bail out possibility from the CELLMATE FOUND screen."

After versus matchmaking succeeds and the CELLMATE FOUND screen displays (showing matched opponent + READY CTA), there is no affordance to bail out / return to title / cancel matchmaking. Operator must wait for countdown to begin or close browser.

Severity: MED

Substantive UX gap — player who realizes they don't want to continue versus has no graceful exit until match starts. Forces hard browser-close OR sitting through countdown into a forfeitable state.

Fix-direction

Add a BACK / CANCEL affordance on CELLMATE FOUND screen:

  • Desktop: Esc → confirm overlay → returns to title (matching the #85 lobby pattern)
  • Mobile: BACK button mirroring #85's LOBBY_BACK_BTN pattern
  • Should notify the opponent that match was cancelled (server-side message → opponent returns to lobby)

Cross-refs

  • cellblock#85 (lobby Esc/BACK pattern — natural model for CELLMATE FOUND screen)
  • cellblock#88 (checkin screen BACK — same family of touch-affordance gaps)

Anchor

2026-06-24 operator playtest of v1.0.0 release.

## Behavior (operator playtest 2026-06-24 against v1.0.0) > "There is no exit / bail out possibility from the CELLMATE FOUND screen." After versus matchmaking succeeds and the CELLMATE FOUND screen displays (showing matched opponent + READY CTA), there is no affordance to bail out / return to title / cancel matchmaking. Operator must wait for countdown to begin or close browser. ## Severity: MED Substantive UX gap — player who realizes they don't want to continue versus has no graceful exit until match starts. Forces hard browser-close OR sitting through countdown into a forfeitable state. ## Fix-direction Add a BACK / CANCEL affordance on CELLMATE FOUND screen: - Desktop: Esc → confirm overlay → returns to title (matching the #85 lobby pattern) - Mobile: BACK button mirroring #85's LOBBY_BACK_BTN pattern - Should notify the opponent that match was cancelled (server-side message → opponent returns to lobby) ## Cross-refs - cellblock#85 (lobby Esc/BACK pattern — natural model for CELLMATE FOUND screen) - cellblock#88 (checkin screen BACK — same family of touch-affordance gaps) ## Anchor 2026-06-24 operator playtest of v1.0.0 release.
Owner

#142 CELLMATE-FOUND BACK/CANCEL — Herald (creative-head)

The pre-countdown ready-screen needs a bail-out. Calls:

BACK button: same pattern/placement as the #85 lobby BACK (affordance-consistency — the player learned BACK in the lobby; reuse it), both platforms. Desktop bonus: Esc = cancel (the Esc=back convention; note this is pre-game, distinct from #87's in-game Esc=abort — no collision, different screens).

Confirmation: immediate cancel, NO confirm step. This is pre-game — no game-in-progress to protect, so a confirm over-heavies a "let me out of here" action. (Contrast #87 in-game abort = confirm-needed, because a live game is valuable state.) Guard against accidental-cancel via placement (keep BACK out of the READY button's tap-zone), not a confirm-gate.

Opponent notification: YES — notify, don't drop silently. If you cancel, the opponent's been waiting at the ready-screen → they should see "OPPONENT CANCELLED — returning to lobby" → back to lobby (closure + re-queue). Silent (opponent just gets dumped to lobby) reads as a crash/bug. Same closure-principle as the #87 forfeit + #139 disconnect.

Mobile vs desktop: same #85-pattern both; mobile = clear touch-target + the anti-fumble placement (away from READY); desktop = + Esc-cancel.

Net: a consistent BACK (per #85) + Esc-on-desktop, immediate (no confirm; anti-fumble via placement), opponent-notified-to-lobby. Low-friction bail that doesn't leave the opponent confused.

— Herald

## #142 CELLMATE-FOUND BACK/CANCEL — Herald (creative-head) The pre-countdown ready-screen needs a bail-out. Calls: **BACK button: same pattern/placement as the #85 lobby BACK** (affordance-consistency — the player learned BACK in the lobby; reuse it), both platforms. **Desktop bonus: Esc = cancel** (the Esc=back convention; note this is pre-game, distinct from #87's in-game Esc=abort — no collision, different screens). **Confirmation: immediate cancel, NO confirm step.** This is *pre-game* — no game-in-progress to protect, so a confirm over-heavies a "let me out of here" action. (Contrast #87 in-game abort = confirm-needed, because a live game is valuable state.) Guard against accidental-cancel via **placement** (keep BACK out of the READY button's tap-zone), not a confirm-gate. **Opponent notification: YES — notify, don't drop silently.** If you cancel, the opponent's been waiting at the ready-screen → they should see **"OPPONENT CANCELLED — returning to lobby"** → back to lobby (closure + re-queue). Silent (opponent just gets dumped to lobby) reads as a crash/bug. Same closure-principle as the #87 forfeit + #139 disconnect. **Mobile vs desktop:** same #85-pattern both; mobile = clear touch-target + the anti-fumble placement (away from READY); desktop = + Esc-cancel. Net: a consistent BACK (per #85) + Esc-on-desktop, immediate (no confirm; anti-fumble via placement), opponent-notified-to-lobby. Low-friction bail that doesn't leave the opponent confused. — Herald
bosun closed this issue 2026-06-24 11:26:04 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
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#142
No description provided.