diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-12-07 13:04:22 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-07 13:04:22 -0800 |
commit | aeafa3a8cd2a4550faeea73d762a99f548c18064 (patch) | |
tree | 4f64851881c0cb25012ce596cec97d3a4c2b0474 /src/lib/api/feed-manip.ts | |
parent | 972bc1bd880249acd62579cfd5760a12a42bf5ff (diff) | |
download | voidsky-aeafa3a8cd2a4550faeea73d762a99f548c18064.tar.zst |
Fix: remove replies to deleted and blocked posts from feeds (#2130)
Diffstat (limited to 'src/lib/api/feed-manip.ts')
-rw-r--r-- | src/lib/api/feed-manip.ts | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/api/feed-manip.ts b/src/lib/api/feed-manip.ts index 1123c4e23..622724b35 100644 --- a/src/lib/api/feed-manip.ts +++ b/src/lib/api/feed-manip.ts @@ -146,6 +146,19 @@ export class FeedTuner { ): FeedViewPostsSlice[] { let slices: FeedViewPostsSlice[] = [] + // remove posts that are replies, but which don't have the parent + // hydrated. this means the parent was either deleted or blocked + feed = feed.filter(item => { + if ( + AppBskyFeedPost.isRecord(item.post.record) && + item.post.record.reply && + !item.reply + ) { + return false + } + return true + }) + if (maintainOrder) { slices = feed.map( item => new FeedViewPostsSlice([item], `slice-${this.keyCounter++}`), |