This website requires JavaScript.
a530064ddb
fix: refine shell back routes — remove full-screen screens from shellBackRoutes set
null
2026-06-17 22:03:36 -0500
45058fdd5f
feat: couple intimacy seed data, "How Well" screen, ThisOrThat + wheel polish
null
2026-06-17 21:57:40 -0500
254652cb86
feat: add "This or That" screen with navigation, DB query, and Play Hub card
null
2026-06-17 21:34:07 -0500
84390a48fc
fix: test infrastructure and entitlement logic updates
null
2026-06-17 21:08:13 -0500
827cfd2e2d
fix: UI polish across auth, play hub, settings, wheel screens
null
2026-06-17 20:59:21 -0500
d6f5eb6b0f
fix: inject FirebaseFirestore via constructor instead of getInstance()
null
2026-06-17 20:53:42 -0500
e5c734d3b2
fix: ViewModel and repository error handling improvements
null
2026-06-17 20:51:18 -0500
c89e4f6bba
fix: answer reveal and question category UI/state fixes
null
2026-06-17 20:41:37 -0500
a0fd1d56f6
feat: category picker redesign, bucket list wiring, settings + nav updates
null
2026-06-17 20:38:06 -0500
c816033e74
feat: cloud function for date match cleanup, ViewModel and repo improvements
null
2026-06-17 20:26:24 -0500
fb87fe149a
docs: rewrite README with product clarity, add screenshots, register Room DAOs in DI
null
2026-06-17 19:59:07 -0500
662a49df9d
refactor: centralize all Firestore collection paths in FirestoreCollections constants
null
2026-06-17 19:47:58 -0500
d86a5de2a0
fix: deny client access to entitlement_events collection
null
2026-06-17 19:42:41 -0500
19c6b4a6cb
fix: real uid in bucket list, Firestore rules hardening for date plans & bucket list
null
2026-06-17 19:41:27 -0500
ec315c63e0
feat: add App Integrity + device attestation modules
null
2026-06-17 19:37:19 -0500
0095151bd9
fix: add input sanitization across date plan forms and repository
null
2026-06-17 19:23:53 -0500
b049024ba9
feat: update date_plan_preferences Firestore rules to use auto-IDs
null
2026-06-17 19:12:14 -0500
2b1238a64c
feat: add Firestore rules for entitlements and notification_queue collections
null
2026-06-17 19:10:45 -0500
534bb076c7
feat: implement Ed25519 RevenueCat webhook signature verification
null
2026-06-17 19:08:53 -0500
ede7c70ea7
fix(release): date/time pickers, debug logging guards, RC_API_KEY comment, ExternalLinks TODOs (gap fixes)
null
2026-06-17 02:00:39 -0500
160fb38c4f
docs(qa): private MVP checklist, internal testing checklist, store assets checklist, code QA scan (batch 13)
null
2026-06-17 01:34:32 -0500
4ede77f067
feat(legal): ExternalLinks utility, Privacy/Terms links in Settings + Paywall screens (batch 12)
null
2026-06-17 01:32:05 -0500
f3bad90ec6
feat(notifications): FCM token registration, quiet hours, notification permission helper, reminder Cloud Functions (batch 11)
null
2026-06-17 01:30:04 -0500
6b964935d4
chore: remove functions/node_modules from git, add to .gitignore
null
2026-06-17 01:26:05 -0500
b9ad713ddb
feat(billing): server-side entitlement sync — RevenueCat webhook handler, entitlement logic, Firestore EntitlementChecker, Hilt DI, callable sync function (batch 10)
null
2026-06-17 01:25:51 -0500
681cf7fb32
feat(billing): RevenueCat SDK integration, BillingRepository, PaywallScreen + ViewModel, Hilt DI, navigation route (batch 9)
null
2026-06-17 01:22:24 -0500
c9ff160bf3
fix(ui): responsive visual QA pass — text ellipsis, navigationBarsPadding, touch targets, spacing fixes (batch 8)
null
2026-06-17 01:17:47 -0500
d109f7fcd0
fix(ui): partner invite flow polish — compact layout, share button, back affordances, secondary route styling (batch 7)
null
2026-06-17 00:16:42 -0500
cc974661d3
fix(ui): settings & partner state polish — no fake data, tappable partner row, gated destructive actions, subpage back affordances (batch 6)
null
2026-06-17 00:13:20 -0500
557af3e546
feat(dates): add Date Builder + Bucket List — backend models, Room DAOs, Firestore sources, repositories, UI screens, ViewModels, navigation routes, Firestore rules
null
2026-06-17 00:05:46 -0500
512a6c9f42
feat(dates): add Date Match MVP Phase 1 — swipe UI, Firestore models, 30+ seed ideas, match reveal
null
2026-06-16 23:30:58 -0500
1fc25d6c1f
security: add client-side auth rate limiting with exponential backoff (SecurityReport #11 )
null
2026-06-16 23:01:02 -0500
e4a2588c50
security: enable Room schema export for CI migration validation (SecurityReport #7 )
null
2026-06-16 22:59:38 -0500
e28a08e5f1
security: hash question IDs and coarsen categories in Firebase Analytics (SecurityReport #9 )
null
2026-06-16 22:58:27 -0500
a412247bf3
security: kimi-k2.7 review fixes — Ed25519 crypto API, Firestore rules try/catch removal, atomic idempotency, RevenueCat 8.20.0, rate limiter fix, remove plaintext fallback, tighten push wording
null
2026-06-16 22:42:53 -0500
b8b2cc68c4
security: fix webhook signature fail-open (now throws 500 on missing key), fix overly restrictive couple update rules
null
2026-06-16 22:11:51 -0500
50c44d2afd
security: swap RevenueCat hybrid-common SDK for native Android SDK purchases:10.10.0, add Maven repo
null
2026-06-16 22:09:22 -0500
e82207c9d0
security: swap alpha crypto 1.1.0-alpha06 for stable 1.0.0, update MasterKey→MasterKeys API
null
2026-06-16 22:05:37 -0500
95ea9ffed5
security: disable auto backup, rewrite backup rules as allowlist, harden data extraction rules for Android 12+
null
2026-06-16 21:58:17 -0500
403a8c02e2
security: neutral push notification wording — no question text, categories, streak pressure, or relationship context on lock screen
null
2026-06-16 21:57:07 -0500
b6e7a3e9cf
security: add express-rate-limit — webhook 10/min, health 30/min, default 60/min, configurable via env, localhost skip
null
2026-06-16 21:56:32 -0500
ae1087b0aa
security: add RevenueCat Ed25519 signature verification, product ID allowlist, expiration storage, verifyPremiumActive helper, raw body capture, complete event types
null
2026-06-16 21:53:53 -0500
ddfe9e250a
security: remove google-services.json from repo and git tracking, add to .gitignore
null
2026-06-16 21:47:42 -0500
c28ce9c58d
security: restrict couple-level Firestore writes — immutable fields, owner-only messages/reactions, server-only deletes, valid state transitions
null
2026-06-16 21:46:56 -0500
bd1ea5cecd
security: fix invite rules missing-doc bypass, webhook timing attack, entitlement replay protection and entitlement_id check
null
2026-06-16 21:45:04 -0500
f45f8dd114
security: fail-closed webhook auth, constant-time secret comparison, centralized env validation
null
2026-06-16 21:37:57 -0500
e8274370d1
chore: add CONCERN.md to .gitignore
null
2026-06-16 21:32:14 -0500
afeb1a1a03
docs: add README, add proguard rules, Firestore entitlement checker, network security config, update build config and onboarding
null
2026-06-16 20:16:47 -0500
84995641f3
refactor: package rename from com.couplesconnect.app to app.closer, update build config and firebase setup
null
2026-06-16 20:03:58 -0500
e42de938e7
fix: update Invite model, backup rules, and Firestore security rules
null
2026-06-16 19:44:28 -0500
a870b17801
refactor: update AcceptInviteScreen with theme-consistent visuals and layout
null
2026-06-16 19:14:06 -0500
99ff77a357
refactor: consolidate theme usage across components, screens, and wheel flow
null
2026-06-16 18:44:23 -0500
71441bec14
refactor: extract shared auth/settings visuals, apply consistent theme across screens
null
2026-06-16 04:16:16 -0500
0f73c656d8
fix(answers): update answer flow screens, navigation, and question input component
null
2026-06-16 03:39:40 -0500
56f2d8c045
fix(home): update HomeScreen and HomeViewModel
null
2026-06-16 03:25:03 -0500
0e9606366b
fix(questions): update category and pack library screens
null
2026-06-16 03:07:32 -0500
888ffa3c1a
fix(ui): polish screens, update ViewModels, add docs
null
2026-06-16 02:55:16 -0500
5302526d32
fix(theme): apply consistent color system, polish UI across all screens
null
2026-06-16 02:49:36 -0500
c1548f28fb
fix(navigation, pairing): update route handling and invite screen layout
null
2026-06-16 02:30:18 -0500
342c3276a0
fix(home,onboarding): correct navigation and state handling
null
2026-06-16 02:18:28 -0500
db177bc792
fix(firebase): replace placeholder Firebase config, update initializer and home screen wiring
null
2026-06-16 01:57:48 -0500
7a9d4c3b49
feat(ui): wheel history screen, session repo, external links, shared loading/error/empty components
null
2026-06-16 01:24:04 -0500
bee617c493
chore(server): add Node.js backend with auth, questions, answers + update gitignore
null
2026-06-16 01:17:58 -0500
1a33d4f2b9
feat(analytics): Firebase Analytics, Crashlytics, ObservabilityModule, Firestore rules
null
2026-06-16 01:13:20 -0500
11a81cb826
feat(settings): DataStore-based settings repo, notification preferences, special dates component
null
2026-06-16 01:07:13 -0500
88004cf219
feat(notifications): FCM messaging service, notification helper, FCM+delete account+relationship screens
null
2026-06-16 01:03:07 -0500
011745e7d4
feat(wheel): ViewModel-backed wheel screens with local session store
null
2026-06-16 00:56:08 -0500
577d39ea11
feat(paywall): question pack library, entitlement checker, home screen wiring
null
2026-06-16 00:50:13 -0500
29d512c679
fix(couple): correct Firestore query and repository method signatures
null
2026-06-16 00:40:00 -0500
6fe5e5048e
fix(daily): correct question flow state handling and UI edge cases
null
2026-06-16 00:33:55 -0500
78e145352b
feat(settings): SettingsViewModel, auth logout wiring, FirebaseAuth cleanup
null
2026-06-16 00:27:29 -0500
112de3398f
feat(pairing): Firebase Firestore invite/couple data sources with ViewModels
null
2026-06-16 00:22:20 -0500
8bcb3308c1
feat(auth): Firebase auth wiring, login/signup/forgot-password with ViewModels
null
2026-06-16 00:01:34 -0500
af7603d61c
feat(ui): navigation refactor, screen wiring, local answer persistence
null
2026-06-15 23:48:55 -0500
5991acb283
chore(gitignore): exclude app/build/ from version control
null
2026-06-15 21:38:39 -0500
92a0e8f2eb
feat(db): add 2 new v2 question categories (difficult_conversations, home_life) — 20 total, 5,500 questions
null
2026-06-15 21:38:22 -0500
1c976935c9
feat: Firebase + RevenueCat stack, PLAN.md integration, 11 implementation batches (v0.1.0)
null
2026-06-15 18:43:43 -0500
92c82e5fd4
chore: wipe RN/Expo stack, prepare for Kotlin/Compose project (batch 0.1.1)
null
2026-06-15 18:32:27 -0500
01751c6f66
feat: navigation foundation with Expo Router tabs (v1.0.2)
null
2026-05-13 16:17:09 -0500
1a1357d5c9
feat: Expo project bootstrap (v1.0.1) + untrack private docs
null
2026-05-13 04:21:43 -0500
2677febe03
Initial project setup: PROJECT.md, STRUCTURE.md, FUTURE.md, HISTORY.md, project-requirements.md
null
2026-05-13 03:30:36 -0500
2f43f63c5c
initial commit
null
2026-05-12 21:36:25 -0500