diff options
author | Eric Bailey <git@esb.lol> | 2024-05-13 16:54:03 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-13 16:54:03 -0500 |
commit | 9980012021bb176d3d84acc3fa14893e6f097f64 (patch) | |
tree | 6e95ea607e216adfc4ba2aa0764c92f28e671652 | |
parent | 5d92ac2ce3eeb0e6d8f1c1f1ca2941dde74756ee (diff) | |
download | voidsky-9980012021bb176d3d84acc3fa14893e6f097f64.tar.zst |
Gate base following feed usage (#3994)
-rw-r--r-- | src/state/queries/post-feed.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/state/queries/post-feed.ts b/src/state/queries/post-feed.ts index 0d54d9ee0..b9e0628f7 100644 --- a/src/state/queries/post-feed.ts +++ b/src/state/queries/post-feed.ts @@ -14,8 +14,10 @@ import { useInfiniteQuery, } from '@tanstack/react-query' +import {HomeFeedAPI} from '#/lib/api/feed/home' import {aggregateUserInterests} from '#/lib/api/feed/utils' import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped' +import {useGate} from '#/lib/statsig/statsig' import {logger} from '#/logger' import {STALE} from '#/state/queries' import {DEFAULT_LOGGED_OUT_PREFERENCES} from '#/state/queries/preferences/const' @@ -116,6 +118,7 @@ export function usePostFeedQuery( result: InfiniteData<FeedPage> } | null>(null) const lastPageCountRef = useRef(0) + const gate = useGate() // Make sure this doesn't invalidate unless really needed. const selectArgs = React.useMemo( @@ -149,6 +152,7 @@ export function usePostFeedQuery( feedTuners, userInterests, // Not in the query key because they don't change. getAgent, + useBaseFollowingFeed: gate('reduced_onboarding_and_home_algo'), }), cursor: undefined, } @@ -382,12 +386,14 @@ function createApi({ feedTuners, userInterests, getAgent, + useBaseFollowingFeed, }: { feedDesc: FeedDescriptor feedParams: FeedParams feedTuners: FeedTunerFn[] userInterests?: string getAgent: () => BskyAgent + useBaseFollowingFeed: boolean }) { if (feedDesc === 'following') { if (feedParams.mergeFeedEnabled) { @@ -398,7 +404,11 @@ function createApi({ userInterests, }) } else { - return new FollowingFeedAPI({getAgent}) + if (useBaseFollowingFeed) { + return new FollowingFeedAPI({getAgent}) + } else { + return new HomeFeedAPI({getAgent, userInterests}) + } } } else if (feedDesc.startsWith('author')) { const [_, actor, filter] = feedDesc.split('|') |