Account page: Username, email and join date, an export, and deletion by password #383

Closed
opened 2026-10-11 16:27:13 +00:00 by root · 13 comments
root commented 2026-10-11 16:27:13 +00:00 (Migrated from gitlab.core-project.space)

Imported from GitHub amaurycoudr/chess-project#383, opened by @amaurycoudr on 2026-10-11 16:27 UTC.


Parent

#364

What to build

A signed-in Player opens /account from the site navigation and sees their Username, email and join date. They can download a JSON file of their Account, their Sessions (created, last used, expires, user agent; no hash) and their Games (id, timestamps, Color, winner, ending, opponent name, UCI line and PGN from the engine). They can delete their Account after confirming with their password. Deletion cascades to their Sessions and reset tokens, clears both cookies and resets the Query cache. Their side of each Game is left with no owner, so the Game stays in the opponent's "My games".

Seam: the RPC wire; the front views

Acceptance criteria

  • account.export answers the document above, with no token hash, email of another Player or account id of an opponent
  • account.delete with the wrong password is WRONG_PASSWORD and deletes nothing; with the right one it deletes the Account, its Sessions and its reset tokens, and clears both cookies
  • After a deletion, the opponent's game.list still lists their shared Game, with the deleted side having no owner
  • The account view, its export download and its delete confirmation (including a wrong password) are tested beside the view; the navigation links to it when signed in
  • Every new string is in the catalogue in English and French
> _Imported from GitHub [amaurycoudr/chess-project#383](https://github.com/amaurycoudr/chess-project/issues/383), opened by [@amaurycoudr](https://github.com/amaurycoudr) on 2026-10-11 16:27 UTC._ <!-- github-issue:383 --> --- ## Parent #364 ## What to build A signed-in **Player** opens `/account` from the site navigation and sees their **Username**, email and join date. They can download a JSON file of their **Account**, their **Sessions** (created, last used, expires, user agent; no hash) and their **Games** (id, timestamps, **Color**, winner, ending, opponent name, **UCI** line and PGN from the engine). They can delete their **Account** after confirming with their password. Deletion cascades to their **Sessions** and reset tokens, clears both cookies and resets the Query cache. Their side of each **Game** is left with no owner, so the **Game** stays in the opponent's "My games". Seam: the RPC wire; the front views ## Acceptance criteria - [ ] `account.export` answers the document above, with no token hash, email of another **Player** or account id of an opponent - [ ] `account.delete` with the wrong password is `WRONG_PASSWORD` and deletes nothing; with the right one it deletes the **Account**, its **Sessions** and its reset tokens, and clears both cookies - [ ] After a deletion, the opponent's `game.list` still lists their shared **Game**, with the deleted side having no owner - [ ] The account view, its export download and its delete confirmation (including a wrong password) are tested beside the view; the navigation links to it when signed in - [ ] Every new string is in the catalogue in English and French
root commented 2026-10-11 16:27:13 +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 --> - Parent (sub-issue of): #364 - Blocked by: #382, #379 - Blocking: #385
root commented 2026-10-13 08:39:50 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #385

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

mentioned in issue #364

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

mentioned in issue #379

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

mentioned in issue #382

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

marked this issue as related to #364

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

marked this issue as related to #379

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

marked this issue as related to #382

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

marked this issue as related to #385

marked this issue as related to #385
root commented 2026-10-14 10:36:17 +00:00 (Migrated from gitlab.core-project.space)

mentioned in merge request !523

mentioned in merge request !523
root commented 2026-10-14 11:15:16 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit b379bb71bd

mentioned in commit b379bb71bd539f891a7fcfafd73e436230ffbcd7
root commented 2026-10-14 12:19:57 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 550a569aef

mentioned in commit 550a569aef0fb0ade603eb340926feb9b828e2ad
root commented 2026-10-14 13:29:05 +00:00 (Migrated from gitlab.core-project.space)

Delivered by !523, merged into main.

Delivered by !523, merged into main.
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-14 13:29:06 +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#383
No description provided.