Skip to content

Commit 24ab053

Browse files
committed
refactor(app): simplify sync query key access
1 parent 09ef650 commit 24ab053

4 files changed

Lines changed: 8 additions & 18 deletions

File tree

packages/app/src/components/dialog-select-mcp.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export const DialogSelectMcp: Component = () => {
3333
if (sync.data.mcp[name]?.status === "connected") await sdk.client.mcp.disconnect({ name })
3434
else await sdk.client.mcp.connect({ name })
3535
},
36-
onSuccess: () => queryClient.refetchQueries({ queryKey: queryOptions.keys.mcp(sync.directory) }),
36+
onSuccess: () => queryClient.refetchQueries({ queryKey: queryOptions.mcp(sync.directory).queryKey }),
3737
}))
3838

3939
const enabledCount = createMemo(() => items().filter((i) => i.status === "connected").length)

packages/app/src/components/status-popover-body.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ const useMcpToggleMutation = () => {
146146
const status = sync.data.mcp[name]
147147
await (status?.status === "connected" ? sdk.client.mcp.disconnect({ name }) : sdk.client.mcp.connect({ name }))
148148
},
149-
onSuccess: () => queryClient.refetchQueries({ queryKey: queryOptions.keys.mcp(sync.directory) }),
149+
onSuccess: () => queryClient.refetchQueries({ queryKey: queryOptions.mcp(sync.directory).queryKey }),
150150
onError: (err) => {
151151
showToast({
152152
variant: "error",

packages/app/src/context/global-sync.tsx

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,15 @@ type GlobalStore = {
5050
reload: undefined | "pending" | "complete"
5151
}
5252

53-
export const loadSessionsQueryKey = (directory: string) => [directory, "loadSessions"] as const
54-
55-
export const mcpQueryKey = (directory: string) => [directory, "mcp"] as const
56-
5753
export const loadMcpQuery = (directory: string, sdk: OpencodeClient) =>
5854
queryOptions({
59-
queryKey: mcpQueryKey(directory),
55+
queryKey: [directory, "mcp"] as const,
6056
queryFn: () => sdk.mcp.status().then((r) => r.data ?? {}),
6157
})
6258

63-
export const lspQueryKey = (directory: string) => [directory, "lsp"] as const
64-
6559
export const loadLspQuery = (directory: string, sdk: OpencodeClient) =>
6660
queryOptions({
67-
queryKey: lspQueryKey(directory),
61+
queryKey: [directory, "lsp"] as const,
6862
queryFn: () => sdk.lsp.status().then((r) => r.data ?? []),
6963
})
7064

@@ -101,11 +95,7 @@ function createGlobalSync() {
10195
agents: (directory: string) => loadAgentsQuery(directory, sdkFor(directory)),
10296
mcp: (directory: string) => loadMcpQuery(directory, sdkFor(directory)),
10397
lsp: (directory: string) => loadLspQuery(directory, sdkFor(directory)),
104-
keys: {
105-
lsp: lspQueryKey,
106-
mcp: mcpQueryKey,
107-
sessions: loadSessionsQueryKey,
108-
},
98+
sessions: (directory: string) => ({ queryKey: [directory, "loadSessions"] as const }),
10999
}
110100

111101
const [configQuery, providerQuery, pathQuery] = useQueries(() => ({
@@ -254,7 +244,7 @@ function createGlobalSync() {
254244
const limit = Math.max(store.limit + SESSION_RECENT_LIMIT, SESSION_RECENT_LIMIT)
255245
const promise = queryClient
256246
.fetchQuery({
257-
queryKey: loadSessionsQueryKey(key),
247+
...queryOptionsApi.sessions(key),
258248
queryFn: () =>
259249
loadRootSessionsWithFallback({
260250
directory,

packages/app/src/pages/layout/sidebar-workspace.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ export const SortableWorkspace = (props: {
321321
const boot = createMemo(() => open() || active())
322322
const count = createMemo(() => sessions()?.length ?? 0)
323323
const hasMore = createMemo(() => workspaceStore.sessionTotal > count())
324-
const fetching = useIsFetching(() => ({ queryKey: queryOptions.keys.sessions(props.directory) }))
324+
const fetching = useIsFetching(() => ({ queryKey: queryOptions.sessions(props.directory).queryKey }))
325325
const busy = createMemo(() => props.ctx.isBusy(props.directory))
326326
const loading = () => fetching() > 0 && count() === 0
327327
const touch = createMediaQuery("(hover: none)")
@@ -456,7 +456,7 @@ export const LocalWorkspace = (props: {
456456
const slug = createMemo(() => base64Encode(props.project.worktree))
457457
const sessions = createMemo(() => sortedRootSessions(workspace().store, props.sortNow()))
458458
const count = createMemo(() => sessions()?.length ?? 0)
459-
const fetching = useIsFetching(() => ({ queryKey: queryOptions.keys.sessions(props.project.worktree) }))
459+
const fetching = useIsFetching(() => ({ queryKey: queryOptions.sessions(props.project.worktree).queryKey }))
460460
const hasMore = createMemo(() => workspace().store.sessionTotal > count())
461461
const loading = () => fetching() > 0 && count() === 0
462462
const loadMore = async () => {

0 commit comments

Comments
 (0)