diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/view/com/feeds/FeedPage.tsx | 6 | ||||
-rw-r--r-- | src/view/com/posts/Feed.tsx | 4 | ||||
-rw-r--r-- | src/view/screens/Home.tsx | 5 |
3 files changed, 10 insertions, 5 deletions
diff --git a/src/view/com/feeds/FeedPage.tsx b/src/view/com/feeds/FeedPage.tsx index 1028d7e64..44e90a551 100644 --- a/src/view/com/feeds/FeedPage.tsx +++ b/src/view/com/feeds/FeedPage.tsx @@ -32,6 +32,7 @@ const POLL_FREQ = 60e3 // 60sec export function FeedPage({ testID, isPageFocused, + isPageAdjacent, feed, feedParams, renderEmptyState, @@ -42,6 +43,7 @@ export function FeedPage({ feed: FeedDescriptor feedParams?: FeedParams isPageFocused: boolean + isPageAdjacent: boolean renderEmptyState: () => JSX.Element renderEndOfFeed?: () => JSX.Element savedFeedConfig?: AppBskyActorDefs.SavedFeed @@ -111,11 +113,11 @@ export function FeedPage({ <FeedFeedbackProvider value={feedFeedback}> <Feed testID={testID ? `${testID}-feed` : undefined} - enabled={isPageFocused} + enabled={isPageFocused || isPageAdjacent} feed={feed} feedParams={feedParams} pollInterval={POLL_FREQ} - disablePoll={hasNew} + disablePoll={hasNew || !isPageFocused} scrollElRef={scrollElRef} onScrolledDownChange={setIsScrolledDown} onHasNew={setHasNew} diff --git a/src/view/com/posts/Feed.tsx b/src/view/com/posts/Feed.tsx index c623234b8..fb5484919 100644 --- a/src/view/com/posts/Feed.tsx +++ b/src/view/com/posts/Feed.tsx @@ -216,7 +216,7 @@ let Feed = ({ checkForNewRef.current = checkForNew }, [checkForNew]) React.useEffect(() => { - if (enabled) { + if (enabled && !disablePoll) { const timeSinceFirstLoad = Date.now() - lastFetchRef.current // DISABLED need to check if this is causing random feed refreshes -prf /*if (timeSinceFirstLoad > REFRESH_AFTER) { @@ -231,7 +231,7 @@ let Feed = ({ checkForNewRef.current() } } - }, [enabled, feed, queryClient, scrollElRef]) + }, [enabled, disablePoll, feed, queryClient, scrollElRef]) React.useEffect(() => { let cleanup1: () => void | undefined, cleanup2: () => void | undefined const subscription = AppState.addEventListener('change', nextAppState => { diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index cadfb4890..91c9ae69a 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -233,7 +233,7 @@ function HomeScreenReady({ onPageScrollStateChanged={onPageScrollStateChanged} renderTabBar={renderTabBar}> {pinnedFeedInfos.length ? ( - pinnedFeedInfos.map(feedInfo => { + pinnedFeedInfos.map((feedInfo, index) => { const feed = feedInfo.feedDescriptor if (feed === 'following') { return ( @@ -241,6 +241,7 @@ function HomeScreenReady({ key={feed} testID="followingFeedPage" isPageFocused={selectedFeed === feed} + isPageAdjacent={Math.abs(selectedIndex - index) === 1} feed={feed} feedParams={homeFeedParams} renderEmptyState={renderFollowingEmptyState} @@ -254,6 +255,7 @@ function HomeScreenReady({ key={feed} testID="customFeedPage" isPageFocused={selectedFeed === feed} + isPageAdjacent={Math.abs(selectedIndex - index) === 1} feed={feed} renderEmptyState={renderCustomFeedEmptyState} savedFeedConfig={savedFeedConfig} @@ -273,6 +275,7 @@ function HomeScreenReady({ <FeedPage testID="customFeedPage" isPageFocused + isPageAdjacent={false} feed={`feedgen|${PROD_DEFAULT_FEED('whats-hot')}`} renderEmptyState={renderCustomFeedEmptyState} /> |