use query key util

This commit is contained in:
Samuel Newman
2026-04-24 16:16:50 +03:00
parent dc87c20a6e
commit 5369f83597
2 changed files with 6 additions and 10 deletions
+1 -1
View File
@@ -133,7 +133,7 @@ export function ConvoProvider({
const [root, id] = getConvoKey(convoId)
return queryClient.getQueryCache().subscribe(event => {
const queryKey = event.query.queryKey as string[]
if (queryKey[0] === root && queryKey[1] === id && !queryKey[2]) {
if (queryKey[0] === root && queryKey[1] === id) {
const data = event.query.state.data as
| ChatBskyConvoDefs.ConvoView
| undefined
@@ -5,16 +5,12 @@ import {useQuery, useQueryClient} from '@tanstack/react-query'
import {DM_SERVICE_HEADERS} from '#/lib/constants'
import {useMessagesEventBus} from '#/state/messages/events'
import {STALE} from '#/state/queries'
import {createQueryKey} from '#/state/queries/util'
import {useAgent} from '#/state/session'
import * as bsky from '#/types/bsky'
import {RQKEY_ROOT as GET_CONVOS_KEY} from './conversation'
export const RQKEY_SEGMENT = 'members'
export const RQKEY = (convoId: string) => [
GET_CONVOS_KEY,
convoId,
RQKEY_SEGMENT,
]
const listConvoMembersQueryKey = (convoId: string) =>
createQueryKey('listConvoMembers', {convoId})
// group chat size is 50, so should fetch the whole list in one go
const LIMIT = 50
@@ -41,7 +37,7 @@ export function useListConvoMembersQuery({
) => ChatBskyActorDefs.ProfileViewBasic[],
) {
queryClient.setQueryData<ChatBskyActorDefs.ProfileViewBasic[]>(
RQKEY(convoId),
listConvoMembersQueryKey(convoId),
old => {
if (!old) return // query doesn't exist yet, skip
return fn(old)
@@ -84,7 +80,7 @@ export function useListConvoMembersQuery({
}, [convoId, messagesBus, queryClient])
return useQuery({
queryKey: RQKEY(convoId),
queryKey: listConvoMembersQueryKey(convoId),
queryFn: async () => {
const members = []
let cursor