fix(notifications): kill peer-count notif + quiet iOS banner updates#84
Merged
epicexcelsior merged 1 commit intoMay 19, 2026
Merged
Conversation
2771d50 to
1553979
Compare
…rruption Message notifications (useMessageNotifications.ts): Lock screen / Notification Center now show generic content only — `title: 'anonmesh'`, `body: 'New message'`. No sender hash, no preview. In-app banner (when the app is foregrounded) still surfaces the sender, since the user is already inside the app. Combined with the per-peer identifier from anonmesh#78 and `interruptionLevel: 'passive'`, follow-up messages collapse silently into the existing tray entry instead of re-presenting the banner. Peer-count notification (usePeerCountNotification.ts): Split by platform. - iOS: schedule ONCE on 0↔peers transition; body is generic 'Mesh active'. Notification Center has no silent persistent surface, so every reschedule resurfaces the entry. The in-app indicator carries live counts; the tray entry just signals "mesh is on". - Android: live counts on the LOW-importance 'peer-status' channel. The channel handles silence, so updates flow without re-presenting. No native module changes, no permission changes — JS-only, ships via Metro hot-reload or any existing dev build.
1553979 to
9d984e6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two iOS-driven notification UX cleanups, observed on a real iOS device today.
Kills the peer-count notification entirely. `hooks/usePeerCountNotification.ts` showed a sticky tray entry with `X reachable · Y known`. Users don't act on mesh topology numbers. Sticky tray entry trains them to ignore notifications generally, which costs us when a real message lands. Mesh topology stays visible in NodesScreen and the wallet route pill.
Quiets iOS banner re-pop on message updates. F9 (#78) collapsed the tray entry per peer via identifier reuse — confirmed working on device. But Apple's documented behavior is: same-identifier requests replace the tray entry AND re-present the banner. So a chatty peer sending 5 messages popped 5 banners despite only one tray entry. Adds `interruptionLevel: 'passive'` so follow-up messages update the tray silently; first message from a peer still arrives loud.
Scope
Net: -54 LOC, +9 LOC.
Verified
Test plan (manual on iOS + Android)
Rollback
`git revert` — three-file diff. No native config touched, no permissions changed.