From 630637874db9bf188214657b576cbf2965a77278 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 29 Nov 2023 16:58:14 -0800 Subject: 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 --- src/lib/api/feed/merge.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lib/api/feed/merge.ts') 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 { 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, }) -- cgit 1.4.1