Stop telling a brand-new table its players are broke, and give it a way out #92

Closed
jheaps wants to merge 1 commits from fix/casino-holdem-first-buy-in into fix/casino-holdem-seating-a-table
Owner

Following #91 down the same first-run path: a dealer who names six people and hasn't yet said what a buy-in is gets told

Nobody at the table has chips left. Add a buy-in to deal.

with no buttons on the bar at all.

Both halves are wrong for that table. "Left" says the chips were had and lost, which sends the dealer looking for a rebuy. And a blocked prompt with nothing to press is a dead end, when the fix is a single field in the sidebar the message never pointed at.

What changed

A table where nobody has ever bought in is told what's actually true, and given the way out:

Nobody has bought in yet. Set what everyone starts with, or give each seat their chips.
[ Set starting stack ]

The button opens Table Setup, scrolls the starting stack into view and selects it, so the next thing typed is the answer. A seat with no stack of its own falls back to the table default, which is why one number is enough to seat everybody's chips at once.

A table that genuinely busted out is a different situation and still says so — with no starting-stack button, because there the fix is a rebuy, not a default. The two are told apart by whether anyone has ever held chips or recorded a buy-in.

Verification

4 new tests added to tests/holdem/seatingTheTable.test.js: six freshly named players read as never-bought-in, a busted-out table doesn't, one player still holding chips doesn't either, and naming a starting stack is by itself enough to make a hand dealable. Suite at 366 tests, 0 failures.

Playwright MCP, the whole first run from cleared storage with a dealer who reads only the bar: name six → the new sentence and the button; press it → field focused, panel open, scrolled into view; type 200 → "Ben posts $1, Cal posts $2", Post blinds & deal, status now reads 6 players; deal → blinds posted, action to Dee. Then a busted-out table, which still reads "Nobody at the table has chips left" with no button. Checked at 390/768/1280 — full-width 56px tap target, focus lands in view on every size, no text overflow, no sideways scroll, contrast and layout audit clean, no console errors.

Stacked on fix/casino-holdem-seating-a-table.

🤖 Generated with Claude Code

https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb

Following #91 down the same first-run path: a dealer who names six people and hasn't yet said what a buy-in is gets told > Nobody at the table has chips **left**. Add a buy-in to deal. with **no buttons on the bar at all**. Both halves are wrong for that table. "Left" says the chips were had and lost, which sends the dealer looking for a rebuy. And a blocked prompt with nothing to press is a dead end, when the fix is a single field in the sidebar the message never pointed at. **What changed** A table where nobody has ever bought in is told what's actually true, and given the way out: > Nobody has bought in yet. Set what everyone starts with, or give each seat their chips. > **[ Set starting stack ]** The button opens Table Setup, scrolls the starting stack into view and selects it, so the next thing typed is the answer. A seat with no stack of its own falls back to the table default, which is why one number is enough to seat everybody's chips at once. A table that **genuinely busted out** is a different situation and still says so — with no starting-stack button, because there the fix is a rebuy, not a default. The two are told apart by whether anyone has ever held chips or recorded a buy-in. **Verification** 4 new tests added to `tests/holdem/seatingTheTable.test.js`: six freshly named players read as never-bought-in, a busted-out table doesn't, one player still holding chips doesn't either, and naming a starting stack is by itself enough to make a hand dealable. Suite at 366 tests, 0 failures. Playwright MCP, the whole first run from cleared storage with a dealer who reads only the bar: name six → the new sentence and the button; press it → field focused, panel open, scrolled into view; type `200` → *"Ben posts $1, Cal posts $2"*, *Post blinds & deal*, status now reads *6 players*; deal → blinds posted, action to Dee. Then a busted-out table, which still reads *"Nobody at the table has chips left"* with no button. Checked at 390/768/1280 — full-width 56px tap target, focus lands in view on every size, no text overflow, no sideways scroll, contrast and layout audit clean, no console errors. Stacked on `fix/casino-holdem-seating-a-table`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
jheaps added 1 commit 2026-09-01 23:20:39 -06:00
Following on from seating the table: a dealer who names six people and hasn't yet
said what a buy-in is gets told

    Nobody at the table has chips left. Add a buy-in to deal.

with no buttons on the bar at all. Both halves are wrong for that table. "Left" says
the chips were had and lost, which sends the dealer looking for a rebuy — and a
blocked prompt with nothing to press is a dead end, when the fix is one field in the
sidebar the message never pointed at.

A table where nobody has ever bought in is now told what is actually true, and given
the way out:

    Nobody has bought in yet. Set what everyone starts with, or give each seat
    their chips.                                      [ Set starting stack ]

The button opens Table Setup, scrolls the starting stack into view and selects it, so
the next thing typed is the answer. A seat with no stack of its own falls back to the
table default, which is why one number is enough to seat everybody's chips at once.

A table that genuinely busted out is a different situation and still says so, with no
starting-stack button — there the fix is a rebuy, not a default.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
jheaps closed this pull request 2026-09-02 09:58:00 -06:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jheaps/JoshHeaps.Net#92