[🐴] Invalidate list convos query on block (#4171)

* more memoization

* invalidate listconvos query on block
zio/stable
Samuel Newman 2024-05-22 18:14:15 +01:00 committed by GitHub
parent b937372325
commit 3ca41e4efb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 22 additions and 18 deletions

View File

@ -46,7 +46,8 @@ export function useUnreadMessageCount() {
}) })
const moderationOpts = useModerationOpts() const moderationOpts = useModerationOpts()
const count = const count = useMemo(() => {
return (
convos.data?.pages convos.data?.pages
.flatMap(page => page.convos) .flatMap(page => page.convos)
.filter(convo => convo.id !== currentConvoId) .filter(convo => convo.id !== currentConvoId)
@ -57,7 +58,6 @@ export function useUnreadMessageCount() {
if (!otherMember || !moderationOpts) return acc if (!otherMember || !moderationOpts) return acc
// TODO could shadow this outside this hook and get optimistic block state
const moderation = moderateProfile(otherMember, moderationOpts) const moderation = moderateProfile(otherMember, moderationOpts)
const shouldIgnore = const shouldIgnore =
convo.muted || convo.muted ||
@ -67,6 +67,8 @@ export function useUnreadMessageCount() {
return acc + unreadCount return acc + unreadCount
}, 0) ?? 0 }, 0) ?? 0
)
}, [convos.data, currentAccount?.did, currentConvoId, moderationOpts])
return useMemo(() => { return useMemo(() => {
return { return {

View File

@ -25,6 +25,7 @@ import {STALE} from '#/state/queries'
import {resetProfilePostsQueries} from '#/state/queries/post-feed' import {resetProfilePostsQueries} from '#/state/queries/post-feed'
import {updateProfileShadow} from '../cache/profile-shadow' import {updateProfileShadow} from '../cache/profile-shadow'
import {useAgent, useSession} from '../session' import {useAgent, useSession} from '../session'
import {RQKEY as RQKEY_LIST_CONVOS} from './messages/list-converations'
import {RQKEY as RQKEY_MY_BLOCKED} from './my-blocked-accounts' import {RQKEY as RQKEY_MY_BLOCKED} from './my-blocked-accounts'
import {RQKEY as RQKEY_MY_MUTED} from './my-muted-accounts' import {RQKEY as RQKEY_MY_MUTED} from './my-muted-accounts'
@ -414,6 +415,7 @@ export function useProfileBlockMutationQueue(
updateProfileShadow(queryClient, did, { updateProfileShadow(queryClient, did, {
blockingUri: finalBlockingUri, blockingUri: finalBlockingUri,
}) })
queryClient.invalidateQueries({queryKey: RQKEY_LIST_CONVOS})
}, },
}) })