Fix phantom "1 new message" notification on Samsung #11

Merged
mohlec merged 1 commit from fix/notification-phantom-badge into ncw/main 2026-07-04 11:25:04 +00:00
Owner

Orphaned group-summary fix: deleteIntent on cards + summary, summary only at 2+ conversations, dismiss receiver prunes history. The persistent "Notifications active" row is the FGS notification Android requires for the ntfy SSE connection (no-FCM design) — already IMPORTANCE_MIN/no-badge; on Android 13+ it can be swiped away without killing the service.

Orphaned group-summary fix: deleteIntent on cards + summary, summary only at 2+ conversations, dismiss receiver prunes history. The persistent "Notifications active" row is the FGS notification Android requires for the ntfy SSE connection (no-FCM design) — already IMPORTANCE_MIN/no-badge; on Android 13+ it can be swiped away without killing the service.
Root cause: the group summary notification was only cancelled via the
mm-clear path (messages read in-app). When the user swiped cards away
by hand, no deleteIntent existed, so an empty summary survived and
Samsung renders that as a perpetual '1 new message'.

- New NtfyDismissReceiver: on swipe-dismiss, prunes that channel's
  conversation history and cancels the summary when no cards remain
- Conversation cards + summary now carry a deleteIntent
- Summary is only posted at 2+ active conversations (a lone summary
  is exactly the phantom-notification shape); mm-clear path aligned
- Conversation history moved to a static holder so the receiver can
  prune it without binding the service
mohlec merged commit 59a9803cc0 into ncw/main 2026-07-04 11:25:04 +00:00
mohlec deleted branch fix/notification-phantom-badge 2026-07-04 11:25:04 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
slash/slash-mobile!11
No description provided.