17 updates in this release
This release includes: Integrate poker memory interactions and reliable balance reads; Keep bean profiles readable after daily claims; Align release proxy diagnostics with current APIs; Improve login refusal and transport latency evidence; Unify room codes and the runtime room directory; Cover slow request bodies in diagnostics; and 11 more changes.
Integrate poker memory interactions and reliable balance reads
Reuse reviewed seating, reopening and departure fixes, bound waits for complete balance publication, and refresh the release catalog.
- Preserve balance and game persistence guarantees
- Align history and room-directory verification with asynchronous publication
Keep bean profiles readable after daily claims
Keep committed bean profiles consistently readable after daily claims and replays while preserving daily limits and atomic ledger updates.
- Prevent brief profile unavailability during normal daily claims.
Align release proxy diagnostics with current APIs
Bind the release proxy image to the reviewed diagnostic source for current API routes.
- Preserve source-image verification and release guards.
Improve login refusal and transport latency evidence
Retain fixed authentication refusal codes and Apple operation timings, and use evidence captured after success to narrow WebSocket wait intervals.
- Preserve session and email verification, grant revocation and business results; observations use fixed-size data.
Unify room codes and the runtime room directory
Games share one room-code pool with automatic background refill. New rooms are registered in memory for immediate discovery and connection. Other players can find and watch practice rooms by code.
- Keep 1,000 available codes and refill automatically below 500.
- Resolve codes through one memory directory and remove initial-save connection waits.
- Restore player identities, login sessions and selected game wallets at startup for runtime memory reads.
- Apply free poker departures and shared-room transfers in memory, with ordered background persistence.
- Apply ordinary display-name and avatar changes in memory with bounded background persistence.
- Read game histories and ledgers, including Zha Jin Hua and Niuniu, from memory.
- Serve account profiles, quotas, notifications and bean reads from memory, with asynchronous persistence for selected profile changes.
Cover slow request bodies in diagnostics
Extend body-stage evidence to Niuniu and Blackjack room creation, profile, email preferences and lottery purchases to distinguish body supply waits from backend wake scheduling.
- Reuse bounded observations and on-demand capture windows without recording request content or changing business results or alert thresholds.
Grow the squid pool when new players join
Each new participant joining an active Blood Squid round adds one to both the total and remaining tokens.
- Preserve existing marks and the next award; duplicate choices, reconnects and waiting for the next round do not inflate the active pool.
Configurable Blood Battle squid count
Set the squid count per round to n + X when creating a table, defaulting to n + 3; n is the number of starting participants.
- Reopened tables retain the squid count setting.
Share typed API resources and card history storage
Unify player and admin APIs as typed resources and share duplicated Zha Jin Hua and Short Deck record storage.
- Preserve authentication, settlement and privacy rules on existing shared tables without clearing or migrating player data.
Update Bomb Pot intervals
Bomb Pot random intervals are now 3–5, 5–8 and 8–15 minutes, defaulting to 5–8 minutes.
- Existing tables retain their timers; reopened tables use the current interval presets.
Poker buy-in limits account for straddles
Maximum buy-in is the greater of 1000 big blinds and 1000 straddles, consistently applied to creation, top-ups and reopened tables.
- Disabling straddles adjusts the selected buy-in; short deck has no straddle and retains its 1000-button-blind cap.
Explain rate-limited connection probes
Retain bounded correlated evidence for rate-limited probes to distinguish intentional drops from unexplained timeouts.
- Preserve game behavior and probe rate limits without adding client round trips.
Consolidate game and notification APIs and remove unused endpoints
Share game profile, room and history resources and consolidate notification reads and updates while preserving permissions and game rules.
- Migrate client callers, existing end-to-end scripts and API monitoring catalogs together.
Run the resident lottery monitor only on production
Remove the resident local Chrome monitor and its installer while retaining production API monitoring.
- Monitor installation no longer creates a local background job or copies production sessions.
Keep all-in equity clear of poker card suits
Moves all-in equity labels outside hole cards so ranks and suits remain visible.
- Places opponent equity beside the stack and hero equity beside the cards.
Shared room codes and background room saving
Unifies four-digit room codes in a shared memory pool. New poker, Guandan and shared-framework rooms start their game actors from memory while creation and subsequent state are saved in order in the background.
- Room codes refill in the background; updated creation paths return a retry response when the pool is temporarily empty.
- Reuses ordered persistence while preserving authorization, complete ledgers and uncertain-commit recovery; historical statistics show a loading state until available.
- Creation responses, first room frames and interactive readiness are measured separately; end-to-end performance requires separate acceptance.
Wait for table recovery before release handoff
Release handoff and normal admission wait for complete recovery before starting tables, preserving existing timeouts.
- Prevent private poker rooms from starting before their recovery catalog is ready.