From 810e098d82b5b1be5214b4e1b79c6995a5d1eb83 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 10 Jun 2026 16:03:32 +0300 Subject: [PATCH] reinstate list-conversations invalidation on block Co-Authored-By: Claude Fable 5 --- src/state/queries/profile.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/state/queries/profile.ts b/src/state/queries/profile.ts index 069fe76780..526a9df8f3 100644 --- a/src/state/queries/profile.ts +++ b/src/state/queries/profile.ts @@ -42,6 +42,7 @@ import { ProgressGuideAction, useProgressGuideControls, } from '../shell/progress-guide' +import {RQKEY_ROOT as RQKEY_LIST_CONVOS} from './messages/list-conversations' import {RQKEY as RQKEY_MY_BLOCKED} from './my-blocked-accounts' import {RQKEY as RQKEY_MY_MUTED} from './my-muted-accounts' @@ -527,6 +528,11 @@ export function useProfileBlockMutationQueue( updateProfileShadow(queryClient, did, { blockingUri: finalBlockingUri, }) + // The shadow only reaches components that read profiles through shadow + // hooks. The convo list is also read raw (e.g. the unread badge's + // calculateCount, getMessageInfo), and blocks emit no chat log event, + // so without a refetch that data stays stale indefinitely. + void queryClient.invalidateQueries({queryKey: [RQKEY_LIST_CONVOS]}) }, })