From 56828e15b875b77db16f593784689003ee9ca7d2 Mon Sep 17 00:00:00 2001 From: Bonerush <2630234655@qq.com> Date: Tue, 26 May 2026 15:42:09 +0800 Subject: [PATCH] fix: diff display edge cases for empty patches and hunks - FileEditToolDiff: show "No changes to display" when patch is empty - FileWriteToolDiff: guard against empty hunks array - getPatchForDisplay: skip replace when old_string is empty --- src/components/FileEditToolDiff.tsx | 9 +++++++++ .../FileWritePermissionRequest/FileWriteToolDiff.tsx | 2 +- src/utils/diff.ts | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/components/FileEditToolDiff.tsx b/src/components/FileEditToolDiff.tsx index 71acf43389..b4ad695165 100644 --- a/src/components/FileEditToolDiff.tsx +++ b/src/components/FileEditToolDiff.tsx @@ -37,6 +37,15 @@ export function FileEditToolDiff(props: Props): React.ReactNode { function DiffBody({ promise, file_path }: { promise: Promise; file_path: string }): React.ReactNode { const { patch, firstLine, fileContent } = use(promise); const { columns } = useTerminalSize(); + + if (patch.length === 0) { + return ( + + No changes to display + + ); + } + return ( - {hunks ? ( + {hunks && hunks.length > 0 ? ( intersperse( hunks.map(_ => ( escapedNewString) } else {