Commit Graph

  • 6dd1451095 fix(daily-question): wire reconcileLocalAnswerFromFirestore into DailyQuestionViewModel null 2026-06-30 19:06:01 -0500
  • a6d3062585 fix(daily-question): add reconcileLocalAnswerFromFirestore to heal Room/Firestore desync null 2026-06-30 19:05:59 -0500
  • 8d563d4fd4 docs(date-memories): add date reflections requirement to iOS parity plan null 2026-06-30 18:15:15 -0500
  • a90809bd40 docs(date-memories): update Report with R23 date memories verification null 2026-06-30 18:15:13 -0500
  • a0bd5fa1ac docs(date-memories): update QAPlan with date memories and reflection coverage null 2026-06-30 18:15:11 -0500
  • 1159d679b0 docs(date-memories): update glyph README with date_replay count null 2026-06-30 18:15:09 -0500
  • 1ea447fcd0 docs(date-memories): add illustration_date_memories_empty source assets null 2026-06-30 18:15:07 -0500
  • d2ab0da87e docs(date-memories): add glyph_date_replay source assets null 2026-06-30 18:15:05 -0500
  • 02c3180ee7 feat(date-memories): add illustration_date_memories_empty (light and dark) null 2026-06-30 18:15:03 -0500
  • 097140bc9d feat(date-memories): add glyph_date_replay vector drawable null 2026-06-30 18:15:00 -0500
  • 602ab3a260 feat(date-memories): add date_history and date_reflections Firestore security rules null 2026-06-30 18:14:56 -0500
  • 4dd60a6a4d chore(date-memories): add compiled onDateReflectionWritten null 2026-06-30 18:14:54 -0500
  • 2c47c222de chore(date-memories): add compiled onDateHistoryCreated null 2026-06-30 18:14:52 -0500
  • d4cedaf304 chore(date-memories): update compiled function index null 2026-06-30 18:14:50 -0500
  • b7ad62054b feat(date-memories): export onDateHistoryCreated and onDateReflectionWritten from index null 2026-06-30 18:14:48 -0500
  • 7a5f4e9bbd feat(date-memories): add onDateReflectionWritten Cloud Function null 2026-06-30 18:14:46 -0500
  • 2eb21f42f9 feat(date-memories): add onDateHistoryCreated Cloud Function null 2026-06-30 18:14:44 -0500
  • aa5ebcbcac feat(date-memories): add date_logged and date_reflection_* notification channels to PartnerNotificationManager null 2026-06-30 18:14:39 -0500
  • a96be6ea07 feat(date-memories): handle date_logged and date_reflection_* notification types in AppMessagingService null 2026-06-30 18:14:27 -0500
  • 47f311abda test(date-memories): add DATE_REFLECTION_PENDING priority engine tests null 2026-06-30 18:14:25 -0500
  • 5375ba90a8 feat(date-memories): add date reflection nudge card to HomeScreen null 2026-06-30 18:14:23 -0500
  • c056f6a7a1 feat(date-memories): add date reflection pending computation to HomeViewModel null 2026-06-30 18:14:21 -0500
  • 9b5f6b4eb3 feat(date-memories): add DATE_REFLECTION_PENDING priority to HomePriorityEngine null 2026-06-30 18:14:18 -0500
  • 038c1bd6e6 feat(date-memories): wire DateMemoriesScreen and DateReflectionScreen into AppNavigation null 2026-06-30 18:14:16 -0500
  • 9cd9cffe23 feat(date-memories): add dateReflection route to AppRoute null 2026-06-30 18:14:14 -0500
  • cf061f24f6 feat(date-memories): add date memory marking logic to DateMatchesViewModel null 2026-06-30 18:14:12 -0500
  • e4f10551a0 feat(date-memories): add 'We did this' and 'Date memories' entry to DateMatchesScreen null 2026-06-30 18:14:10 -0500
  • 90995cdaef feat(date-memories): add DateReflectionScreen and ViewModel null 2026-06-30 18:14:08 -0500
  • 151e019a88 feat(date-memories): add DateMemoriesScreen and ViewModel null 2026-06-30 18:14:03 -0500
  • f81987fa94 feat(date-memories): add DATE_HISTORY and DATE_REFLECTIONS to FirestoreCollections null 2026-06-30 18:14:00 -0500
  • 540ef29041 feat(date-memories): add FirestoreDateReflectionDataSource null 2026-06-30 18:13:57 -0500
  • 631064fcfe feat(date-memories): add FirestoreDateMemoryDataSource null 2026-06-30 18:13:56 -0500
  • de597f6238 feat(date-memories): add DateReflection domain model null 2026-06-30 18:13:48 -0500
  • 9a92b2b020 feat(date-memories): add DateMemory domain model null 2026-06-30 18:13:46 -0500
  • 28eb10f6c9 Revert "feat(date-memories): add DateMemory/DateReflection domain models and Firestore data sources (batch 1/8)" null 2026-06-30 18:13:00 -0500
  • 6a0849deb7 Revert "feat(date-memories): add DateMemories timeline + DateReflection screen, wire into nav (batch 2/8)" null 2026-06-30 18:13:00 -0500
  • 5905c2b2d0 Revert "feat(date-memories): add Home nudge for pending date reflection + priority engine (batch 3/8)" null 2026-06-30 18:13:00 -0500
  • c19e7ea711 Revert "feat(date-memories): wire date_logged/date_reflection_* notification types into messaging service (batch 4/8)" null 2026-06-30 18:13:00 -0500
  • 6dddac4615 Revert "feat(date-memories): add onDateHistoryCreated + onDateReflectionWritten Cloud Functions (batch 5/8)" null 2026-06-30 18:13:00 -0500
  • 2b3c729e5e Revert "feat(date-memories): add date_history + date_reflections Firestore security rules (batch 6/8)" null 2026-06-30 18:13:00 -0500
  • 2119792cca Revert "feat(date-memories): add glyph_date_replay + illustration_date_memories_empty assets (batch 7/8)" null 2026-06-30 18:13:00 -0500
  • 7cc2e78cfb Revert "docs(date-memories): update QAPlan, Report, iOS parity plan, and glyph README (batch 8/8)" null 2026-06-30 18:13:00 -0500
  • 6179a46c96 docs(date-memories): update QAPlan, Report, iOS parity plan, and glyph README (batch 8/8) null 2026-06-30 16:52:09 -0500
  • 067155c108 feat(date-memories): add glyph_date_replay + illustration_date_memories_empty assets (batch 7/8) null 2026-06-30 16:52:04 -0500
  • a77b295124 feat(date-memories): add date_history + date_reflections Firestore security rules (batch 6/8) null 2026-06-30 16:52:01 -0500
  • 8829cffa7e feat(date-memories): add onDateHistoryCreated + onDateReflectionWritten Cloud Functions (batch 5/8) null 2026-06-30 16:51:59 -0500
  • 8cfa367484 feat(date-memories): wire date_logged/date_reflection_* notification types into messaging service (batch 4/8) null 2026-06-30 16:51:57 -0500
  • 4ecb1560cb feat(date-memories): add Home nudge for pending date reflection + priority engine (batch 3/8) null 2026-06-30 16:51:55 -0500
  • 15087df13b feat(date-memories): add DateMemories timeline + DateReflection screen, wire into nav (batch 2/8) null 2026-06-30 16:51:52 -0500
  • 18ffdcdbaf feat(date-memories): add DateMemory/DateReflection domain models and Firestore data sources (batch 1/8) null 2026-06-30 16:51:50 -0500
  • d87603211a feat(activity): ActivityScreen timeline, HomeScreen activity feed, HomeViewModel wiring, PartnerNotificationManager, sendThinkingOfYouCallable Cloud Function null 2026-06-30 03:54:01 -0500
  • e74b6f59af feat(cloud-functions): onEntitlementChanged, acceptInviteCallable, onGameSessionUpdate, onAnswerRevealed, onMessageWritten — FirestoreUserDataSource E2EE, AppMessagingService, EditProfileScreen, iOS plan null 2026-06-30 02:38:31 -0500
  • fb810a12aa feat(profile): FirestoreUserDataSource E2EE read/write, EditProfileViewModel wiring, CoupleRepository/UserRepository updates, HomeViewModel polish null 2026-06-30 02:18:10 -0500
  • 941f22cdbd feat(home): HomePriorityEngine priority logic, HomeViewModel wiring, unit test coverage null 2026-06-30 01:26:09 -0500
  • 2a5c40508e feat(notifications): QuietHoursManager + NotificationSettingsScreen rewrite, Cloud Functions (streakReminder, quietHours, reengagement, gameRetention), UserRepository E2EE wiring, SettingsDataStore, firestore rules, wiring-scan null 2026-06-30 00:38:06 -0500
  • 7b1443e578 feat(pairing): CreateInviteScreen invite-code UX, MainActivity nav wiring, LocalQuestionContent question pool expansion, Future.md planning null 2026-06-29 21:44:26 -0500
  • f6291e1f2e feat(home): HomeScreen rewrite, HomePriorityEngine polish, CoupleRepository E2EE wiring, OutcomeCheckInDialog, YourProgress, MemoryLane, settings/pairing/paywall/play/wheel/question screens cleanup, brand illustrations, QA docs null 2026-06-29 16:51:46 -0500
  • 912b8c8093 feat(onboarding): RecoveryKeyManager fix, OnboardingScreen polish, build.gradle bump, Future.md planning update null 2026-06-29 13:01:08 -0500
  • b5b8ad8df9 feat(games): GameSessionManager cleanup, QuestionSessionRepositoryImpl fixes, HomeViewModel game-state wiring, QA docs null 2026-06-29 12:20:07 -0500
  • fb85b0a1fa docs(readme): revamped screenshot grid (dark mode), updated tagline and badges null 2026-06-29 11:21:50 -0500
  • 77f8dc30c0 chore(gitignore): add scratchpad/ to ignores null 2026-06-29 11:19:28 -0500
  • 897899f2da Revert "chore(scratchpad): rules arrays and positions scratch work" null 2026-06-29 11:18:50 -0500
  • 62696a69ea chore(scratchpad): rules arrays and positions scratch work null 2026-06-29 11:18:21 -0500
  • f6885b5fa4 docs(readme): revamped screenshot grid (dark mode), updated tagline and badges null 2026-06-29 11:18:02 -0500
  • b2dc96ca04 feat(games): GamePromptBanner UI + MessageBubbleOverlay polish, wheel bounce fix, GameCopy strings, QA coverage updates null 2026-06-29 11:02:31 -0500
  • f51a55743c feat(games): partner game-session push orchestration — in-app notification banner, Firestore rules, Cloud Function, QA docs null 2026-06-28 22:24:46 -0500
  • 0aaec3c10f feat(android): portrait lock for MainActivity + ThisOrThat answer-select glow + QA report null 2026-06-28 20:59:44 -0500
  • 403be3939c feat(wheel): finish gate UX polish — bounced-back banner on unanswered prompts, screen-reader live region, ViewModel unit test null 2026-06-28 19:54:31 -0500
  • 084a8a5391 docs(qa): record R18b Pass E full live re-run (notifications + cold-start smoke + payload privacy audit) null 2026-06-28 18:28:53 -0500
  • 214c6bf1d0 docs: add IOS_E2EE_STATUS.md handoff memo (iOS E2EE phase code-complete pending Mac/CI) null 2026-06-28 18:27:01 -0500
  • 763ca0c7cb feat(tools+docs): add androidTest deps for paired-CI vector harness; add SCHEMA_VERSION_DECISION + SPEC §19 pre-deploy checklist (iOS E2EE Batch 8) null 2026-06-28 17:56:44 -0500
  • 2aaeef3d45 docs(qa/brand): update ClaudeBrandingReview + ClaudeReport null 2026-06-28 17:52:57 -0500
  • 3ae3f36ad4 feat(android): brand glyph migration sweep 2 — migrate remaining Material icons to CloserGlyphs catalog null 2026-06-28 17:52:49 -0500
  • c3092ad8f6 feat(tools): Android canonical-vector instrument harness + hardened LEARNINGS verification helper; update capture script KNOWN_GAPS null 2026-06-28 17:50:00 -0500
  • 6cc78209af feat(android): migrate all UI surfaces from Material icons to brand glyphs (CloserGlyphs catalog) null 2026-06-28 17:46:11 -0500
  • c31ae4b1f7 feat(android): introduce CloserGlyphs catalog + migrate CategoryGlyph to brand vector resources null 2026-06-28 17:46:05 -0500
  • 582aefcec2 feat(tools): capture_android_canonical_vectors.sh for paired-CI fixture filling; sync Engineering Manual for wrapReleaseKeyCallable + iOS Keychain null 2026-06-28 17:31:30 -0500
  • e3c3dab466 fix(android): remove obsolete quiet-hours illustration block from NotificationSettings null 2026-06-28 17:26:32 -0500
  • 44cf982508 docs(brand): update ClaudeBrandingReview null 2026-06-28 17:26:27 -0500
  • 7f17f4c673 docs(ios/crypto): SPEC §18 Batch 5 status + Argon2id fixture-driven test (skips until paired CI fills TODO_ANDROID_RUN) null 2026-06-28 17:22:31 -0500
  • d404301579 brand: update glyph_connection_challenge preview PNG + contact sheet + ClaudeBrandingReview null 2026-06-28 17:19:17 -0500
  • ade4667db7 feat(ios): wire wrapReleaseKeyForPartner + MockFirestoreReleaseKey tests for the new Cloud Function null 2026-06-28 17:19:11 -0500
  • fa8005f25f feat(functions): wrapReleaseKeyCallable — server-side Tink wrap for iOS→Android release keys (closes keybox Path A interop gap) null 2026-06-28 17:19:06 -0500
  • 3d3209806c fix(ios/crypto): AnswerCrypto AAD to coupleId-only (matches Android FieldEncryptor); add vector fixtures for sealed-answer canonical JSON + Argon2id (TODO_ANDROID_RUN placeholders for paired CI) null 2026-06-28 17:19:00 -0500
  • 60c0003114 feat(ios/e2ee): schemaVersion 3 sealed answers + ECIES keyboxes Path A + DeviceKeyStatus (Batch 4) null 2026-06-28 17:14:50 -0500
  • 5c64f69754 brand: SVG restructure of glyph_connection_challenge (g→paths, added rect) null 2026-06-28 17:09:23 -0500
  • afa64bfb36 fix(android): update HomeScreen + AppNavigation routing null 2026-06-28 17:09:07 -0500
  • 4215563873 brand: update glyph_connection_challenge + add glyph_closer_heart_keyhole null 2026-06-28 17:09:02 -0500
  • 922364f8e8 feat(ios/e2ee): wire createInvite/acceptInvite + schemaVersion 2 daily-answer encrypt/decrypt (Batch 3) null 2026-06-28 17:04:47 -0500
  • 5dedf5cdd7 tools(qa): add painter-xml-scan.sh — catches painterResource(non-vector XML) crashes (O-ONBOARD-001 class) null 2026-06-28 16:57:29 -0500
  • 3970608a1c docs(qa): record O-ONBOARD-001 close + add painter-xml-scan to Pass C scanners in ClaudeQAPlan/Coverage null 2026-06-28 16:57:22 -0500
  • faac40afbf feat(ios/crypto): CryptoKit interop primitives — RecoveryKeyManager, FieldEncryptor (enc:v1:), CoupleEncryptionManager (Argon2id v1.3), Keychain store, wordlist bundle, tests + FirestoreService E2EE contract annotation null 2026-06-28 16:56:51 -0500
  • 9cec1e7e09 docs(qa): close Future.md onboarding + bucket-list items; record O-ONBOARD-001 in ClaudeReport (root cause was <bitmap> ic_launcher_foreground, not the <vector> background) null 2026-06-28 16:48:48 -0500
  • 5a86b462c4 fix(android): swap <bitmap> launcher foreground for raster in Onboarding + AuthLogoMark (fixes O-ONBOARD-001); polish BucketList add-FAB null 2026-06-28 16:48:43 -0500
  • 2d77786254 brand: refresh dark-variant illustrations (couple_history, couple_onboarding, tonight_partner_prompt) + dark contact sheet null 2026-06-28 16:48:37 -0500
  • ae4e6f4542 docs(ios/crypto): wire-format spec for CryptoKit interop with Android Tink AEAD + Argon2id (E2EE Batch 1) null 2026-06-28 16:45:19 -0500
  • d30c6c2080 security(scratchpad): add R18 Firestore probe scripts (L/D1 at-rest, premium state, quiet-hours mirror, last marker) null 2026-06-28 16:35:25 -0500
  • cdf84352d6 docs(screenshots): recapture 02-login.png on new emulator-5558 null 2026-06-28 16:35:20 -0500
  • 15039b6d40 chore(seed): rebuild bundled question-pack SQLite DB (Q-grammar pass) null 2026-06-28 16:35:16 -0500
  • 76c8d2cd4d docs(qa): record R18 updates in ClaudeReport and update ClaudeQACoverage matrix null 2026-06-28 16:35:06 -0500