• Joined on 2026-05-03
null pushed to dev at null/Closer 2026-06-24 16:15:36 -05:00
29beff1702 build(functions): rebuild dist from source — revenueCatWebhook ack-after-process, acceptInvite strict E2EE, onMessageWritten conversations path, onGameSessionUpdate both-partner notify
null pushed to dev at null/Closer 2026-06-24 16:14:25 -05:00
060ef69ca5 feat(rules+trigger): conversations Firestore rules, onMessageWritten listens on conversations path, gitignore
null pushed to dev at null/Closer 2026-06-24 16:14:12 -05:00
e4cdbac7b1 refactor(notifications): questionId → conversationId across bubble, deep link routing, FCM handling
null pushed to dev at null/Closer 2026-06-24 16:14:05 -05:00
c85e55a790 feat(nav): Messages replaces Question Packs in bottom bar, conversation route with deep link, Play Hub hosts Packs
null pushed to dev at null/Closer 2026-06-24 16:13:57 -05:00
33baf220e4 feat(conversations): UI — Messages inbox, conversation screen, view models, chat components
null pushed to dev at null/Closer 2026-06-24 16:13:50 -05:00
db5b8a5f8a feat(conversations): data layer — domain model, Firestore data source, repository, DI bindings
null pushed to dev at null/Closer 2026-06-24 15:20:50 -05:00
4e2c3fdf0d fix: rate limiter bump (20/day, 100/week), firestore rules for image messages, storage rules for chat_media, gitignore ClaudeReport
null pushed to dev at null/Closer 2026-06-24 15:20:43 -05:00
608ddcfc5b feat(bubble): drag-to-dismiss zone, no auto-timeout, dismiss on conversation enter
null pushed to dev at null/Closer 2026-06-24 15:20:36 -05:00
adb61715fe feat(home): partner photoUrl loaded and displayed in identity card
null pushed to dev at null/Closer 2026-06-24 15:20:31 -05:00
a8fbbaa286 feat(notifications): deep link routing from FCM data extras, onMessageWritten includes author name + photo
null pushed to dev at null/Closer 2026-06-24 15:20:23 -05:00
06e4d609f2 feat(chat): image picker (gallery + camera), encrypted image rendering, messenger-style avatars on consecutive bubbles
null pushed to dev at null/Closer 2026-06-24 15:20:16 -05:00
c9aa5f1e12 feat(chat): encrypted image messages — Storage upload/download, Firestore send/load, domain model with type+mediaUrl
null pushed to dev at null/Closer 2026-06-24 15:18:47 -05:00
a7b602de87 feat(chat): encrypted image messages, notification deep link routing, partner photo on home, rate limiter bump, chat bubble drag-to-dismiss
null pushed to dev at null/Closer 2026-06-24 11:47:54 -05:00
609ced4095 feat(notifications): FCM token registration on auth, Android 13 permission request, in-app chat bubble overlay, game results notification copy
null pushed to dev at null/Closer 2026-06-24 10:02:58 -05:00
0cb3d44f0d fix(reveal): partner option labels, release-key read rules, thread status uppercase, session id propagation, notification deep links, and re-open guard
null pushed to dev at null/Closer 2026-06-23 22:55:59 -05:00
77208ff1e6 fix(daily-question): deterministic per-day offset replaces RANDOM(); shared DailyQuestionResolver; auth profile fallback
null pushed to dev at null/Closer 2026-06-23 22:39:34 -05:00
6d74c6acec feat(brand): primaryMessage constant + rotator holds flagship slogan 3x longer
null pushed to dev at null/Closer 2026-06-23 22:21:28 -05:00
7923835861 docs(brand): update privacy slogan in CloserBrandCopy
null pushed to dev at null/Closer 2026-06-23 22:19:43 -05:00
3f22a38e18 docs(readme): update privacy slogan
null pushed to dev at null/Closer 2026-06-23 22:17:46 -05:00
9269a769be docs(readme): update privacy slogan