From b32568260f98ea879468fd1bdedacf85d1e6ae8c Mon Sep 17 00:00:00 2001 From: kindgracekind <155408223+kindgracekind@users.noreply.github.com> Date: Mon, 4 Aug 2025 10:27:27 -0500 Subject: Add feed tuner to remove muted threads (#8773) --- src/lib/api/feed-manip.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/lib/api') diff --git a/src/lib/api/feed-manip.ts b/src/lib/api/feed-manip.ts index 3309191f3..335bf28c8 100644 --- a/src/lib/api/feed-manip.ts +++ b/src/lib/api/feed-manip.ts @@ -41,6 +41,7 @@ export class FeedViewPostsSlice { isIncompleteThread: boolean isFallbackMarker: boolean isOrphan: boolean + isThreadMuted: boolean rootUri: string feedPostUri: string @@ -50,6 +51,7 @@ export class FeedViewPostsSlice { this.isIncompleteThread = false this.isFallbackMarker = false this.isOrphan = false + this.isThreadMuted = post.viewer?.threadMuted ?? false this.feedPostUri = post.uri if (AppBskyFeedDefs.isPostView(reply?.root)) { this.rootUri = reply.root.uri @@ -361,6 +363,20 @@ export class FeedTuner { return slices } + static removeMutedThreads( + tuner: FeedTuner, + slices: FeedViewPostsSlice[], + _dryRun: boolean, + ) { + for (let i = 0; i < slices.length; i++) { + if (slices[i].isThreadMuted) { + slices.splice(i, 1) + i-- + } + } + return slices + } + static dedupThreads( tuner: FeedTuner, slices: FeedViewPostsSlice[], -- cgit 1.4.1