The coverage work in #24 kept these behaviours as they were, or as the tests now document them. Each is a product decision rather than a bug, so please pick an option for each one.
1. Picking up a table with an absent player's stake on it
Now: clearFeltNow gives the absent player's stake to whoever picks the table up.
Options: keep it; drop the stake on the ground at the table; or hold it for the owner and return it the next time they join.
2. A Blackjack box whose cards all failed to display
Now: the box is skipped for the round and loses its stake. A test in BlackjackGameTest covers this.
Options: keep it; or treat it as a push and return the stake.
3. Chips put down mid-hand in Poker or Draw
Now: chip placement is not blocked during a live hand, because raising is done with chips. A newcomer who stakes mid-hand joins the seat list with no cards and counts as a live seat.
Options: keep it; refuse stakes from anyone not dealt into the current hand; or queue them for the next hand.
4. Saved stakes with no usable owner
Now: on load, stakes whose saved owner ID is missing or damaged are dropped as items at the table. This also covers ownerless piles in the legacy save format. Before, they went into the house tray, where settleAutoTray could delete them on staff-mint tables or bank them to a guild. The house float in legacy files is stored under the table's own ID, so it still goes to the tray.
Options: keep it (players' money is never destroyed); or send them to the tray.
5. Enforcing 100% coverage in CI
Now: coverage is 100% of lines and branches, and CI uploads the JaCoCo report, but nothing enforces it.
Options: add a JaCoCo check rule at 100% so builds fail when coverage drops; add a lower floor; or leave it as a report only.
The coverage work in #24 kept these behaviours as they were, or as the tests now document them. Each is a product decision rather than a bug, so please pick an option for each one.
1. Picking up a table with an absent player's stake on it
Now:
clearFeltNowgives the absent player's stake to whoever picks the table up.Options: keep it; drop the stake on the ground at the table; or hold it for the owner and return it the next time they join.
2. A Blackjack box whose cards all failed to display
Now: the box is skipped for the round and loses its stake. A test in
BlackjackGameTestcovers this.Options: keep it; or treat it as a push and return the stake.
3. Chips put down mid-hand in Poker or Draw
Now: chip placement is not blocked during a live hand, because raising is done with chips. A newcomer who stakes mid-hand joins the seat list with no cards and counts as a live seat.
Options: keep it; refuse stakes from anyone not dealt into the current hand; or queue them for the next hand.
4. Saved stakes with no usable owner
Now: on load, stakes whose saved owner ID is missing or damaged are dropped as items at the table. This also covers ownerless piles in the legacy save format. Before, they went into the house tray, where
settleAutoTraycould delete them on staff-mint tables or bank them to a guild. The house float in legacy files is stored under the table's own ID, so it still goes to the tray.Options: keep it (players' money is never destroyed); or send them to the tray.
5. Enforcing 100% coverage in CI
Now: coverage is 100% of lines and branches, and CI uploads the JaCoCo report, but nothing enforces it.
Options: add a JaCoCo
checkrule at 100% so builds fail when coverage drops; add a lower floor; or leave it as a report only.