feat: Topic-based notification grouping#179
Open
fluffyspace wants to merge 4 commits into
Open
Conversation
- Group notifications by topic using Android's native notification groups - Create summary notifications when multiple notifications exist for the same topic - Display topic name with count and recent message previews in inbox style - Auto-cleanup summaries when individual notifications are dismissed - Provides messaging app-like experience where each topic acts like a contact This improves notification organization when receiving multiple messages from different topics, making it easier to scan and manage notifications.
- Always show topic name prominently in individual notification titles - Format as 'Topic: Message' to clearly identify source topic - Create summary notifications more consistently (even for single notifications) - Add emoji and number badges to summary notifications for better visibility - Improve summary notification content with cleaner message previews - Fix cleanup logic to maintain summaries when notifications are dismissed - Make topic identification much clearer in notification shade This should resolve issues where notifications appeared ungrouped and topic names were not visible to users.
fluffyspace
marked this pull request as draft
May 12, 2026 09:01
…ersation Replaces the previous per-message notification + inbox-style summary with a single MessagingStyle notification per topic that appends messages as they arrive, similar to a chat conversation. Cancel/update paths now operate on the per-topic notification, rebuilding it from the remaining messages. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Falls back to subscription.topic instead of {baseUrl}/{topic} when no
custom display name is set, so the MessagingStyle conversation title
matches the rest of the UI. Channel-group label in Android system
settings still uses the full short URL.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fluffyspace
force-pushed
the
topic-based-notification-grouping
branch
from
May 13, 2026 19:38
251b32e to
6c5d397
Compare
fluffyspace
marked this pull request as ready for review
May 14, 2026 11:13
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
Groups Android notifications by topic so each subscription behaves like a conversation thread, similar to how a messaging app groups chats per contact. When several messages arrive on the same topic they collapse under a single summary instead of competing for space in the notification shade.
What changes
ntfy_topic_<id>) so Android collapses them together natively.Topic: Messageso the source topic is visible at a glance in the shade.baseUrl/topic. The Android system-settings channel-group label still uses the full short URL, so cross-server disambiguation is unchanged.Commits in this PR
feat: Add topic-based notification grouping– introduces group keys, summary notifications, inbox-style previews, and auto-cleanup.fix: Improve notification grouping visibility and reliability– always shows topic names in titles, creates summaries even for single notifications, adds count badges, fixes cleanup edge cases.fix: Use topic name only as conversation title in grouped notifications– drops thebaseUrl/prefix from the conversation title.All changes are scoped to
app/src/main/java/io/heckel/ntfy/msg/NotificationService.kt.Test plan
server.example/topic).