Result dialog after a solved or failed Puzzle, and the Puzzle's rating once resolved #453

Closed
opened 2026-10-19 14:45:43 +00:00 by root · 11 comments
root commented 2026-10-19 14:45:43 +00:00 (Migrated from gitlab.core-project.space)

Parent

#450

What to build

API. The solved and failed move results and the solution result gain the Puzzle's own rating. ServedPuzzle does not carry it, so it never reaches the page before the Puzzle is resolved.

Result dialog. A dialog opens when a Puzzle is solved or failed on the board, in an Attempt or a Replay. Hint and Show solution never open it.

  • Solved, rated: "Solved!", the new Puzzle rating with its change, and Review and Next.
  • Failed, rated: the right Move in SAN, the new Puzzle rating with its change, and Review, Retry and Next.
  • Solved or failed Replay: "Unrated: your Puzzle rating does not change" in place of the rating line.
  • Next is the focused, primary action.
  • Review, Close and Escape leave the board and the move list as the Puzzle ended.

Puzzle row. Once the Puzzle is resolved by any ending, including Show solution, the Puzzle row reveals the Puzzle's rating.

Covers stories 19 and 32–35.

Seam: Front — the pages on the app's router, for the dialog and the row. The Puzzle's rating in the results goes through the API seam as widened on #450 (the puzzle.* procedures through the RPC integration harness).

Acceptance criteria

  • RPC integration tests: solved, failed and solution carry the Puzzle's rating; next and replay do not
  • The dialog opens on each of the four endings with the content above, and never after a Hint or Show solution
  • Retry starts a Replay of the same Puzzle; Next serves the next one
  • The Puzzle row shows "hidden" until the Puzzle is resolved, then the Puzzle's rating
  • puzzles.spec.ts asserts the dialog and its rating change on the solve and on the failure
  • Browser check of the four dialog states at 390, 1280 and 1920 px, with screenshots in the merge request
## Parent #450 ## What to build **API.** The `solved` and `failed` move results and the `solution` result gain the Puzzle's own rating. `ServedPuzzle` does not carry it, so it never reaches the page before the Puzzle is resolved. **Result dialog.** A dialog opens when a Puzzle is solved or failed on the board, in an Attempt or a Replay. Hint and Show solution never open it. - Solved, rated: "Solved!", the new Puzzle rating with its change, and Review and Next. - Failed, rated: the right Move in SAN, the new Puzzle rating with its change, and Review, Retry and Next. - Solved or failed Replay: "Unrated: your Puzzle rating does not change" in place of the rating line. - Next is the focused, primary action. - Review, Close and Escape leave the board and the move list as the Puzzle ended. **Puzzle row.** Once the Puzzle is resolved by any ending, including Show solution, the Puzzle row reveals the Puzzle's rating. Covers stories 19 and 32–35. Seam: Front — the pages on the app's router, for the dialog and the row. The Puzzle's rating in the results goes through the API seam as widened on #450 (the `puzzle.*` procedures through the RPC integration harness). ## Acceptance criteria - [ ] RPC integration tests: `solved`, `failed` and `solution` carry the Puzzle's rating; `next` and `replay` do not - [ ] The dialog opens on each of the four endings with the content above, and never after a Hint or Show solution - [ ] Retry starts a Replay of the same Puzzle; Next serves the next one - [ ] The Puzzle row shows "hidden" until the Puzzle is resolved, then the Puzzle's rating - [ ] `puzzles.spec.ts` asserts the dialog and its rating change on the solve and on the failure - [ ] Browser check of the four dialog states at 390, 1280 and 1920 px, with screenshots in the merge request
root commented 2026-10-19 14:46:30 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #457

mentioned in issue #457
root commented 2026-10-19 14:46:43 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #450

marked this issue as related to #450
root commented 2026-10-19 14:47:02 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #452

marked this issue as related to #452
root commented 2026-10-19 14:47:08 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #457

marked this issue as related to #457
root commented 2026-10-19 15:01:58 +00:00 (Migrated from gitlab.core-project.space)

mentioned in merge request !557

mentioned in merge request !557
root commented 2026-10-19 15:47:55 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 3c5d8b14ff

mentioned in commit 3c5d8b14ff72e65bc9f072b43303a3058ee4f2a5
root commented 2026-10-19 15:47:55 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 720626fd1a

mentioned in commit 720626fd1a8ba675fce3d47aee763b4563f6972b
root commented 2026-10-19 15:47:56 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 2649e61713

mentioned in commit 2649e617131351720080ff5e38377b0505e48762
root commented 2026-10-19 18:46:22 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 413994d0fd

mentioned in commit 413994d0fdc16a27f8faf8168825e0d39ba28bd9
root commented 2026-10-19 18:46:23 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit ce5152abd9

mentioned in commit ce5152abd9a356790bfb9dd10c2dd78a8c5da7d8
root commented 2026-10-19 18:46:23 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 605b76b183

mentioned in commit 605b76b1834768257736d97b6bfb67d509761a7f
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-19 19:15:03 +00:00
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#453
No description provided.