hook up to shadow cache
This commit is contained in:
Vendored
+2
@@ -11,6 +11,7 @@ import {findAllProfilesInQueryData as findAllProfilesInContactMatchesQueryData}
|
|||||||
import {findAllProfilesInQueryData as findAllProfilesInKnownFollowersQueryData} from '#/state/queries/known-followers'
|
import {findAllProfilesInQueryData as findAllProfilesInKnownFollowersQueryData} from '#/state/queries/known-followers'
|
||||||
import {findAllProfilesInQueryData as findAllProfilesInListMembersQueryData} from '#/state/queries/list-members'
|
import {findAllProfilesInQueryData as findAllProfilesInListMembersQueryData} from '#/state/queries/list-members'
|
||||||
import {findAllProfilesInQueryData as findAllProfilesInListConvosQueryData} from '#/state/queries/messages/list-conversations'
|
import {findAllProfilesInQueryData as findAllProfilesInListConvosQueryData} from '#/state/queries/messages/list-conversations'
|
||||||
|
import {findAllProfilesInQueryData as findAllProfilesInMessagesQueryData} from '#/state/queries/messages/list-convo-members'
|
||||||
import {findAllProfilesInQueryData as findAllProfilesInMyBlockedAccountsQueryData} from '#/state/queries/my-blocked-accounts'
|
import {findAllProfilesInQueryData as findAllProfilesInMyBlockedAccountsQueryData} from '#/state/queries/my-blocked-accounts'
|
||||||
import {findAllProfilesInQueryData as findAllProfilesInMyMutedAccountsQueryData} from '#/state/queries/my-muted-accounts'
|
import {findAllProfilesInQueryData as findAllProfilesInMyMutedAccountsQueryData} from '#/state/queries/my-muted-accounts'
|
||||||
import {findAllProfilesInQueryData as findAllProfilesInNotifsQueryData} from '#/state/queries/notifications/feed'
|
import {findAllProfilesInQueryData as findAllProfilesInNotifsQueryData} from '#/state/queries/notifications/feed'
|
||||||
@@ -264,4 +265,5 @@ function* findProfilesInCache(
|
|||||||
yield* findAllProfilesInActivitySubscriptionsQueryData(queryClient, did)
|
yield* findAllProfilesInActivitySubscriptionsQueryData(queryClient, did)
|
||||||
yield* findAllProfilesInNotifsQueryData(queryClient, did)
|
yield* findAllProfilesInNotifsQueryData(queryClient, did)
|
||||||
yield* findAllProfilesInContactMatchesQueryData(queryClient, did)
|
yield* findAllProfilesInContactMatchesQueryData(queryClient, did)
|
||||||
|
yield* findAllProfilesInMessagesQueryData(queryClient, did)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import {useEffect} from 'react'
|
import {useEffect} from 'react'
|
||||||
import {type ChatBskyActorDefs, ChatBskyConvoDefs} from '@atproto/api'
|
import {type ChatBskyActorDefs, ChatBskyConvoDefs} from '@atproto/api'
|
||||||
import {useQuery, useQueryClient} from '@tanstack/react-query'
|
import {type QueryClient, useQuery, useQueryClient} from '@tanstack/react-query'
|
||||||
|
|
||||||
import {DM_SERVICE_HEADERS} from '#/lib/constants'
|
import {DM_SERVICE_HEADERS} from '#/lib/constants'
|
||||||
import {useMessagesEventBus} from '#/state/messages/events'
|
import {useMessagesEventBus} from '#/state/messages/events'
|
||||||
@@ -9,8 +9,9 @@ import {createQueryKey} from '#/state/queries/util'
|
|||||||
import {useAgent} from '#/state/session'
|
import {useAgent} from '#/state/session'
|
||||||
import * as bsky from '#/types/bsky'
|
import * as bsky from '#/types/bsky'
|
||||||
|
|
||||||
|
const RQKEY_ROOT = 'listConvoMembers'
|
||||||
const listConvoMembersQueryKey = (convoId: string) =>
|
const listConvoMembersQueryKey = (convoId: string) =>
|
||||||
createQueryKey('listConvoMembers', {convoId})
|
createQueryKey(RQKEY_ROOT, {convoId})
|
||||||
|
|
||||||
// group chat size is 50, so should fetch the whole list in one go
|
// group chat size is 50, so should fetch the whole list in one go
|
||||||
const LIMIT = 50
|
const LIMIT = 50
|
||||||
@@ -100,3 +101,22 @@ export function useListConvoMembersQuery({
|
|||||||
placeholderData,
|
placeholderData,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function* findAllProfilesInQueryData(
|
||||||
|
queryClient: QueryClient,
|
||||||
|
did: string,
|
||||||
|
): Generator<ChatBskyActorDefs.ProfileViewBasic, void> {
|
||||||
|
const queryDatas = queryClient.getQueriesData<
|
||||||
|
ChatBskyActorDefs.ProfileViewBasic[]
|
||||||
|
>({
|
||||||
|
queryKey: [RQKEY_ROOT],
|
||||||
|
})
|
||||||
|
for (const [_queryKey, queryData] of queryDatas) {
|
||||||
|
if (!queryData) continue
|
||||||
|
for (const member of queryData) {
|
||||||
|
if (member.did === did) {
|
||||||
|
yield member
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user