- {reviewFiles.map((file) => {
- const isCollapsed = collapsedFiles.has(file.path);
- const deferredReason = getDeferredReason(file.path);
-
- if (deferredReason) {
- return (
-
- toggleFile(file.path)}
- onShow={() => revealFile(file.path)}
- />
-
- );
- }
-
- const githubFileUrl = prUrl
- ? `${prUrl}/files#diff-${file.path.replaceAll("/", "-")}`
- : undefined;
-
- return (
-
-
- toggleFile(file.path)}
- commentThreads={showReviewComments ? commentThreads : undefined}
- fallback={toolCallDiffs?.get(file.path) ?? null}
- externalUrl={githubFileUrl}
- />
-
-
- );
- })}
-
- );
-}
diff --git a/apps/code/src/renderer/features/code-review/components/DiffStatsBadge.tsx b/apps/code/src/renderer/features/code-review/components/DiffStatsBadge.tsx
index a3060f858..6f51a9b30 100644
--- a/apps/code/src/renderer/features/code-review/components/DiffStatsBadge.tsx
+++ b/apps/code/src/renderer/features/code-review/components/DiffStatsBadge.tsx
@@ -1,9 +1,7 @@
import { Tooltip } from "@components/ui/Tooltip";
import { useGitQueries } from "@features/git-interaction/hooks/useGitQueries";
-import { computeDiffStats } from "@features/git-interaction/utils/diffStats";
import { useCwd } from "@features/sidebar/hooks/useCwd";
-import { useCloudChangedFiles } from "@features/task-detail/hooks/useCloudChangedFiles";
-import { useWorkspace } from "@features/workspace/hooks/useWorkspace";
+import { useIsWorkspaceCloudRun } from "@features/workspace/hooks/useWorkspace";
import { GitDiff } from "@phosphor-icons/react";
import { Button } from "@posthog/quill";
import { Flex, Text } from "@radix-ui/themes";
@@ -11,54 +9,66 @@ import {
formatHotkey,
SHORTCUTS,
} from "@renderer/constants/keyboard-shortcuts";
+import { useSandboxDiffStats } from "@renderer/features/code-review/hooks/useSandboxGit";
import { useReviewNavigationStore } from "@renderer/features/code-review/stores/reviewNavigationStore";
import type { Task } from "@shared/types";
-import { useMemo } from "react";
interface DiffStatsBadgeProps {
task: Task;
}
-function useChangedFileStats(task: Task) {
- const taskId = task.id;
- const workspace = useWorkspace(taskId);
- const isCloud =
- workspace?.mode === "cloud" || task.latest_run?.environment === "cloud";
- const repoPath = useCwd(taskId);
+export function DiffStatsBadge({ task }: DiffStatsBadgeProps) {
+ const isCloud = useIsWorkspaceCloudRun(task.id);
+ if (isCloud) {
+ return