about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/lib/api/feed-manip.ts12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/api/feed-manip.ts b/src/lib/api/feed-manip.ts
index 341e8727d..60e755048 100644
--- a/src/lib/api/feed-manip.ts
+++ b/src/lib/api/feed-manip.ts
@@ -1,4 +1,4 @@
-import {AppBskyFeedDefs} from '@atproto/api'
+import {AppBskyFeedDefs, AppBskyFeedPost} from '@atproto/api'
 import lande from 'lande'
 import {hasProp} from 'lib/type-guards'
 import {LANGUAGES_MAP_CODE2} from '../../locale/languages'
@@ -48,6 +48,13 @@ export class FeedViewPostsSlice {
     return this.items[0]
   }
 
+  get isReply() {
+    return (
+      AppBskyFeedPost.isRecord(this.rootItem.post.record) &&
+      !!this.rootItem.post.record.reply
+    )
+  }
+
   containsUri(uri: string) {
     return !!this.items.find(item => item.post.uri === uri)
   }
@@ -176,9 +183,10 @@ export class FeedTuner {
   ): FeedViewPostsSlice[] {
     // remove any replies without at least 2 likes
     for (let i = slices.length - 1; i >= 0; i--) {
-      if (slices[i].isFullThread || !slices[i].rootItem.reply) {
+      if (slices[i].isFullThread || !slices[i].isReply) {
         continue
       }
+
       const item = slices[i].rootItem
       const isRepost = Boolean(item.reason)
       if (!isRepost && (item.post.likeCount || 0) < 2) {