Commit Graph

  • 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