Filter activity notifs for muted words (#8637)

This commit is contained in:
Samuel Newman
2025-07-11 18:49:59 +03:00
parent 2a9fe83c04
commit 49d8b5a56e
+18
View File
@@ -7,6 +7,7 @@ import {
AppBskyGraphStarterpack,
type AppBskyNotificationListNotifications,
type BskyAgent,
hasMutedWord,
moderateNotification,
type ModerationOpts,
} from '@atproto/api'
@@ -125,6 +126,23 @@ export function shouldFilterNotif(
if (!moderationOpts) {
return false
}
if (
notif.reason === 'subscribed-post' &&
bsky.dangerousIsType<AppBskyFeedPost.Record>(
notif.record,
AppBskyFeedPost.isRecord,
) &&
hasMutedWord({
mutedWords: moderationOpts.prefs.mutedWords,
text: notif.record.text,
facets: notif.record.facets,
outlineTags: notif.record.tags,
languages: notif.record.langs,
actor: notif.author,
})
) {
return true
}
if (notif.author.viewer?.following) {
return false
}