null
13c0769efb
feat(games): wire pruneDeadTokens into onGameSessionUpdate
2026-06-30 23:35:15 -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
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
37ed7cebec
feat: quiet hours notifications, settings UI, game session updates, docs
2026-06-28 10:00:25 -05:00
null
2cd0af65a8
chore: working tree changes — QA docs, app tweaks, Cloud Functions updates
2026-06-27 13:31:09 -05:00
null
6e79cd9704
fix(notif): replace status-diff with idempotent flag-claim for game start/finish pushes (F-RACE-001)
2026-06-26 20:04:05 -05:00
null
aaab768cb0
fix(notif): deep-link results-ready pushes to per-session results/replay screen (E-003)
2026-06-25 12:35:49 -05:00
null
609ced4095
feat(notifications): FCM token registration on auth, Android 13 permission request, in-app chat bubble overlay, game results notification copy
...
- MainActivity: request POST_NOTIFICATIONS on TIRAMISU+, register FCM token when user signs in
- AppMessagingService: foreground chat messages show draggable bubble instead of OS notification
- MessageBubbleController/Overlay: new in-app chat-head that drifts over all screens, tap to open
- PartnerNotificationManager: GAME_RESULTS_READY type with proper copy, partner_finished_game maps to it
- onGameSessionUpdate: notify BOTH partners on completion (not just the non-starter), fix starter name in notification
2026-06-24 11:47:49 -05:00
null
17d7489dd8
feat(engagement): streak milestones, celebration overlays, Together screen, avatar in notifications
2026-06-23 18:23:49 -05:00
null
5e16177eb2
feat: code push -- notifications, cloud functions, iOS updates
2026-06-22 08:53:23 -05:00
null
2b8e05b29b
fix: address Neo review — fix cloud function partnerName scope, WheelCompleteScreen session ID, polling isActive, navigateTo reset
2026-06-18 01:28:43 -05:00
null
c58b1c6326
feat: enforce one active game per couple with partner notifications
2026-06-18 00:56:21 -05:00