null
|
f68cab5cf2
|
feat: signup flow, age gate, user model updates, how well screen, game prompt banner
|
2026-07-02 02:42:55 -05:00 |
null
|
24823a39f0
|
feat: question discussion components, conversation VM, wheel session, settings, text input limits
|
2026-07-01 21:39:00 -05:00 |
null
|
09fea873e2
|
fix: DateReflectionScreen and FirestoreDateReflectionDataSource updates
|
2026-07-01 20:01:01 -05:00 |
null
|
896bf26b28
|
feat: date reflection reveal, UI upgrade plan, seed updates, ime-scan script
|
2026-07-01 04:12:58 -05:00 |
null
|
222bbd1c57
|
chore(db): update seed database
|
2026-07-01 02:55:38 -05:00 |
null
|
31a2652e48
|
feat(art): add illustration_daily_reveal_ready (light + dark)
|
2026-07-01 02:55:20 -05:00 |
null
|
d03e071098
|
feat(home): escalate daily-question art by state (partner prompt → reveal ready)
|
2026-07-01 02:55:15 -05:00 |
null
|
6d0a52641c
|
feat(daily): rename modes to weekday theme names (Mood Check Monday, Tiny Win Tuesday, etc.)
|
2026-07-01 02:55:11 -05:00 |
null
|
611481786f
|
fix(home): update PairedHomePreview to BOTH_ANSWERED state
|
2026-07-01 02:19:35 -05:00 |
null
|
cbffaeca9f
|
test(settings): ChangePasswordViewModelTest — validation + typed exception mapping
|
2026-07-01 02:19:31 -05:00 |
null
|
e585856228
|
feat(nav): wire ChangePasswordScreen composable into AppNavigation
|
2026-07-01 02:19:26 -05:00 |
null
|
06c94f55f4
|
feat(nav): add CHANGE_PASSWORD route constant
|
2026-07-01 02:19:22 -05:00 |
null
|
a096ca15d1
|
feat(settings): add Change password row to SecurityScreen (email/password accounts only)
|
2026-07-01 02:19:18 -05:00 |
null
|
30000e7150
|
feat(settings): ChangePasswordScreen + ViewModel with validation and typed error mapping
|
2026-07-01 02:19:14 -05:00 |
null
|
7fe095ef3b
|
feat(auth): delegate changePassword in FirebaseAuthRepositoryImpl
|
2026-07-01 02:19:11 -05:00 |
null
|
54608796e1
|
feat(auth): add changePassword to AuthRepository interface
|
2026-07-01 02:19:04 -05:00 |
null
|
d1e23f24ee
|
feat(auth): wire changePassword with reauth + typed exceptions in FirebaseAuthDataSource
|
2026-07-01 02:19:01 -05:00 |
null
|
07eaf3c989
|
feat(auth): ChangePasswordException sealed class with typed failure reasons
|
2026-07-01 02:18:50 -05:00 |
null
|
7ff405cad6
|
feat(notifications): remove partner avatar from notifications (privacy)
|
2026-07-01 01:50:50 -05:00 |
null
|
f47fa3cdbd
|
test(auth): ForgotPasswordViewModelTest — typed exception + blank-email coverage
|
2026-07-01 01:50:46 -05:00 |
null
|
1a6cdaa078
|
feat(auth): enumeration-safe forgot-password confirmation copy
|
2026-07-01 01:50:40 -05:00 |
null
|
79bfea7cfb
|
feat(auth): use typed PasswordResetException in ForgotPasswordViewModel
|
2026-07-01 01:50:36 -05:00 |
null
|
885af0b9e4
|
feat(auth): wire typed PasswordResetException into FirebaseAuthDataSource
|
2026-07-01 01:50:32 -05:00 |
null
|
a1d2ea2db8
|
feat(auth): typed PasswordResetException sealed class
|
2026-07-01 01:50:27 -05:00 |
null
|
f117da16c8
|
test(home): 10 unit tests for computeDailyQuestionState
|
2026-07-01 00:21:42 -05:00 |
null
|
0feb72eaf0
|
feat(home): reveal-waiting art swap, copy polish, extracted computeDailyQuestionState
|
2026-07-01 00:21:33 -05:00 |
null
|
aa09566636
|
feat(backup): lock-less phrase reveal, copy-to-clipboard, partner-restore empty-state, manual helper entry (R24-d)
|
2026-06-30 21:24:52 -05:00 |
null
|
b78dc24870
|
feat(backup): add back button to restore screens (R24-d)
|
2026-06-30 21:24:36 -05:00 |
null
|
71227561e7
|
feat(backup): pass recovery phrase through RestoreManager fulfill/complete (R24-c)
|
2026-06-30 21:24:30 -05:00 |
null
|
209ad74532
|
feat(backup): add ckx:v1 keybox envelope for recovery phrase transfer (R24-c)
|
2026-06-30 21:24:26 -05:00 |
null
|
db948511fb
|
chore: add org.json:json:20240303 test dependency for BackupCodec round-trips
|
2026-06-30 20:43:30 -05:00 |
null
|
139a78c222
|
feat(backup): add RESTORE_REQUESTED and RESTORE_SELF_ALERT notification types
|
2026-06-30 20:43:18 -05:00 |
null
|
72c251ae95
|
feat(backup): wire opportunistic backup trigger into HomeViewModel.loadHome
|
2026-06-30 20:43:14 -05:00 |
null
|
fd854b635c
|
feat(backup): add RESTORE_REQUEST and RESTORE_CONSENT routes + navigation
|
2026-06-30 20:43:10 -05:00 |
null
|
df9edc1daf
|
feat(backup): add 'Ask your partner to restore' entry to RecoveryScreen
|
2026-06-30 20:43:06 -05:00 |
null
|
f161fa49a5
|
feat(backup): add RestoreViewModel + RestoreRequestScreen + RestoreConsentScreen (partner-assisted restore UI)
|
2026-06-30 20:43:02 -05:00 |
null
|
ed3c3e4d22
|
feat(backup): add RestoreManager (request/fulfill/complete partner-assisted restore with OOB code gate)
|
2026-06-30 20:42:58 -05:00 |
null
|
c8b0130f1c
|
feat(backup): add CoupleKeyTransfer (ECIES couple-key wrap + OOB verification code) and CoupleEncryptionManager export/store methods
|
2026-06-30 20:42:54 -05:00 |
null
|
4ac2c8f841
|
feat(backup): add BackupManager (incremental append + compaction) and BackupRestoreManager (download + decrypt + upsert)
|
2026-06-30 20:42:50 -05:00 |
null
|
f94fccfc61
|
feat(backup): wire ConversationCacheDatabase and DAO into DatabaseModule
|
2026-06-30 20:42:46 -05:00 |
null
|
ab59e7e5c9
|
feat(backup): add ConversationCache Room DB (entity, DAO, database)
|
2026-06-30 20:42:42 -05:00 |
null
|
230e7f6201
|
feat(backup): add uploadBackupSnapshot and deleteBackupSnapshot to FirebaseStorageDataSource
|
2026-06-30 20:42:38 -05:00 |
null
|
909d261b6c
|
feat(backup): add backup record reads to FirestoreConversationDataSource (getConversationsForBackup, getBackupRecords)
|
2026-06-30 20:42:34 -05:00 |
null
|
522823f739
|
feat(backup): add FirestoreBackupDataSource (manifest CAS, chunk append, snapshot compaction, restore requests)
|
2026-06-30 20:42:30 -05:00 |
null
|
14ba8f2b53
|
feat(backup): add BACKUP and RESTORE_REQUESTS collection constants to FirestoreCollections
|
2026-06-30 20:42:26 -05:00 |
null
|
7f8dac0b14
|
feat(backup): add BackupCodec (JSON codec for backup chunks, checksum, reactions)
|
2026-06-30 20:42:12 -05:00 |
null
|
6b469357c1
|
feat(backup): add ConversationBackup domain models (BackupMessageRecord, BackupCursor, BackupManifest, RestoreRequest)
|
2026-06-30 20:42:07 -05:00 |
null
|
02e7e6d5c3
|
test(daily-question): add ReconcileLocalAnswerTest for Room/Firestore desync guard
|
2026-06-30 19:06:14 -05:00 |
null
|
96274d68f9
|
fix(daily-question): wire reconcileLocalAnswerFromFirestore into HomeViewModel
|
2026-06-30 19:06:12 -05:00 |
null
|
6dd1451095
|
fix(daily-question): wire reconcileLocalAnswerFromFirestore into DailyQuestionViewModel
|
2026-06-30 19:06:01 -05:00 |
null
|
a6d3062585
|
fix(daily-question): add reconcileLocalAnswerFromFirestore to heal Room/Firestore desync
|
2026-06-30 19:05:59 -05:00 |
null
|
02c3180ee7
|
feat(date-memories): add illustration_date_memories_empty (light and dark)
|
2026-06-30 18:15:03 -05:00 |
null
|
097140bc9d
|
feat(date-memories): add glyph_date_replay vector drawable
|
2026-06-30 18:15:00 -05:00 |
null
|
aa5ebcbcac
|
feat(date-memories): add date_logged and date_reflection_* notification channels to PartnerNotificationManager
|
2026-06-30 18:14:39 -05:00 |
null
|
a96be6ea07
|
feat(date-memories): handle date_logged and date_reflection_* notification types in AppMessagingService
|
2026-06-30 18:14:27 -05:00 |
null
|
47f311abda
|
test(date-memories): add DATE_REFLECTION_PENDING priority engine tests
|
2026-06-30 18:14:25 -05:00 |
null
|
5375ba90a8
|
feat(date-memories): add date reflection nudge card to HomeScreen
|
2026-06-30 18:14:23 -05:00 |
null
|
c056f6a7a1
|
feat(date-memories): add date reflection pending computation to HomeViewModel
|
2026-06-30 18:14:21 -05:00 |
null
|
9b5f6b4eb3
|
feat(date-memories): add DATE_REFLECTION_PENDING priority to HomePriorityEngine
|
2026-06-30 18:14:18 -05:00 |
null
|
038c1bd6e6
|
feat(date-memories): wire DateMemoriesScreen and DateReflectionScreen into AppNavigation
|
2026-06-30 18:14:16 -05:00 |
null
|
9cd9cffe23
|
feat(date-memories): add dateReflection route to AppRoute
|
2026-06-30 18:14:14 -05:00 |
null
|
cf061f24f6
|
feat(date-memories): add date memory marking logic to DateMatchesViewModel
|
2026-06-30 18:14:12 -05:00 |
null
|
e4f10551a0
|
feat(date-memories): add 'We did this' and 'Date memories' entry to DateMatchesScreen
|
2026-06-30 18:14:10 -05:00 |
null
|
90995cdaef
|
feat(date-memories): add DateReflectionScreen and ViewModel
|
2026-06-30 18:14:08 -05:00 |
null
|
151e019a88
|
feat(date-memories): add DateMemoriesScreen and ViewModel
|
2026-06-30 18:14:03 -05:00 |
null
|
f81987fa94
|
feat(date-memories): add DATE_HISTORY and DATE_REFLECTIONS to FirestoreCollections
|
2026-06-30 18:14:00 -05:00 |
null
|
540ef29041
|
feat(date-memories): add FirestoreDateReflectionDataSource
|
2026-06-30 18:13:57 -05:00 |
null
|
631064fcfe
|
feat(date-memories): add FirestoreDateMemoryDataSource
|
2026-06-30 18:13:56 -05:00 |
null
|
de597f6238
|
feat(date-memories): add DateReflection domain model
|
2026-06-30 18:13:48 -05:00 |
null
|
9a92b2b020
|
feat(date-memories): add DateMemory domain model
|
2026-06-30 18:13:46 -05:00 |
null
|
28eb10f6c9
|
Revert "feat(date-memories): add DateMemory/DateReflection domain models and Firestore data sources (batch 1/8)"
This reverts commit 18ffdcdbaf.
|
2026-06-30 18:13:00 -05:00 |
null
|
6a0849deb7
|
Revert "feat(date-memories): add DateMemories timeline + DateReflection screen, wire into nav (batch 2/8)"
This reverts commit 15087df13b.
|
2026-06-30 18:13:00 -05:00 |
null
|
5905c2b2d0
|
Revert "feat(date-memories): add Home nudge for pending date reflection + priority engine (batch 3/8)"
This reverts commit 4ecb1560cb.
|
2026-06-30 18:13:00 -05:00 |
null
|
c19e7ea711
|
Revert "feat(date-memories): wire date_logged/date_reflection_* notification types into messaging service (batch 4/8)"
This reverts commit 8cfa367484.
|
2026-06-30 18:13:00 -05:00 |
null
|
2119792cca
|
Revert "feat(date-memories): add glyph_date_replay + illustration_date_memories_empty assets (batch 7/8)"
This reverts commit 067155c108.
|
2026-06-30 18:13:00 -05:00 |
null
|
067155c108
|
feat(date-memories): add glyph_date_replay + illustration_date_memories_empty assets (batch 7/8)
|
2026-06-30 16:52:04 -05:00 |
null
|
8cfa367484
|
feat(date-memories): wire date_logged/date_reflection_* notification types into messaging service (batch 4/8)
|
2026-06-30 16:51:57 -05:00 |
null
|
4ecb1560cb
|
feat(date-memories): add Home nudge for pending date reflection + priority engine (batch 3/8)
|
2026-06-30 16:51:55 -05:00 |
null
|
15087df13b
|
feat(date-memories): add DateMemories timeline + DateReflection screen, wire into nav (batch 2/8)
|
2026-06-30 16:51:52 -05:00 |
null
|
18ffdcdbaf
|
feat(date-memories): add DateMemory/DateReflection domain models and Firestore data sources (batch 1/8)
|
2026-06-30 16:51:50 -05:00 |
null
|
d87603211a
|
feat(activity): ActivityScreen timeline, HomeScreen activity feed, HomeViewModel wiring, PartnerNotificationManager, sendThinkingOfYouCallable Cloud Function
|
2026-06-30 03:54:01 -05:00 |
null
|
e74b6f59af
|
feat(cloud-functions): onEntitlementChanged, acceptInviteCallable, onGameSessionUpdate, onAnswerRevealed, onMessageWritten — FirestoreUserDataSource E2EE, AppMessagingService, EditProfileScreen, iOS plan
|
2026-06-30 02:38:31 -05:00 |
null
|
fb810a12aa
|
feat(profile): FirestoreUserDataSource E2EE read/write, EditProfileViewModel wiring, CoupleRepository/UserRepository updates, HomeViewModel polish
|
2026-06-30 02:18:10 -05:00 |
null
|
941f22cdbd
|
feat(home): HomePriorityEngine priority logic, HomeViewModel wiring, unit test coverage
|
2026-06-30 01:26:09 -05:00 |
null
|
2a5c40508e
|
feat(notifications): QuietHoursManager + NotificationSettingsScreen rewrite, Cloud Functions (streakReminder, quietHours, reengagement, gameRetention), UserRepository E2EE wiring, SettingsDataStore, firestore rules, wiring-scan
|
2026-06-30 00:38:06 -05:00 |
null
|
7b1443e578
|
feat(pairing): CreateInviteScreen invite-code UX, MainActivity nav wiring, LocalQuestionContent question pool expansion, Future.md planning
|
2026-06-29 21:44:26 -05:00 |
null
|
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
|
2026-06-29 16:51:46 -05:00 |
null
|
912b8c8093
|
feat(onboarding): RecoveryKeyManager fix, OnboardingScreen polish, build.gradle bump, Future.md planning update
|
2026-06-29 13:01:08 -05:00 |
null
|
b5b8ad8df9
|
feat(games): GameSessionManager cleanup, QuestionSessionRepositoryImpl fixes, HomeViewModel game-state wiring, QA docs
|
2026-06-29 12:20:07 -05:00 |
null
|
b2dc96ca04
|
feat(games): GamePromptBanner UI + MessageBubbleOverlay polish, wheel bounce fix, GameCopy strings, QA coverage updates
|
2026-06-29 11:02:31 -05:00 |
null
|
f51a55743c
|
feat(games): partner game-session push orchestration — in-app notification banner, Firestore rules, Cloud Function, QA docs
|
2026-06-28 22:24:46 -05:00 |
null
|
0aaec3c10f
|
feat(android): portrait lock for MainActivity + ThisOrThat answer-select glow + QA report
|
2026-06-28 20:59:44 -05:00 |
null
|
403be3939c
|
feat(wheel): finish gate UX polish — bounced-back banner on unanswered prompts, screen-reader live region, ViewModel unit test
|
2026-06-28 19:54:31 -05:00 |
null
|
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)
|
2026-06-28 17:56:44 -05:00 |
null
|
3ae3f36ad4
|
feat(android): brand glyph migration sweep 2 — migrate remaining Material icons to CloserGlyphs catalog
|
2026-06-28 17:52:49 -05:00 |
null
|
c3092ad8f6
|
feat(tools): Android canonical-vector instrument harness + hardened LEARNINGS verification helper; update capture script KNOWN_GAPS
|
2026-06-28 17:50:00 -05:00 |
null
|
6cc78209af
|
feat(android): migrate all UI surfaces from Material icons to brand glyphs (CloserGlyphs catalog)
|
2026-06-28 17:46:11 -05:00 |
null
|
c31ae4b1f7
|
feat(android): introduce CloserGlyphs catalog + migrate CategoryGlyph to brand vector resources
|
2026-06-28 17:46:05 -05:00 |
null
|
e3c3dab466
|
fix(android): remove obsolete quiet-hours illustration block from NotificationSettings
|
2026-06-28 17:26:32 -05:00 |
null
|
afa64bfb36
|
fix(android): update HomeScreen + AppNavigation routing
|
2026-06-28 17:09:07 -05:00 |