about summary refs log tree commit diff
path: root/src/lib/api/feed
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-11-29 16:58:14 -0800
committerGitHub <noreply@github.com>2023-11-29 18:58:14 -0600
commit630637874db9bf188214657b576cbf2965a77278 (patch)
treee5e00955cb38db3f5c642da943529fde8e855d33 /src/lib/api/feed
parenta59d235e8b319f6c33e0a0221c99c915128826a6 (diff)
downloadvoidsky-630637874db9bf188214657b576cbf2965a77278.tar.zst
Fix state lifecycle management with post-feed query, solving the duplicate key issue (#2034)
* Assign keys to feed slices via a counter, to enable duplicate items in the feed if needed

* Move post-feed query state into the query's page params to consistently bind their lifecycles
Diffstat (limited to 'src/lib/api/feed')
-rw-r--r--src/lib/api/feed/merge.ts4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/api/feed/merge.ts b/src/lib/api/feed/merge.ts
index bc1b08831..11e963f0a 100644
--- a/src/lib/api/feed/merge.ts
+++ b/src/lib/api/feed/merge.ts
@@ -180,7 +180,7 @@ class MergeFeedSource {
 }
 
 class MergeFeedSource_Following extends MergeFeedSource {
-  tuner = new FeedTuner()
+  tuner = new FeedTuner(this.feedTuners)
 
   reset() {
     super.reset()
@@ -197,7 +197,7 @@ class MergeFeedSource_Following extends MergeFeedSource {
   ): Promise<AppBskyFeedGetTimeline.Response> {
     const res = await getAgent().getTimeline({cursor, limit})
     // run the tuner pre-emptively to ensure better mixing
-    const slices = this.tuner.tune(res.data.feed, this.feedTuners, {
+    const slices = this.tuner.tune(res.data.feed, {
       dryRun: false,
       maintainOrder: true,
     })