diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-12-15 15:49:07 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-15 15:49:07 -0800 |
commit | 2a712630b471561790ff4a467613679f38424f64 (patch) | |
tree | f414fdbf5c3e6f11b949b548776d61bb8f99e795 /src/view/screens/ProfileList.tsx | |
parent | dd074371cfbcdc778dba3877fa3dda07a0f5d418 (diff) | |
download | voidsky-2a712630b471561790ff4a467613679f38424f64.tar.zst |
Traffic reduction and tuned caching strats (#2215)
* Update the feed to only check latest on focus after 30s, but to do a full reset on focus after 1 hour to avoid very stale data * Remove the isFeedPublic query * Fix: avoid double next-page fetches * Reduce some poll intervals to reduce server load * Guard against double-fires of fetchNextPage * Reduce polling on blurred screens
Diffstat (limited to 'src/view/screens/ProfileList.tsx')
-rw-r--r-- | src/view/screens/ProfileList.tsx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/view/screens/ProfileList.tsx b/src/view/screens/ProfileList.tsx index 7f922e5b4..2db768cc5 100644 --- a/src/view/screens/ProfileList.tsx +++ b/src/view/screens/ProfileList.tsx @@ -1,6 +1,6 @@ import React, {useCallback, useMemo} from 'react' import {ActivityIndicator, Pressable, StyleSheet, View} from 'react-native' -import {useFocusEffect} from '@react-navigation/native' +import {useFocusEffect, useIsFocused} from '@react-navigation/native' import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types' import {useNavigation} from '@react-navigation/native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' @@ -115,6 +115,7 @@ function ProfileListScreenLoaded({ const aboutSectionRef = React.useRef<SectionRef>(null) const {openModal} = useModalControls() const isCurateList = list.purpose === 'app.bsky.graph.defs#curatelist' + const isScreenFocused = useIsFocused() useSetTitle(list.name) @@ -165,7 +166,7 @@ function ProfileListScreenLoaded({ feed={`list|${uri}`} scrollElRef={scrollElRef as ListRef} headerHeight={headerHeight} - isFocused={isFocused} + isFocused={isScreenFocused && isFocused} /> )} {({headerHeight, scrollElRef}) => ( @@ -623,7 +624,7 @@ const FeedSection = React.forwardRef<SectionRef, FeedSectionProps>( testID="listFeed" enabled={isFocused} feed={feed} - pollInterval={30e3} + pollInterval={60e3} scrollElRef={scrollElRef} onHasNew={setHasNew} onScrolledDownChange={setIsScrolledDown} |