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
pull from: fix/casino-holdem-first-buy-in
merge into: :fix/casino-holdem-seating-a-table
:master
:feature/socialism
:polish/holdem-seats-one-size
:fix/holdem-dealer-chip-eats-its-seat
:polish/holdem-game-night-ready
:polish/holdem-round-next
:polish/holdem-seat-collisions
:polish/holdem-offline-and-render
:fix/naming-a-blind-deals-the-hand
:release/casino-holdem-polish
:fix/casino-holdem-phone-look
:fix/casino-holdem-sidebar-crowding
:fix/casino-holdem-contribution-rule
:fix/casino-holdem-one-stack-rule
:fix/casino-holdem-default-stack-buyin
:feat/casino-holdem-waiting-list
:feat/casino-holdem-misdeal
:feat/casino-holdem-cash-out
:feat/casino-holdem-clock
:feat/casino-holdem-rake
:fix/casino-holdem-stadium-ring
:fix/casino-holdem-phone-felt-shape
:fix/casino-holdem-audit-runs-everything
:feat/casino-holdem-straddle
:fix/casino-holdem-landscape-ring
:feat/casino-holdem-table-file
:fix/casino-holdem-touch-targets
:fix/casino-holdem-audit-modal-blindspot
:fix/casino-holdem-quicksplit-chop
:fix/casino-holdem-buildable-bet-sizes
:fix/casino-holdem-pot-sized-raise
:fix/casino-holdem-chips-to-count-out
:fix/casino-holdem-first-buy-in
:fix/casino-holdem-seating-a-table
:fix/casino-holdem-showdown-order
:fix/casino-holdem-hand-log-filter
:fix/casino-holdem-posting-in
:fix/casino-holdem-dead-button
:fix/casino-holdem-discarded-pot
:fix/casino-holdem-honest-tank-clock
:fix/casino-holdem-export-the-notes
:fix/casino-holdem-stacks-in-chips
:fix/casino-holdem-close-audit-blind-spots
:fix/casino-holdem-readable-dim-states
:fix/casino-holdem-drop-broken-watermark
:fix/casino-holdem-two-tabs
:fix/casino-holdem-unreadable-save
:fix/casino-holdem-say-when-not-saving
:fix/casino-holdem-shortcut-discovery
:fix/casino-holdem-rulings-index-compact
:fix/casino-holdem-rulings-index
:fix/casino-holdem-payout-in-chips
:fix/casino-holdem-move-seat-on-touch
:fix/casino-holdem-amount-fields-select
:fix/casino-holdem-touch-targets-by-pointer
:fix/casino-holdem-button-box-model
:fix/casino-holdem-blind-badge-placement
:fix/casino-holdem-buyin-deals-in
:fix/casino-holdem-bet-vs-raise
:fix/casino-holdem-deal-around-broke
:fix/casino-holdem-settle-up
:fix/casino-holdem-allin-and-bar
:fix/casino-holdem-one-dealer-button
:fix/casino-holdem-manual-deal
:fix/casino-holdem-less-guessing
:feature/casino-holdem-seat-editor
:fix/casino-holdem-landscape-table
:feature/casino-holdem-acting-seat
:feature/casino-holdem-raise-guard
:feature/casino-holdem-first-run
:feature/casino-holdem-contrast-audit
:feature/casino-holdem-layout-audit
:feature/casino-holdem-blind-fairness
:feature/casino-holdem-rulings-depth
:feature/casino-holdem-bank-audit
:feature/casino-holdem-fewer-taps
:feature/casino-holdem-render-perf
:feature/casino-holdem-keyboard-focus
:feature/casino-holdem-resilience
:feature/casino-holdem-messy-tables
:feature/casino-holdem-touch-mobile
:chore/casino-holdem-tech-debt
:feature/casino-holdem-dealer-batch
:feature/casino-holdem-seat-count-safety
:feature/casino-holdem-odd-chip
:feature/casino-holdem-button-moves
:feature/casino-holdem-allin-runout
:feature/casino-holdem-heads-up
:feature/casino-holdem-contrast
:feature/casino-holdem-touch-audit
:feature/casino-holdem-wizard-polish
:feature/casino-quicksplit-side-pots
:feature/casino-holdem-rebuys
:feature/casino-holdem-rulings
:feature/casino-holdem-sidebar-polish
:feature/casino-holdem-keyboard
:feature/casino-holdem-action-undo
:feature/casino-holdem-pace
:feature/casino-holdem-side-pot-breakdown
:feature/casino-holdem-gestures
:feature/casino-holdem-card-picker
:feature/casino-holdem-live-betting
:feature/casino-holdem-bet-chips
:feature/casino-holdem-seat-legibility
:feature/casino-holdem-undo-toasts
:feature/casino-holdem-quick-split
:feature/casino-holdem-mobile-table
:feature/casino-holdem-hand-history
:feature/casino-texas-holdem
:feature/casino-holdem-dealer-mode-polish
:feature/fractional-learned-weights
:fix/stockfish-dispose-hang
:fix/blog-cache-staleness
:fix/workflows
:gitea/workflows
:echo-acoustic-ranging
:chess-ui-overhaul
:feature/customChessEngine
:feature/blog
:AddProject
:feature/generalUpdate
:tech-debt/chess-cleanup
:tests/CreatePlaywrightTests
:UpdateParticleSimulatorButton
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
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:
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 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_015bnp7xKUPFFSpwkYNFaPgbPull request closed