merge main

This commit is contained in:
Hailey
2024-06-10 11:16:25 -07:00
17 changed files with 131 additions and 72 deletions
@@ -16,6 +16,7 @@ import {
useInfiniteQuery,
useQueryClient,
} from '@tanstack/react-query'
import throttle from 'lodash.throttle'
import {useCurrentConvoId} from '#/state/messages/current-convo-id'
import {useMessagesEventBus} from '#/state/messages/events'
@@ -89,6 +90,15 @@ export function ListConvosProviderInner({
const {currentConvoId} = useCurrentConvoId()
const {currentAccount} = useSession()
const debouncedRefetch = useMemo(
() =>
throttle(refetch, 500, {
leading: true,
trailing: true,
}),
[refetch],
)
useEffect(() => {
const unsub = messagesBus.on(
events => {
@@ -96,7 +106,7 @@ export function ListConvosProviderInner({
events.logs.forEach(log => {
if (ChatBskyConvoDefs.isLogBeginConvo(log)) {
refetch()
debouncedRefetch()
} else if (ChatBskyConvoDefs.isLogLeaveConvo(log)) {
queryClient.setQueryData(RQKEY, (old: ConvoListQueryData) =>
optimisticDelete(log.convoId, old),
@@ -170,7 +180,7 @@ export function ListConvosProviderInner({
}),
}
} else {
refetch()
debouncedRefetch()
}
})
}
@@ -183,7 +193,14 @@ export function ListConvosProviderInner({
)
return () => unsub()
}, [messagesBus, currentConvoId, refetch, queryClient, currentAccount?.did])
}, [
messagesBus,
currentConvoId,
refetch,
queryClient,
currentAccount?.did,
debouncedRefetch,
])
const ctx = useMemo(() => {
return data?.pages.flatMap(page => page.convos) ?? []