diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/moderatePost_wrapped.ts | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/lib/moderatePost_wrapped.ts b/src/lib/moderatePost_wrapped.ts index 286d47e1d..2195b2304 100644 --- a/src/lib/moderatePost_wrapped.ts +++ b/src/lib/moderatePost_wrapped.ts @@ -1,4 +1,8 @@ -import {moderatePost} from '@atproto/api' +import { + AppBskyEmbedRecord, + AppBskyEmbedRecordWithMedia, + moderatePost, +} from '@atproto/api' type ModeratePost = typeof moderatePost type Options = Parameters<ModeratePost>[1] & { @@ -25,5 +29,30 @@ export function moderatePost_wrapped( } } + if (subject.embed) { + let embedHidden = false + if (AppBskyEmbedRecord.isViewRecord(subject.embed.record)) { + embedHidden = hiddenPosts.includes(subject.embed.record.uri) + } + if ( + AppBskyEmbedRecordWithMedia.isView(subject.embed) && + AppBskyEmbedRecord.isViewRecord(subject.embed.record.record) + ) { + embedHidden = hiddenPosts.includes(subject.embed.record.record.uri) + } + if (embedHidden) { + moderations.embed.filter = true + moderations.embed.blur = true + if (!moderations.embed.cause) { + moderations.embed.cause = { + // @ts-ignore Temporary extension to the moderation system -prf + type: 'post-hidden', + source: {type: 'user'}, + priority: 1, + } + } + } + } + return moderations } |