about summary refs log tree commit diff
path: root/src/lib/api/feed-manip.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/api/feed-manip.ts')
-rw-r--r--src/lib/api/feed-manip.ts13
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++}`),