diff options
author | Paul Frazee <pfrazee@gmail.com> | 2024-11-23 16:20:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-23 16:20:24 -0800 |
commit | 32bf8122e8c8a0fbadd53b8a015cfbc9014519a2 (patch) | |
tree | 55bd24596e6fadadbf4326b26e3d14e418c5c7bb /src/state/queries/messages/list-converations.tsx | |
parent | 523d1f01a51c0e85e49916fb42b204f7004ffac1 (diff) | |
parent | b4d07c4112b9a62b5380948051aa4a7fd391a2d4 (diff) | |
download | voidsky-32bf8122e8c8a0fbadd53b8a015cfbc9014519a2.tar.zst |
Merge branch 'main' into main
Diffstat (limited to 'src/state/queries/messages/list-converations.tsx')
-rw-r--r-- | src/state/queries/messages/list-converations.tsx | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/state/queries/messages/list-converations.tsx b/src/state/queries/messages/list-converations.tsx index eeab246ab..ae379f962 100644 --- a/src/state/queries/messages/list-converations.tsx +++ b/src/state/queries/messages/list-converations.tsx @@ -39,7 +39,7 @@ export function useListConvosQuery({ queryKey: RQKEY, queryFn: async ({pageParam}) => { const {data} = await agent.api.chat.bsky.convo.listConvos( - {cursor: pageParam}, + {cursor: pageParam, limit: 20}, {headers: DM_SERVICE_HEADERS}, ) @@ -47,9 +47,6 @@ export function useListConvosQuery({ }, initialPageParam: undefined as RQPageParam, getNextPageParam: lastPage => lastPage.cursor, - // refetch every 60 seconds since we can't get *all* info from the logs - // i.e. reading chats on another device won't update the unread count - refetchInterval: 60_000, }) } @@ -180,6 +177,11 @@ export function ListConvosProviderInner({ }), } } else { + /** + * We received a message from an conversation old enough that + * it doesn't exist in the query cache, meaning we need to + * refetch and bump the old convo to the top. + */ debouncedRefetch() } }) @@ -245,12 +247,12 @@ export function useUnreadMessageCount() { return useMemo(() => { return { count, - numUnread: count > 0 ? (count > 30 ? '30+' : String(count)) : undefined, + numUnread: count > 0 ? (count > 10 ? '10+' : String(count)) : undefined, } }, [count]) } -type ConvoListQueryData = { +export type ConvoListQueryData = { pageParams: Array<string | undefined> pages: Array<ChatBskyConvoListConvos.OutputSchema> } @@ -301,7 +303,7 @@ function optimisticDelete(chatId: string, old: ConvoListQueryData) { } } -function getConvoFromQueryData(chatId: string, old: ConvoListQueryData) { +export function getConvoFromQueryData(chatId: string, old: ConvoListQueryData) { for (const page of old.pages) { for (const convo of page.convos) { if (convo.id === chatId) { |