- Game answer listeners (ToT/HowWell/DesireSync): close(err) instead of swallowing snapshot errors, + .catch in each VM's observeReveal surfacing a retryable ERROR (GameCopy.SYNC_ERROR + retrySync re-attach) — games no longer hang on WAITING forever on listener failure (GAME-HANG-001; matches the Wheel/Capsule sources' established pattern). - Daily question: paired fallback pool is now premium-INDEPENDENT so both partners always resolve the same deterministic question; viewer-premium pools broke the couple contract when entitlement state differed or flipped mid-day (DQ-MISMATCH-001, reproduced live: partners answered different questions). - Daily reveal: humanize raw option-id fallbacks so slugs never render (DQ-SLUG-001, e.g. 'fake_awards_should_be_mandatory'). - assignDailyQuestion.ts: replace hardcoded CST_OFFSET_HOURS=-6 with DST-safe Intl America/Chicago helpers (DST-001) + 5 regression tests (CDT/CST labeling, 6PM reveal instant, spring-forward round-trip). Verified live 2-device: identical daily question on both partners post-fix; ToT full loop 5/5 reveal regression clean. Unit 244 + functions 58 green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| schemas | ||
| src | ||
| build.gradle.kts | ||
| proguard-rules.pro | ||