e2e: resignation, and a reload that preserves the Seat #194

Closed
opened 2026-09-01 13:44:33 +00:00 by root · 7 comments
root commented 2026-09-01 13:44:33 +00:00 (Migrated from gitlab.core-project.space)

Imported from GitHub amaurycoudr/chess-project#194, opened by @amaurycoudr on 2026-09-01 13:44 UTC.
Closed on GitHub on 2026-09-02 13:56 UTC as completed.


Parent

#191

What to build

Two behaviours that both concern a Player's relationship to their Seat rather than to the Game's moves, merged because they share the same setup and the same pair of contexts.

Resignation. A Player resigns from behind a confirmation dialog — a stray click cannot concede — and the resignation takes effect immediately and is named to both Players. This establishes the confirm-dialog helper that the offer tickets reuse.

Reload preserves the Seat. A Player reloads mid-Game and returns to their own Seat, because the browser still holds the Seat token, rather than being demoted to a Spectator. This is the behaviour that the Seat-token identity model exists to provide, and nothing below the browser seam can verify it.

Acceptance criteria

  • A reusable helper opens a confirmation dialog by its trigger's accessible name and confirms or cancels it
  • Resigning requires confirming a dialog; cancelling it leaves the Game running
  • After a resignation, both Players are told which Color resigned
  • The resignation takes effect without either Player reloading
  • A seated Player who reloads mid-Game still holds the same Seat afterwards
  • A reloaded Player's board is still oriented to their own Color, and they are not told they are watching
  • A reloaded Player can still play a Move
  • Dialogs are addressed by role and accessible name, not by structure
  • All five gate commands pass, and the suite passes
> _Imported from GitHub [amaurycoudr/chess-project#194](https://github.com/amaurycoudr/chess-project/issues/194), opened by [@amaurycoudr](https://github.com/amaurycoudr) on 2026-09-01 13:44 UTC._ > _Closed on GitHub on 2026-09-02 13:56 UTC as completed._ <!-- github-issue:194 --> --- ## Parent #191 ## What to build Two behaviours that both concern a Player's relationship to their Seat rather than to the Game's moves, merged because they share the same setup and the same pair of contexts. **Resignation.** A Player resigns from behind a confirmation dialog — a stray click cannot concede — and the resignation takes effect immediately and is named to both Players. This establishes the confirm-dialog helper that the offer tickets reuse. **Reload preserves the Seat.** A Player reloads mid-Game and returns to their own Seat, because the browser still holds the Seat token, rather than being demoted to a Spectator. This is the behaviour that the Seat-token identity model exists to provide, and nothing below the browser seam can verify it. ## Acceptance criteria - [ ] A reusable helper opens a confirmation dialog by its trigger's accessible name and confirms or cancels it - [ ] Resigning requires confirming a dialog; cancelling it leaves the Game running - [ ] After a resignation, **both** Players are told which Color resigned - [ ] The resignation takes effect without either Player reloading - [ ] A seated Player who reloads mid-Game still holds the same Seat afterwards - [ ] A reloaded Player's board is still oriented to their own Color, and they are not told they are watching - [ ] A reloaded Player can still play a Move - [ ] Dialogs are addressed by role and accessible name, not by structure - [ ] All five gate commands pass, and the suite passes
root commented 2026-09-01 13:44:33 +00:00 (Migrated from gitlab.core-project.space)

GitHub issue relations, imported as "related" links (GitLab CE has no sub-issues or blocking links).

> _GitHub issue relations, imported as "related" links (GitLab CE has no sub-issues or blocking links)._ <!-- github-relations --> - Blocked by: #192 - Blocking: #196, #195
root (Migrated from gitlab.core-project.space) closed this issue 2026-09-02 13:56:49 +00:00
root commented 2026-10-13 08:39:09 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #195

mentioned in issue #195
root commented 2026-10-13 08:39:10 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #196

mentioned in issue #196
root commented 2026-10-13 08:40:46 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #192

mentioned in issue #192
root commented 2026-10-13 08:41:45 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #192

marked this issue as related to #192
root commented 2026-10-13 08:41:46 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #196

marked this issue as related to #196
root commented 2026-10-13 08:41:46 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #195

marked this issue as related to #195
Sign in to join this conversation.
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.

Reference
amaurycoudr/chess-project#194
No description provided.