From fb62e61caf1a4a14ec8db30648e9f008e70604b3 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Fri, 12 Jun 2026 18:41:27 +0200 Subject: [PATCH] fix(vscode): hide unfinished todo warnings --- .changeset/calm-todos-rest.md | 5 +++++ packages/kilo-vscode/tests/unit/session-outcome.test.ts | 6 +++--- .../kilo-vscode/webview-ui/src/context/session-outcome.ts | 1 - 3 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 .changeset/calm-todos-rest.md diff --git a/.changeset/calm-todos-rest.md b/.changeset/calm-todos-rest.md new file mode 100644 index 0000000000..bbd4cf00b0 --- /dev/null +++ b/.changeset/calm-todos-rest.md @@ -0,0 +1,5 @@ +--- +"kilo-code": patch +--- + +Hide turn outcome warnings caused only by unfinished to-dos. diff --git a/packages/kilo-vscode/tests/unit/session-outcome.test.ts b/packages/kilo-vscode/tests/unit/session-outcome.test.ts index 8c4397b98e..ec30837e93 100644 --- a/packages/kilo-vscode/tests/unit/session-outcome.test.ts +++ b/packages/kilo-vscode/tests/unit/session-outcome.test.ts @@ -26,17 +26,17 @@ describe("terminal", () => { expect(terminal({ reason: "completed", messages: [message("stop")], todos: [] })).toBeUndefined() }) - it("warns when a completed turn leaves to-dos unfinished", () => { + it("hides completed turns with unfinished to-dos", () => { expect( terminal({ reason: "completed", messages: [message("stop")], todos: [todo("completed"), todo("pending")] }), - ).toEqual({ kind: "incomplete", tone: "warning", finish: "stop", remaining: 1 }) + ).toBeUndefined() }) it("treats cancelled to-dos as terminal rather than remaining work", () => { expect(terminal({ reason: "completed", messages: [message("stop")], todos: [todo("cancelled")] })).toBeUndefined() }) - it("surfaces response limit and unknown model finishes before generic incomplete status", () => { + it("surfaces response limit and unknown model finishes with unfinished to-dos", () => { expect(terminal({ reason: "completed", messages: [message("length")], todos: [todo("pending")] })?.kind).toBe( "limit", ) diff --git a/packages/kilo-vscode/webview-ui/src/context/session-outcome.ts b/packages/kilo-vscode/webview-ui/src/context/session-outcome.ts index 111125f951..dcf8f26faf 100644 --- a/packages/kilo-vscode/webview-ui/src/context/session-outcome.ts +++ b/packages/kilo-vscode/webview-ui/src/context/session-outcome.ts @@ -32,6 +32,5 @@ export function terminal(input: Input): TerminalState | undefined { if (finish === "unknown") return { kind: "unknown", tone: "warning", finish, remaining } if (finish === "content-filter") return { kind: "filtered", tone: "warning", finish, remaining } if (finish === "other") return { kind: "unexpected", tone: "warning", finish, remaining } - if (remaining > 0) return { kind: "incomplete", tone: "warning", finish, remaining } return undefined }