How are guest games merged into an account? #352

Closed
opened 2026-10-11 12:59:34 +00:00 by root · 8 comments
root commented 2026-10-11 12:59:34 +00:00 (Migrated from gitlab.core-project.space)

Imported from GitHub amaurycoudr/chess-project#352, opened by @amaurycoudr on 2026-10-11 12:59 UTC.
Closed on GitHub on 2026-10-11 15:42 UTC as completed.
Assigned on GitHub to @amaurycoudr.


Parent

#346

Question

A guest who signs up (or signs in) can claim their finished games. Which games qualify (all on this device, only those owned by the identity chosen in the finished-Game ticket), is it automatic or confirmed, and what if two accounts claim from one shared device or the opponent was the same browser (Local game)?

> _Imported from GitHub [amaurycoudr/chess-project#352](https://github.com/amaurycoudr/chess-project/issues/352), opened by [@amaurycoudr](https://github.com/amaurycoudr) on 2026-10-11 12:59 UTC._ > _Closed on GitHub on 2026-10-11 15:42 UTC as completed._ > _Assigned on GitHub to [@amaurycoudr](https://github.com/amaurycoudr)._ <!-- github-issue:352 --> --- ## Parent #346 ## Question A guest who signs up (or signs in) can claim their finished games. Which games qualify (all on this device, only those owned by the identity chosen in the finished-Game ticket), is it automatic or confirmed, and what if two accounts claim from one shared device or the opponent was the same browser (Local game)?
root commented 2026-10-11 12:59:34 +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): #346 - Blocked by: #350, #348
root commented 2026-10-11 15:42:02 +00:00 (Migrated from gitlab.core-project.space)

Imported from a GitHub comment by @amaurycoudr on 2026-10-11 15:42 UTC.

Resolution

ADR 0035, PR #361.

  1. What a claim does: an Account claims a Guest: it links the Guest to the Account and rewrites the Guest's Games to the Account. A Game decided later for a Seat held by a claimed Guest (signed in mid-game, ADR 0034) is written as the Account when it ends. A Game's owner is therefore an Account, an unclaimed Guest, or none.
  2. Always confirmed: the prompt shows after sign-up (ticked by default) and after sign-in. It stays available from "my games" while the browser holds an unclaimed Guest that owns Games. A Guest with no Games gets no offer. Reason: on a shared browser, an automatic claim would take someone else's Games.
  3. Final: one Account per Guest, never undone, and a second claim is refused. A claimed Guest keeps the Seats it holds but takes no new one. The browser forgets it on sign-out, and the next seat.take without a Session mints a fresh Guest.
  4. Self-games are allowed (two Guests of yours, or a Guest against your own Account). The Elo map excludes them.
  5. Deleting an Account deletes its claimed Guests. Its Games become ownerless on that side.
  6. Local games and one Guest on both Seats can't happen: Local games aren't stored, and an occupant holds one Seat per Room.

Glossary (in the PR): claim now means an Account taking over a Guest. The Spectator entry says "cannot take a Seat". A claimed Guest counts as its Account when a Game is decided.

Map: feature 5 becomes "Claim a Guest into an account, new or existing".

> _Imported from a [GitHub comment](https://github.com/amaurycoudr/chess-project/issues/352#issuecomment-6110720177) by [@amaurycoudr](https://github.com/amaurycoudr) on 2026-10-11 15:42 UTC._ <!-- github-comment:6110720177 --> ## Resolution ADR 0035, [PR #361](https://github.com/amaurycoudr/chess-project/pull/361). 1. **What a claim does:** an **Account** claims a **Guest**: it links the Guest to the Account and rewrites the Guest's **Games** to the Account. A Game decided later for a **Seat** held by a claimed Guest (signed in mid-game, ADR 0034) is written as the Account when it ends. A Game's owner is therefore an Account, an unclaimed Guest, or none. 2. **Always confirmed:** the prompt shows after sign-up (ticked by default) and after sign-in. It stays available from "my games" while the browser holds an unclaimed Guest that owns Games. A Guest with no Games gets no offer. Reason: on a shared browser, an automatic claim would take someone else's Games. 3. **Final:** one Account per Guest, never undone, and a second claim is refused. A claimed Guest keeps the Seats it holds but takes no new one. The browser forgets it on sign-out, and the next `seat.take` without a Session mints a fresh Guest. 4. **Self-games are allowed** (two Guests of yours, or a Guest against your own Account). The Elo map excludes them. 5. **Deleting an Account** deletes its claimed Guests. Its Games become ownerless on that side. 6. **Local games and one Guest on both Seats** can't happen: Local games aren't stored, and an occupant holds one Seat per **Room**. **Glossary** (in the PR): *claim* now means an Account taking over a Guest. The Spectator entry says "cannot take a Seat". A claimed Guest counts as its Account when a Game is decided. **Map:** feature 5 becomes "Claim a Guest into an account, new or existing".
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-11 15:42:04 +00:00
root commented 2026-10-13 08:41:16 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #346

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

mentioned in issue #348

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

mentioned in issue #350

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

marked this issue as related to #346

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

marked this issue as related to #348

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

marked this issue as related to #350

marked this issue as related to #350
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#352
No description provided.