diff options
Diffstat (limited to 'src/state/queries')
-rw-r--r-- | src/state/queries/notifications/util.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/state/queries/notifications/util.ts b/src/state/queries/notifications/util.ts index faccd8087..a47659a84 100644 --- a/src/state/queries/notifications/util.ts +++ b/src/state/queries/notifications/util.ts @@ -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 } |