Skip to content

Go games: members re-ask as the room's go tables change - #468

Merged
aaylward merged 3 commits into
mainfrom
claude/hopeful-ramanujan-uwueor
Oct 21, 2026
Merged

aaylward merged 3 commits into
mainfrom
claude/hopeful-ramanujan-uwueor

Conversation

@aaylward

@aaylward aaylward commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Closes the gap left by #467: a room member at no go table never heard a game end, so the Go games section never appeared for them until they rejoined.

  • LobbyGame asks for go history again whenever the room's go tables, or their statuses, change. Every member hears that room state, seated or not. MoonBase#1687 pins the hub side.
  • Arrival asks once, and keeps asking on each room state until an answer lands. That covers a game ending mid-ask and a failed ask.
  • This replaces the gameEnded re-ask in useGoTable and Go: the room's finished games, each with its SGF #467's "keep the section up while there's a go table". The section shows only once the room has played go.

The new tests failed first. A mutation that double-asks on arrival is killed. Typecheck, lint and all tests pass. The review ran as 2 agents covering the 4 lenses (correctness; tests, simplicity and UX); its follow-ups are in 4a0251b.

@aaylward aaylward changed the title Go games: every member re-asks as the room's go tables change Go games: members re-ask as the room's go tables change Oct 20, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
muchq 731ffef Commit Preview URL

Branch Preview URL
Oct 21 2026, 12:02 AM

@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

Review

Altitude looks right: this is the proper fix for the #467 bystander gap. Room-state go table fingerprint (gameId:status) is what every member hears; gameEnded re-ask and the “keep the section up while a go table exists” workaround go away; section shows only once history is non-empty. Arrival asks while history === null (and retries on room churn until an answer lands); later asks are gated on the fingerprint so chess-only room noise does not re-hit history. Matches MoonBase#1687. CI green.

Low — no pin that non-go room churn stays quiet after history lands

The LobbyGame tests cover go status changes, arrival-once, change-before-answer, and room switch. Nothing asserts that with go.history = [] already held, a room update that only adds a chess table (same go fingerprint) does not call loadGoHistory. That is the mutation the fingerprint exists to kill.

@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

Ack on 731ffef: the “only other games change” pin is exactly the fingerprint mutation.

@aaylward
aaylward merged commit 862ed41 into main Oct 21, 2026
2 checks passed
@aaylward
aaylward deleted the claude/hopeful-ramanujan-uwueor branch October 21, 2026 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants