Commit Graph

13 Commits

Author SHA1 Message Date
null 8ce99e197f art 2026-06-28 11:10:46 -05:00
null 95cad84cb5 brand: loading state, themes, manifest, art preview, pairing screen updates 2026-06-25 15:24:46 -05:00
null fed91dbe46 brand: finalize app icon, brand docs, onboarding visuals, feature graphic 2026-06-25 14:52:21 -05:00
null 520eea2236 brand: update launcher foreground, feature graphic, auth visuals, brand docs 2026-06-25 14:48:57 -05:00
null 93b5599605 brand: add closer-mark SVGs (on-dark + on-light variants) 2026-06-25 14:44:31 -05:00
null 334cb079fa brand: update app icon, iOS assets, Android drawables, brand docs (Pass H) 2026-06-25 14:34:27 -05:00
null fa6d80602a docs(brand): add asset-system.md, cross-link from visual-identity.md 2026-06-25 12:35:49 -05:00
null dd91327548 docs: brand identity, copy guide, release checklists, store assets, README 2026-06-21 17:56:46 -05:00
null 39255c8733 fix: prevent invite code enumeration via Cloud Function (batch v0.2.18)
- Remove client-side read access to invites (only inviter can read own invite)
- Deny direct client update to invites (server-side only via Admin SDK)
- Add acceptInviteCallable Cloud Function: validates code, creates couple,
  updates user docs, marks invite accepted, returns wrapped key for local decryption
- Update Android client: FirestoreInviteDataSource calls callable function,
  InviteConfirmViewModel uses acceptInvite + unwrapAndStore flow
- Deprecate CoupleRepositoryImpl.createCouple (client-side path removed)
- Update Firestore rules tests: unpaired read now denied, direct update now denied
- 118/118 tests passing
2026-06-19 21:46:12 -05:00
null 85b4eb589b feat: add 3 stronger privacy slogans to BrandMessageRotator (batch v0.2.13)
- Add to CloserBrandCopy: 'Not even Closer can read your answers.', 'End to end encrypted private responses.', 'Built for trust, not tracking.'
- Update visual-identity.md: add new slogans to approved rotation, remove migration gating note (all legacy couples migrated)
2026-06-19 21:17:59 -05:00
null 55ca3dce27 fix: Firestore rules hardening, recovery phrase strength, test cleanup (batch v0.2.12)
- Firestore rules: add isCouplesMember(coupleId) to question thread answer writes (prevents outsider writes)
- Firestore rules: allow currentIndex increment on same-status session updates (fixes thread progression)
- RecoveryKeyManager: PHRASE_WORD_COUNT 6→10 (~80 bits entropy)
- build.gradle.kts: exclude META-INF/versions/9/OSGI-INF/MANIFEST.MF (packaging conflict)
- .gitignore: add firebase-debug.log, firestore-debug.log
- firestore-tests: configurable emulator port via FIRESTORE_EMULATOR_PORT env var
- firestore-tests: fix invite outsider test (seed with different coupleId), fix non-starter session test (active→completed allowed), remove redundant beforeEach(seedThread), add outsider-write-denied test for thread answers
- visual-identity.md: update encryption claim gating note
2026-06-19 21:08:55 -05:00
null 9a0b2b6a3d feat: BrandMessageRotator — rotating privacy copy across screens (batch v0.2.9)
- Add CloserBrandCopy with 6 approved privacy messages
- Add BrandMessageRotator composable: animated fade rotation every 4.5s, reduced-motion support
- Integrate rotator into: OnboardingScreen (CTA + auth check), LoginScreen, LoadingState, AnswerRevealScreen (waiting card), WaitingForPartnerScreen, DesireSync/HowWell/ThisOrThat waiting screens
- Add CloserBrandCopyTest for uniqueness and length validation
- Update visual-identity.md with approved rotation and security-claim publishing rules
2026-06-19 20:24:50 -05:00
null 5caae523e7 feat: app icon redesign, store assets, brand identity docs (batch v0.2.5)
- Redraw adaptive icon layers (background + foreground) with Closer palette colors
- Add monochrome icon layer for Android 13+ themed icons
- Add mipmap-anydpi-v33 adaptive icon configs (round + standard)
- Add store assets: 512px app icon, 1024x500 feature graphic, source SVGs
- Add docs/brand/visual-identity.md with brand mark, color palette, store voice, asset rules
- Update store-assets.md checklist to reflect completed items
2026-06-19 19:10:03 -05:00