Claim a Guest on the wire, and write its later Games to the Account #385
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
spec
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#386 Show a self-game once, with both sides as You
amaurycoudr/chess-project
#387 Offer the claim on "My games", and forget a claimed Guest on sign-out
amaurycoudr/chess-project
#381 Rate limits on sign-up, sign-in and reset requests, with when to try again
amaurycoudr/chess-project
#383 Account page: Username, email and join date, an export, and deletion by password
amaurycoudr/chess-project
#384 Names by Username in the Room, "My games" and the Game page; switching devices mid-Game end to end
amaurycoudr/chess-project
Reference
amaurycoudr/chess-project#385
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#365
What to build
A signed-in Player can claim the Guest their browser holds, through the API alone. The claim links the Guest to their Account for good and moves every Game the Guest owns to the Account (ADR 0035). "My games" as the Account then lists them on any signed-in browser. A Game decided later for a Seat the claimed Guest still holds is written as the Account. A claimed Guest keeps its Seats but takes no new one. Deleting the Account deletes the Guests it claimed, and the Account export lists them.
guestrouter.guest.getreads the caller's Guest asnone,unclaimedwith its count of Games (zero for a Guest with no record),claimed-by-youorclaimed-by-other. It is a read, so it needs no Origin.guest.claimneeds a Session and answers how many Games moved. It refuses withGUEST_NOT_FOUND(404) without a Guest header andGUEST_ALREADY_CLAIMED(409) when another Account holds the claim. Both go in the refusal status table.Seam: The RPC wire
Acceptance criteria
guest.getanswers each of its four values, includingunclaimedwith zero for a header with no record, andclaimed-by-otherfor a claimed Guest read with a different Account's Session or with none.game.listas the Account then lists them from another signed-in client.GUEST_NOT_FOUND.GUEST_ALREADY_CLAIMEDand moves nothing; a repeat by the same Account succeeds with zero moved.unclaimedwith zero, and their Games stay readable by link with no owner on that side.mentioned in issue #386
mentioned in issue #387
mentioned in issue #365
mentioned in issue #381
mentioned in issue #383
mentioned in issue #384
marked this issue as related to #365
marked this issue as related to #381
marked this issue as related to #383
marked this issue as related to #384
marked this issue as related to #387
marked this issue as related to #386
mentioned in merge request !529