Commit Graph

433 Commits

Author SHA1 Message Date
null b48163540c fix(ui): route QuestionPackLibrary card art through BrandIllustration for in-app-dark theme (C-DARKART-002) 2026-06-28 12:55:29 -05:00
null 736885c103 docs: update README and Engineering Manual — auth uses Credential Manager, iOS pairing blocked, add scripts/ layout, new screenshot placeholder 2026-06-28 12:55:24 -05:00
null faa0d9007f docs: consolidate Future backlog, update ClaudeQAPlan/ClaudeReport, note FUTURE.md removal in Engineering Manual 2026-06-28 12:45:54 -05:00
null 7a9b9eaa9d tools+test: extend theme-scan.sh and update notification + brand copy tests 2026-06-28 12:45:37 -05:00
null f927097d67 brand: update dark-theme illustration and pack-art night assets 2026-06-28 12:45:15 -05:00
null b10395812b fix(ui): remove hardcoded colors in BucketList, DateMatch, QuestionThread, WheelHistory; delete unused PlaceholderScreen 2026-06-28 12:45:02 -05:00
null 8b7bbc2996 fix(dates): remove dead setDateIdeaId from DateBuilderViewModel (N-002 follow-up) 2026-06-28 11:30:45 -05:00
null 4ee154d8ed docs(qa): update ClaudeQAPlan + ClaudeQACoverage with living-doc guardrails, wiring scanner, and device-matrix honesty 2026-06-28 11:30:29 -05:00
null 896691fee3 tools: add wiring-scan.sh dead-feature / orphan-wiring scanner for Pass N 2026-06-28 11:30:21 -05:00
null 954aab4cd2 brand: add generated glyph assets + illustration exports, allow generated-art in git 2026-06-28 11:30:12 -05:00
null 234db42221 docs(plan): Mark Engineering Reference Manual plan complete 2026-06-28 11:15:30 -05:00
null 186b40546b docs(manual): Batch 9 — fix TOC nesting, broken anchor, and stale iOS claim in repository layout 2026-06-28 11:14:37 -05:00
null df2837dc06 docs(manual): Batch 8 — update theme landmine entry (C-ART-EDGE-002 closed, theme scanner mandatory) 2026-06-28 11:13:21 -05:00
null eb78b920a4 docs(manual): Batch 7 — correct iOS E2EE gap details and ProGuard description 2026-06-28 11:12:15 -05:00
null 8ce99e197f art 2026-06-28 11:10:46 -05:00
null e4175ebb52 docs(manual): Batch 6 — correct Billing webhook flow, add CouplePremiumChecker, fix quiet-hours and notification_queue claims 2026-06-28 11:10:08 -05:00
null 74e46761f2 docs(manual): Batch 5 — correct Firestore rules per-collection notes (users premium, couples create/update shape, remove migration helpers) 2026-06-28 11:08:42 -05:00
null d19f0f8eb8 docs(manual): Batch 4 — update Cloud Functions list, module responsibilities, webhook ack order, and schedule timezones 2026-06-28 11:07:24 -05:00
null 08368b3e01 docs(manual): Batch 3 — correct E2EE and Firestore data model (user fields, couple fields, date plans, preferences, bucket list, secure subdoc) 2026-06-28 11:06:20 -05:00
null a6aa23eee2 docs(manual): Batch 2 — correct auth providers and couples model (no anonymous, no migration field, Google SDK not Credential Manager) 2026-06-28 11:04:15 -05:00
null be710a0c9d docs(manual): Batch 1 — correct repository layout paths (core/feature, QuestionDao, QuestionJsonParser) 2026-06-28 11:02:45 -05:00
null 3a6ae5c69a feat: theme-scan.sh summary counts, BrandIllustration exclusion, QAPlan scanner-first wiring 2026-06-28 10:50:27 -05:00
null 9949200f47 feat: wire theme-scan.sh into QA docs, fix script Tier 2, file 9 C-THEME P2 defects 2026-06-28 10:34:55 -05:00
null 4deed13845 feat: theme-scan.sh + improved Pass C scanner methodology (tier 1A-1G, tier 2, tier 3 roadmap) 2026-06-28 10:28:17 -05:00
null fe3ea7715c feat: add automated theme-mismatch scanner to Pass C methodology (Tier 1-3) 2026-06-28 10:20:41 -05:00
null 37ed7cebec feat: quiet hours notifications, settings UI, game session updates, docs 2026-06-28 10:00:25 -05:00
null c31eea2549 feat(premium): one-time PremiumUnlockOverlay + theme/art fixes (R13)
- New PremiumUnlockOverlay.kt — one-time 'Premium unlocked' celebration for both partners on couple-shared Premium activation. Driven off CouplePremiumChecker (not the push) so it surfaces for both wherever they are. Gated by persisted premiumUnlockCelebrated flag, auto-reset on lapse.
- New illustration_premium_unlock.png asset for the overlay.
- AppNavigation hosts the overlay at root alongside MessageBubbleOverlay.
- SettingsDataStore: new premiumUnlockCelebrated flag + setter.
- ThisOrThatScreen: theme-token fixes for A/B options, mood chips, versus badge, progress, ChoicePromptBackdrop — all read from MaterialTheme.colorScheme. Bumps dark-mode legibility.
- ConversationScreen: bump PendingMediaChip retry/dismiss IconButtons to 48dp touch targets.
- PlayHubScreen / ActivityScreen / HomeScreen / SubscriptionScreen / OnboardingScreen / PairPromptScreen / PaywallScreen / LocalQuestionContent / OutcomeCheckInDialog / ChatComponents: assorted R13 polish.
- firestore.rules (n/a this batch), SettingsRepository, manual: doc + flag wiring.
- Manual: new C-DARK-UI-001 + C-ART-EDGE-002 landmines, Premium-unlock-modal pattern note.
2026-06-27 21:01:16 -05:00
null 4eed0a8115 feat(premium): couple-shared unlock notification + reveal retry + users update allowlist + brand glyphs
- New Cloud Function: onEntitlementChanged (Firestore onWrite on entitlements/premium) — edge-triggered inactive→active, notifies the OTHER partner so couple-shared unlock isn't silent
- New notification type SUBSCRIPTION_CHANGED → routes to SUBSCRIPTION
- AnswerRevealViewModel: re-issue markRevealed if best-effort failed (offline/transient) so partner_opened_answer push eventually fires
- firestore.rules: harden users/{uid} update allowlist (defense-in-depth; no live hole)
- 18 new brand glyph vector drawables (drawable-nodpi/)
- SettingsScreen / PlayHubScreen / WaitingForPartnerScreen: swap Material icons for new brand glyphs
- ClaudeQA docs + Future.md updated
2026-06-27 16:35:41 -05:00
null 9f09ebbc67 chore: R12 working tree — QA docs, brand illustration updates, date-match paywall routing, theme tweaks 2026-06-27 15:34:38 -05:00
null 361eff18e3 docs(manual): review pass 3 — routing route names, notification_queue reality, /questions server-only, conversations/messages data model, premium sharing, entitlement fields, daily reminder skip conditions, iOS tree fix 2026-06-27 15:27:14 -05:00
null c167211323 docs(manual): review pass 2 — iOS pairing actually broken, notification routes corrected, repo tree fixes, schedules updated, reveal-flow read-path gotcha 2026-06-27 15:14:09 -05:00
null 439ae7ce51 docs(manual): review fixes — secure subdoc reveal flow, encryption version accuracy, anchor slug corrections, ToC/how-to updates, helper function list, gitignore case-sensitivity note 2026-06-27 15:00:47 -05:00
null 9eee3951e9 docs(qa): point Report + Coverage at Engineering Reference Manual (landmines section) 2026-06-27 14:51:48 -05:00
null 58d09ac8d3 docs(qa): cross-reference Engineering Reference Manual by Pass with anchor links 2026-06-27 14:51:23 -05:00
null 3924d63c7b docs(manual): R10 architecture updates — game push semantics, foreground banner, deep-link routes, premium gate pattern, landmines section 2026-06-27 14:50:23 -05:00
null 2cd0af65a8 chore: working tree changes — QA docs, app tweaks, Cloud Functions updates 2026-06-27 13:31:09 -05:00
null 9c84c36443 fix(qa): R10 fix phase — 5 P2 bugs fixed (C-HOME-001, C-NAV-002, C-NAV-003, C-PW-001, C-SEC-001) 2026-06-27 10:34:26 -05:00
null 32b5b560a2 docs(qa): update report with R10 results — E-GAME-002 fix, foreground banner, C-SEC-001 2026-06-26 20:04:20 -05:00
null 38fdc6d2cc feat(notif): foreground game-start banner + bold Home waiting hero — join specific game from both 2026-06-26 20:04:11 -05:00
null 6e79cd9704 fix(notif): replace status-diff with idempotent flag-claim for game start/finish pushes (F-RACE-001) 2026-06-26 20:04:05 -05:00
null e6a8deef67 docs(qa): update report with couple-key encryption, onAnswerRevealed, both-answered unlock 2026-06-26 12:41:22 -05:00
null b9b15604ef fix(games): notification deep-link lands in active game — singleTop + server-first read (E-GAME-001) 2026-06-26 12:41:17 -05:00
null e5c9c43317 feat(rules): add read-gated secure subdoc for couple-key encrypted answers (schemaVersion 2) 2026-06-26 12:41:06 -05:00
null f7418df700 feat(notif): add PARTNER_OPENED_ANSWER notification type + deep-link routing 2026-06-26 12:40:54 -05:00
null df32229f3b feat(answers): replace sealed-key exchange with couple-key encryption (schemaVersion 2) — reveal on both-answered, no key handshake 2026-06-26 12:40:49 -05:00
null 47867b5663 feat(notif): onAnswerWritten detects both-answered — send 'unlocked' notification instead of 'go answer' 2026-06-26 12:40:41 -05:00
null 8b4c5ba005 feat(notif): add onAnswerRevealed cloud function — notify partner when answers are opened 2026-06-26 12:40:36 -05:00
null fe104b4a41 brand(art): add 12 dark-theme illustration variants for night mode 2026-06-26 11:27:36 -05:00
null f924af9445 qa(brand): complete both-theme sweep of the art drop — 0 issues, 0 FATAL
In-context dark+light verified (Bucket List, Quiet hours, Security, Delete account);
A1/A3 + empty-only states via the debug gallery both themes. Caught + fixed a stale
build on 5556. Baseline intact.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 10:11:42 -05:00
null 768f511870 docs(brand): mark all 11 generated illustrations wired into Android (A1-A12)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 10:01:40 -05:00