about summary refs log tree commit diff
path: root/src/lib/api
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-03-21 13:13:36 -0500
committerPaul Frazee <pfrazee@gmail.com>2023-03-21 13:13:36 -0500
commit92d9267805d76c43a6f6342aabf14392b2fe5cec (patch)
tree51f3e7b42455ff8ec45d04e9d2c53c6e585045e5 /src/lib/api
parent858d4c8c8811ca8e16bffe3bfe0d541e576177ec (diff)
downloadvoidsky-92d9267805d76c43a6f6342aabf14392b2fe5cec.tar.zst
Fix: don't incorrectly assemble threads when somebody replies multiple times to the same post
Diffstat (limited to 'src/lib/api')
-rw-r--r--src/lib/api/feed-manip.ts6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/api/feed-manip.ts b/src/lib/api/feed-manip.ts
index 67ca8f952..fabcf84f0 100644
--- a/src/lib/api/feed-manip.ts
+++ b/src/lib/api/feed-manip.ts
@@ -49,6 +49,10 @@ export class FeedViewPostsSlice {
     return !!this.items.find(item => item.post.uri === uri)
   }
 
+  isNextInThread(uri: string) {
+    return this.items[this.items.length - 1].post.uri === uri
+  }
+
   insert(item: FeedViewPost) {
     const selfReplyUri = getSelfReplyUri(item)
     const i = this.items.findIndex(item2 => item2.post.uri === selfReplyUri)
@@ -102,7 +106,7 @@ export class FeedTuner {
 
       const selfReplyUri = getSelfReplyUri(item)
       if (selfReplyUri) {
-        const parent = slices.find(item2 => item2.containsUri(selfReplyUri))
+        const parent = slices.find(item2 => item2.isNextInThread(selfReplyUri))
         if (parent) {
           parent.insert(item)
           continue