[🐴] Invalidate list convos query on block (#4171)
* more memoization * invalidate listconvos query on blockzio/stable
parent
b937372325
commit
3ca41e4efb
|
@ -46,27 +46,29 @@ export function useUnreadMessageCount() {
|
|||
})
|
||||
const moderationOpts = useModerationOpts()
|
||||
|
||||
const count =
|
||||
convos.data?.pages
|
||||
.flatMap(page => page.convos)
|
||||
.filter(convo => convo.id !== currentConvoId)
|
||||
.reduce((acc, convo) => {
|
||||
const otherMember = convo.members.find(
|
||||
member => member.did !== currentAccount?.did,
|
||||
)
|
||||
const count = useMemo(() => {
|
||||
return (
|
||||
convos.data?.pages
|
||||
.flatMap(page => page.convos)
|
||||
.filter(convo => convo.id !== currentConvoId)
|
||||
.reduce((acc, convo) => {
|
||||
const otherMember = convo.members.find(
|
||||
member => member.did !== currentAccount?.did,
|
||||
)
|
||||
|
||||
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 shouldIgnore =
|
||||
convo.muted ||
|
||||
moderation.blocked ||
|
||||
otherMember.did === 'missing.invalid'
|
||||
const unreadCount = !shouldIgnore && convo.unreadCount > 0 ? 1 : 0
|
||||
const moderation = moderateProfile(otherMember, moderationOpts)
|
||||
const shouldIgnore =
|
||||
convo.muted ||
|
||||
moderation.blocked ||
|
||||
otherMember.did === 'missing.invalid'
|
||||
const unreadCount = !shouldIgnore && convo.unreadCount > 0 ? 1 : 0
|
||||
|
||||
return acc + unreadCount
|
||||
}, 0) ?? 0
|
||||
return acc + unreadCount
|
||||
}, 0) ?? 0
|
||||
)
|
||||
}, [convos.data, currentAccount?.did, currentConvoId, moderationOpts])
|
||||
|
||||
return useMemo(() => {
|
||||
return {
|
||||
|
|
|
@ -25,6 +25,7 @@ import {STALE} from '#/state/queries'
|
|||
import {resetProfilePostsQueries} from '#/state/queries/post-feed'
|
||||
import {updateProfileShadow} from '../cache/profile-shadow'
|
||||
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_MUTED} from './my-muted-accounts'
|
||||
|
||||
|
@ -414,6 +415,7 @@ export function useProfileBlockMutationQueue(
|
|||
updateProfileShadow(queryClient, did, {
|
||||
blockingUri: finalBlockingUri,
|
||||
})
|
||||
queryClient.invalidateQueries({queryKey: RQKEY_LIST_CONVOS})
|
||||
},
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue