diff --git a/src/screens/Hashtag.tsx b/src/screens/Hashtag.tsx index b57b73edb6..2245b40317 100644 --- a/src/screens/Hashtag.tsx +++ b/src/screens/Hashtag.tsx @@ -195,8 +195,11 @@ function HashtagScreenTab({ const onRefresh = React.useCallback(async () => { setIsPTR(true) - await refetch() - setIsPTR(false) + try { + await refetch() + } finally { + setIsPTR(false) + } }, [refetch]) const onEndReached = React.useCallback(() => { diff --git a/src/screens/Topic.tsx b/src/screens/Topic.tsx index 7fbfe9b1a7..dc57a03572 100644 --- a/src/screens/Topic.tsx +++ b/src/screens/Topic.tsx @@ -160,8 +160,11 @@ function TopicScreenTab({ const onRefresh = React.useCallback(async () => { setIsPTR(true) - await refetch() - setIsPTR(false) + try { + await refetch() + } finally { + setIsPTR(false) + } }, [refetch]) const onEndReached = React.useCallback(() => { diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx index 4847ecbf63..38221535d8 100644 --- a/src/view/screens/Profile.tsx +++ b/src/view/screens/Profile.tsx @@ -360,8 +360,11 @@ function ProfileScreenLoaded({ const onRefresh = async () => { setIsRefreshing(true) - await postFeedRef.current?.refreshFeed() - setIsRefreshing(false) + try { + await postFeedRef.current?.refreshFeed() + } finally { + setIsRefreshing(false) + } } // rendering