rmaps-online/public
Jeff Emmett 30f32e6da7 fix: deduplicate participants, visible callout push for offline users, fix notification timing
- Server-side participant dedup on join: remove ghost entries with same name but different ID
- Reduce stale participant threshold from 1hr to 15min to match client-side cleanup
- Refactor push subscriptions from Set to Map keyed by endpoint (prevents duplicate pushes)
- Store participantId with push subscriptions for identity-aware routing
- Exclude joining user from their own "Friend Joined" push notification
- Callout (ping) sends visible push to offline users ("X is looking for you!") instead of silent push
- Return last known locations in callout API response for immediate display
- Service worker: 10s cooldown on location request pushes to prevent burst on app reopen
- Service worker: suppress join/leave notifications when app window is focused
- Pass callerName from ParticipantList so offline callout shows who's looking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 14:01:56 -07:00
..
apple-touch-icon.png Add real-time sync, c3nav integration, and PWA icons 2025-12-15 12:50:28 -05:00
favicon.ico Add real-time sync, c3nav integration, and PWA icons 2025-12-15 12:50:28 -05:00
icon-192.png Add real-time sync, c3nav integration, and PWA icons 2025-12-15 12:50:28 -05:00
icon-512.png Add real-time sync, c3nav integration, and PWA icons 2025-12-15 12:50:28 -05:00
manifest.json Initial scaffold for rMaps.online 2025-12-15 12:23:13 -05:00
sw.js fix: deduplicate participants, visible callout push for offline users, fix notification timing 2026-02-15 14:01:56 -07:00