From 1a22a59f1f235d0cde5a1565aa43260f16a940ad Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Mon, 20 Jul 2026 10:15:05 +0000 Subject: [PATCH 1/7] fix(vscode): stop filtering typecheck errors --- packages/kilo-ui/src/components/diff.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/kilo-ui/src/components/diff.tsx b/packages/kilo-ui/src/components/diff.tsx index 947cb2b4dc3..09ffb663225 100644 --- a/packages/kilo-ui/src/components/diff.tsx +++ b/packages/kilo-ui/src/components/diff.tsx @@ -740,6 +740,9 @@ export function Diff(props: DiffProps) { containerWrapper: container, }) } else { + const oldFile = local.before + const newFile = local.after + if (!oldFile || !newFile) return const beforeContents = before() const afterContents = after() @@ -749,8 +752,8 @@ export function Diff(props: DiffProps) { } instance.render({ - oldFile: { ...local.before, contents: beforeContents, cacheKey: cacheKey(beforeContents) }, - newFile: { ...local.after, contents: afterContents, cacheKey: cacheKey(afterContents) }, + oldFile: { ...oldFile, contents: beforeContents, cacheKey: cacheKey(beforeContents) }, + newFile: { ...newFile, contents: afterContents, cacheKey: cacheKey(afterContents) }, lineAnnotations: annotations, containerWrapper: container, }) From 9b0b0a372591c535088613823a8c20c87f612412 Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Mon, 20 Jul 2026 10:15:07 +0000 Subject: [PATCH 2/7] fix(vscode): stop filtering typecheck errors --- packages/kilo-vscode/knip.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/kilo-vscode/knip.json b/packages/kilo-vscode/knip.json index 78b5a311058..18a96ea1108 100644 --- a/packages/kilo-vscode/knip.json +++ b/packages/kilo-vscode/knip.json @@ -8,6 +8,7 @@ "webview-ui/kiloclaw/index.tsx", "webview-ui/marketplace/index.tsx", "webview-ui/pierre-worker.ts", + "webview-ui/src/assets.d.ts", "webview-ui/src/index.tsx", "src/**/__tests__/**/*.{ts,spec.ts}", "src/**/*.test.ts", From 668fbf60dcc6a4e80ab99a30037ee19ca971cb2b Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Mon, 20 Jul 2026 10:15:09 +0000 Subject: [PATCH 3/7] fix(vscode): stop filtering typecheck errors --- packages/kilo-vscode/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kilo-vscode/package.json b/packages/kilo-vscode/package.json index 4066e4f5707..c9fbb113c8a 100644 --- a/packages/kilo-vscode/package.json +++ b/packages/kilo-vscode/package.json @@ -1167,7 +1167,7 @@ "watch-tests": "tsc -p . -w --outDir out", "pretest": "bun run compile-tests && bun run compile && bun run lint", "check-types": "tsc --noEmit", - "check-types:webview": "bun script/typecheck.ts --project webview-ui/tsconfig.json", + "check-types:webview": "tsc --noEmit --project webview-ui/tsconfig.json", "typecheck": "bun run check-types && bun run check-types:webview", "format": "prettier --write .", "format:check": "prettier --check .", From 00c7d737d6c2cde6871bd51a7beb0b52b0a09bc0 Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Mon, 20 Jul 2026 10:15:11 +0000 Subject: [PATCH 4/7] fix(vscode): stop filtering typecheck errors --- packages/kilo-vscode/webview-ui/src/assets.d.ts | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 packages/kilo-vscode/webview-ui/src/assets.d.ts diff --git a/packages/kilo-vscode/webview-ui/src/assets.d.ts b/packages/kilo-vscode/webview-ui/src/assets.d.ts new file mode 100644 index 00000000000..f1eb861ce99 --- /dev/null +++ b/packages/kilo-vscode/webview-ui/src/assets.d.ts @@ -0,0 +1,9 @@ +declare module "*.svg" { + const src: string + export default src +} + +declare module "*?worker&url" { + const src: string + export default src +} From 6aca958e9f65add73727fbdc8a0f87292a02d262 Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Mon, 20 Jul 2026 10:15:13 +0000 Subject: [PATCH 5/7] fix(vscode): stop filtering typecheck errors --- packages/kilo-vscode/script/typecheck.ts | 38 ------------------------ 1 file changed, 38 deletions(-) delete mode 100644 packages/kilo-vscode/script/typecheck.ts diff --git a/packages/kilo-vscode/script/typecheck.ts b/packages/kilo-vscode/script/typecheck.ts deleted file mode 100644 index ddab32a3e05..00000000000 --- a/packages/kilo-vscode/script/typecheck.ts +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bun -/** - * Cross-platform typecheck script that runs tsc and filters errors. - * - * Replaces the previous bash/grep pipeline so `bun run typecheck` works - * on Windows without POSIX tools. - * - * Usage: - * bun script/typecheck.ts # check extension - * bun script/typecheck.ts --project webview-ui/tsconfig.json # check webview - * - * Filtering rules: - * - Only lines matching "error TS" are reported - * - Lines starting with ".." (parent node_modules) are excluded - * - For the webview project, "@pierre/diffs" errors are also excluded - */ - -import { $ } from "bun" - -const args = process.argv.slice(2) -const projectIdx = args.indexOf("--project") -const project = projectIdx !== -1 ? args[projectIdx + 1] : undefined -const webview = project?.includes("webview-ui") - -const tscArgs = project ? ["--noEmit", "--project", project] : ["--noEmit"] -const result = await $`tsc ${tscArgs}`.nothrow().quiet() -const output = result.stdout.toString() + result.stderr.toString() - -const errors = output - .split("\n") - .filter((line) => line.includes("error TS")) - .filter((line) => !line.startsWith("..")) - .filter((line) => !webview || !line.includes("@pierre/diffs")) - -if (errors.length > 0) { - console.error(errors.join("\n")) - process.exit(1) -} From 00c5da38e56b8f84dcfbfdc90e21e530b7be9224 Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Mon, 20 Jul 2026 10:31:07 +0000 Subject: [PATCH 6/7] fix(ui): surface invalid diff inputs --- packages/kilo-ui/src/components/diff.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kilo-ui/src/components/diff.tsx b/packages/kilo-ui/src/components/diff.tsx index 09ffb663225..0c187d1f890 100644 --- a/packages/kilo-ui/src/components/diff.tsx +++ b/packages/kilo-ui/src/components/diff.tsx @@ -742,7 +742,7 @@ export function Diff(props: DiffProps) { } else { const oldFile = local.before const newFile = local.after - if (!oldFile || !newFile) return + if (!oldFile || !newFile) throw new Error("Diff requires before and after contents when fileDiff is absent") const beforeContents = before() const afterContents = after() From 39a09ffb228dab18b447e333fc91f6d69912d179 Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Mon, 20 Jul 2026 12:57:00 +0000 Subject: [PATCH 7/7] fix(ui): keep diff narrowing type-only --- packages/kilo-ui/src/components/diff.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/kilo-ui/src/components/diff.tsx b/packages/kilo-ui/src/components/diff.tsx index 0c187d1f890..cee9fba7a47 100644 --- a/packages/kilo-ui/src/components/diff.tsx +++ b/packages/kilo-ui/src/components/diff.tsx @@ -740,9 +740,8 @@ export function Diff(props: DiffProps) { containerWrapper: container, }) } else { - const oldFile = local.before - const newFile = local.after - if (!oldFile || !newFile) throw new Error("Diff requires before and after contents when fileDiff is absent") + const oldFile = local.before! + const newFile = local.after! const beforeContents = before() const afterContents = after()