about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-05-02 21:51:25 -0500
committerPaul Frazee <pfrazee@gmail.com>2023-05-02 21:51:25 -0500
commit8c675248d45c01db255a63cd98dc58868ec329fa (patch)
tree38b7d821336e09a43bb79b56ac1306783308718e /src
parentd225e857b5eadca46b75947e8ec3606129312de7 (diff)
downloadvoidsky-8c675248d45c01db255a63cd98dc58868ec329fa.tar.zst
Fix replies with <2 likes showing in the following feed
Diffstat (limited to 'src')
-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) {