diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-11-29 16:58:14 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-29 18:58:14 -0600 |
commit | 630637874db9bf188214657b576cbf2965a77278 (patch) | |
tree | e5e00955cb38db3f5c642da943529fde8e855d33 /src/lib/api/feed | |
parent | a59d235e8b319f6c33e0a0221c99c915128826a6 (diff) | |
download | voidsky-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.ts | 4 |
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, }) |