From 39eedeeb17f5b244ac87f8c8e1cc0587a63a8f0c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 20 May 2026 23:21:47 +0000 Subject: [PATCH] feat(notifications): include public chat mentions in feed Add ChannelMessageEvent.KIND (NIP-28 kind 42) to the Notifications feed's allow-list so channel messages that p-tag the user surface in the in-app Notifications screen, alongside text-note mentions and DMs. The relay subscription already requests kind 42 with #p (see FilterNotificationsToPubkey.NotificationsPerKeyKinds), and push notifications already route ChannelMessageEvent through notifyMention. Only the in-app feed filter was rejecting them at the kind check; the existing tagsAnEventByUser gate handles the per-kind "is this for me" rule via the BaseNoteEvent branch (reply-to-me, cited-author, citation-in-content). --- .../screen/loggedIn/notifications/dal/NotificationFeedFilter.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/notifications/dal/NotificationFeedFilter.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/notifications/dal/NotificationFeedFilter.kt index 96ffa1c7b7..659946bb50 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/notifications/dal/NotificationFeedFilter.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/notifications/dal/NotificationFeedFilter.kt @@ -49,6 +49,7 @@ import com.vitorpamplona.quartz.nip18Reposts.RepostEvent import com.vitorpamplona.quartz.nip22Comments.CommentEvent import com.vitorpamplona.quartz.nip23LongContent.LongTextNoteEvent import com.vitorpamplona.quartz.nip25Reactions.ReactionEvent +import com.vitorpamplona.quartz.nip28PublicChat.message.ChannelMessageEvent import com.vitorpamplona.quartz.nip34Git.issue.GitIssueEvent import com.vitorpamplona.quartz.nip34Git.patch.GitPatchEvent import com.vitorpamplona.quartz.nip52Calendar.appt.day.CalendarDateSlotEvent @@ -111,6 +112,7 @@ class NotificationFeedFilter( val NOTIFICATION_KINDS = setOf( BadgeAwardEvent.KIND, + ChannelMessageEvent.KIND, ChatMessageEvent.KIND, ChatMessageEncryptedFileHeaderEvent.KIND, CommentEvent.KIND,