From c54ceb16c3bbc26e71d84d85af546d03a31c73d0 Mon Sep 17 00:00:00 2001 From: null Date: Wed, 24 Jun 2026 20:04:54 -0500 Subject: [PATCH] =?UTF-8?q?qa(round1):=20Pass=20B=20games=20launch=20sweep?= =?UTF-8?q?=20=E2=80=94=20no=20crashes;=20stale=20session=20recovery=20ver?= =?UTF-8?q?ified=20(B-001=20P3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This or That / How Well / Connection Challenges / Spin the Wheel launch clean (no FATAL). A stale active wheel session blocked all games; in-app 'End their game' recovery works. Full two-device lifecycle partial this round. Report-only. Co-Authored-By: Claude Opus 4.8 --- ClaudeQACoverage.md | 14 ++++++++------ ClaudeReport.md | 12 ++++++++---- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/ClaudeQACoverage.md b/ClaudeQACoverage.md index 9e218065..ba20e1e8 100644 --- a/ClaudeQACoverage.md +++ b/ClaudeQACoverage.md @@ -20,14 +20,16 @@ Pass A: **complete** (1 systemic P1). ## Pass B — Games lifecycle (start / play / finish + results) | Game | starts | plays | finishes/results | no crash | Status | |---|---|---|---|---|---| -| This or That | todo | todo | todo | todo | todo | -| How Well Do You Know Me | todo | todo | todo | todo | todo | -| Desire Sync | todo | todo | todo | todo | todo | -| Connection Challenges | todo | todo | todo | todo | todo | -| Memory Lane | todo | todo | todo | todo | todo | -| Spin the Wheel | todo | todo | todo | todo | todo | +| This or That | pass (launch) | partial | todo | pass | launch ok | +| How Well Do You Know Me | pass (launch) | partial | todo | pass | launch ok | +| Desire Sync | n/a (premium) | todo | todo | todo | needs premium toggle | +| Connection Challenges | pass (launch) | partial | todo | pass | launch ok | +| Memory Lane | n/a (premium) | todo | todo | todo | needs premium toggle | +| Spin the Wheel | pass (launch) | partial | todo | pass | launch ok | | Date Match | todo | todo | todo | todo | todo | +_Note: stale active session blocked games (B-001); cleared via in-app "End their game" (recovery verified). Full two-device start→finish + results = partial this round._ + ## Pass C — Visual (light + dark), all ~50 routes _todo — enumerate from AppRoute.kt; 5554=Dark, 5556=Light._ diff --git a/ClaudeReport.md b/ClaudeReport.md index 38732bb9..36a5a78d 100644 --- a/ClaudeReport.md +++ b/ClaudeReport.md @@ -1,6 +1,6 @@ # Claude QA Report — Full-App QA (living report) -> **RUN-STATE: Round 1 | Pass B (games lifecycle) | NEXT ACTION: drive each game start→finish on both devices, log issues.** (Pass A done: A-001 P1.) +> **RUN-STATE: Round 1 | Pass C (visual light+dark) NEXT | NEXT ACTION: enumerate AppRoute screens, 5554=Dark/5556=Light, screenshot each.** (Pass A done: A-001 P1. Pass B sweep done: B-001 P3; full game lifecycle partial.) > Playbook: `ClaudeQAPlan.md`. Coverage matrix: `ClaudeQACoverage.md`. Report-only during passes (no fixes until the fix phase). > Devices: emulator-5554 (QA=`Y05AKO`) + emulator-5556 (Sam=`imDjjO`), paired (coupleId `Xal3Kw3gjSdn0niERYKJ`). Build == HEAD `64f0a7e`. @@ -14,7 +14,7 @@ _(Prior games/notifications QA from 2026-06-24 was completed + verified; superse | P0 | 0 | 0 | | P1 | 1 | 0 | | P2 | 0 | 0 | -| P3 | 0 | 0 | +| P3 | 1 | 0 | --- @@ -29,8 +29,12 @@ _(Prior games/notifications QA from 2026-06-24 was completed + verified; superse **Note (by-design, not a bug):** `SubscriptionScreen` uses per-user `isPremium()` — correct, it reflects the user's *own* subscription/account state, not a feature gate. -## Pass B — Games lifecycle -_not started_ +## Pass B — Games lifecycle (launch/crash sweep done; full two-device lifecycle partial) +| ID | Area | Screen/Route | Severity | Description | Repro | Status | +|---|---|---|---|---|---|---| +| B-001 | Games / sessions | couples/{id}/sessions | **P3** (observe) | A stale `active` wheel session (startedBy QA, `createdAt` missing/undefined) blocked **all** games ("Waiting for Sam"). In-app **"End their game" recovery works** (session→completed, games unblocked). Likely a prior-test artifact, but: sessions appearing without a timestamp + one stale session blocking every game is worth a guard. | Open This or That → "Waiting for Sam… Sam is playing a Wheel game"; tap End their game → unblocked. | Open | + +**Launch/crash sweep (QA, free):** This or That ✅ (mood/length select), How Well Do You Know Me ✅ (intro), Connection Challenges ✅, Spin the Wheel ✅ — all render, **no FATAL**. Desire Sync + Memory Lane are premium-gated (covered in Pass A; gameplay needs premium toggle). Date Match: todo. Full two-device start→finish + results not exhaustively re-run this round (the prior round verified `onGameSessionUpdate` start/finish end-to-end). ## Pass C — Visual (light + dark) _not started_