diff options
author | Eric Bailey <git@esb.lol> | 2023-11-16 17:28:50 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-16 15:28:50 -0800 |
commit | 6dfb2a232f89e96c6cca25430afecbce50d08a0f (patch) | |
tree | 52c33ca3693e7514cafe8c6bb2cce68949d275d6 /src/state/queries/profile.ts | |
parent | f89dc6380171db1d402f5e774103355991aafdea (diff) | |
download | voidsky-6dfb2a232f89e96c6cca25430afecbce50d08a0f.tar.zst |
Caching heuristics (#1938)
* Tempfix profile load * First pass at staleTime
Diffstat (limited to 'src/state/queries/profile.ts')
-rw-r--r-- | src/state/queries/profile.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/state/queries/profile.ts b/src/state/queries/profile.ts index 0383de338..9805c2713 100644 --- a/src/state/queries/profile.ts +++ b/src/state/queries/profile.ts @@ -16,12 +16,14 @@ import {Shadow} from '#/state/cache/types' import {useToggleMutationQueue} from '#/lib/hooks/useToggleMutationQueue' import {RQKEY as RQKEY_MY_MUTED} from './my-muted-accounts' import {RQKEY as RQKEY_MY_BLOCKED} from './my-blocked-accounts' +import {STALE} from '#/state/queries' export const RQKEY = (did: string) => ['profile', did] export function useProfileQuery({did}: {did: string | undefined}) { const {agent} = useSession() return useQuery({ + staleTime: STALE.MINUTES.FIVE, queryKey: RQKEY(did || ''), queryFn: async () => { const res = await agent.getProfile({actor: did || ''}) @@ -304,6 +306,7 @@ function useProfileMuteMutation() { function useProfileUnmuteMutation() { const {agent} = useSession() + const queryClient = useQueryClient() return useMutation<void, Error, {did: string; skipOptimistic?: boolean}>({ mutationFn: async ({did}) => { await agent.unmute(did) @@ -316,6 +319,9 @@ function useProfileUnmuteMutation() { }) } }, + onSuccess() { + queryClient.invalidateQueries({queryKey: RQKEY_MY_MUTED()}) + }, onError(error, variables) { if (!variables.skipOptimistic) { // revert the optimistic update |