Make hidden mean hidden, and check that it does #114
Closed
jheaps
wants to merge 1 commits from
fix/casino-holdem-sidebar-crowding into fix/casino-holdem-contribution-rule
pull from: fix/casino-holdem-sidebar-crowding
merge into: :fix/casino-holdem-contribution-rule
: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.
Three rounds inside the money, so this one was a look at the thing. On a desktop screenshot of a table mid-session there's a small empty box under the bank check: 21 pixels wide, 44 tall, no text, no purpose. It's the "Take $600 from 3 players" button from #111, which sets
hiddenwhen there's nothing to record — andhiddenwas losing.The attribute carries its
display: nonefrom the browser's own stylesheet, the weakest rule in the cascade, so any class that sets a display beats it. Every button class here setsinline-flex. This isn't a new discovery in this file either: seven overlays already carry their own[hidden] { display: none }, each presumably found the same way. One global rule now covers all of them, so there's no ninth.The audit had been telling me
Its touch check reported the box as "could not be probed (drawn 21x44)" — in the warnings, which my sweeps printed only sometimes and never failed on. So the check now says the plainer thing: an element that claims to be hidden and is drawn anyway is a fault, not a note. It's in
runAllwith the rest, and I put the bug back by hand to confirm it fires — "hidden, but drawn 27x44".The same warning stream had a second thing in it: the waiting list's Add button was 43px wide. Three letters, one pixel under the rule, and a thumb doesn't know the word is short.
Validated
One thing I checked and did not change: the sidebar is 3,379px tall with every panel open, which looked like crowding in the screenshot. The panels are
<details>and default to closed, so that height is only what you get when you deliberately open all six at once. No fault to report there.Three rounds inside the money, so this one was a look at the thing. On a desktop screenshot of a table mid-session there is a small empty box under the bank check: 21 pixels wide, 44 tall, no text, no purpose. It is the "Take $600 from 3 players" button from three rounds ago, which sets `hidden` when there is nothing to record — and `hidden` was losing. The attribute carries its `display: none` from the browser's own stylesheet, which is the weakest rule in the cascade, so any class that sets a display beats it. Every button class here sets `inline-flex`. This is not a new discovery in this file either: seven overlays already carry their own `[hidden] { display: none }`, each one presumably found the same way. One global rule now covers all of them, so there is no ninth. The audit had been telling me. Its touch check reported the box as "could not be probed (drawn 21x44)" — in the warnings, which my sweeps printed only sometimes and never failed on. So the check now says the plainer thing: an element that claims to be hidden and is drawn anyway is a fault, not a note. It is in runAll with the rest, and the bug was put back by hand to confirm it fires. The same warning stream had a second thing in it: the waiting list's Add button was 43px wide. Three letters, one pixel under the rule, and a thumb doesn't know the word is short. 182 audits across 13 viewports, both input kinds, every overlay and a table with a rake, a cash-out, a waiting list and six logged hands on it: clean, and the only note left is the one that says the 44px rule stood itself down on a mouse. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgbjheaps referenced this pull request2026-09-02 09:37:50 -06:00
Pull request closed