diff --git a/packages/app/src/components/git-diff-pane.tsx b/packages/app/src/components/git-diff-pane.tsx index e3279d646..d287e839b 100644 --- a/packages/app/src/components/git-diff-pane.tsx +++ b/packages/app/src/components/git-diff-pane.tsx @@ -681,8 +681,6 @@ export function GitDiffPane({ serverId, workspaceId, cwd, hideHeaderRow }: GitDi files, payloadError: diffPayloadError, isLoading: isDiffLoading, - isError: isDiffError, - error: diffError, } = useCheckoutDiffQuery({ serverId, cwd, @@ -1071,9 +1069,7 @@ export function GitDiffPane({ serverId, workspaceId, cwd, hideHeaderRow }: GitDi ); const hasChanges = files.length > 0; - const diffErrorMessage = - diffPayloadError?.message ?? - (isDiffError && diffError instanceof Error ? diffError.message : null); + const diffErrorMessage = diffPayloadError?.message ?? null; const prErrorMessage = githubFeaturesEnabled ? (prPayloadError?.message ?? null) : null; const branchLabel = gitStatus?.currentBranch && gitStatus.currentBranch !== "HEAD" diff --git a/packages/app/src/hooks/use-checkout-diff-query.ts b/packages/app/src/hooks/use-checkout-diff-query.ts index c81d36588..e5321a624 100644 --- a/packages/app/src/hooks/use-checkout-diff-query.ts +++ b/packages/app/src/hooks/use-checkout-diff-query.ts @@ -1,4 +1,4 @@ -import { useQuery, useQueryClient } from "@tanstack/react-query"; +import { skipToken, useQuery, useQueryClient } from "@tanstack/react-query"; import { useEffect, useId, useMemo } from "react"; import { useIsCompactFormFactor } from "@/constants/layout"; import { usePanelStore } from "@/stores/panel-store"; @@ -76,27 +76,10 @@ export function useCheckoutDiffQuery({ [serverId, cwd, mode, baseRef, compareIgnoreWhitespace], ); - const query = useQuery({ + const query = useQuery({ queryKey, - queryFn: async () => { - if (!client) { - throw new Error("Daemon client not available"); - } - const payload = await client.getCheckoutDiff(cwd, { - mode: compareMode, - baseRef: compareBaseRef, - ignoreWhitespace: compareIgnoreWhitespace, - }); - return { - ...payload, - files: orderCheckoutDiffFiles(payload.files), - }; - }, - enabled: !!client && isConnected && !!cwd && enabled, + queryFn: skipToken, staleTime: Infinity, - refetchOnMount: false, - refetchOnReconnect: false, - refetchOnWindowFocus: false, }); useEffect(() => { @@ -208,9 +191,9 @@ export function useCheckoutDiffQuery({ return { files: payload?.files ?? [], payloadError, - isLoading: query.isLoading, - isFetching: query.isFetching, - isError: query.isError || Boolean(payloadError), - error: query.error, + isLoading: payload === null && enabled && isConnected, + isFetching: false, + isError: Boolean(payloadError), + error: null, }; }