From 24d8311ab45806795daa7883e2cc15b2121548e1 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Tue, 26 May 2026 10:33:58 +0200 Subject: [PATCH] fix(ui): release interrupted markdown highlight jobs --- packages/kilo-vscode/tests/unit/markdown-raf-coalesce.test.ts | 1 + packages/ui/src/kilocode/markdown-stream-highlight.ts | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kilo-vscode/tests/unit/markdown-raf-coalesce.test.ts b/packages/kilo-vscode/tests/unit/markdown-raf-coalesce.test.ts index b67f4b9e75..8a582935ab 100644 --- a/packages/kilo-vscode/tests/unit/markdown-raf-coalesce.test.ts +++ b/packages/kilo-vscode/tests/unit/markdown-raf-coalesce.test.ts @@ -57,5 +57,6 @@ describe("Markdown rAF-coalesced parse — regression guard", () => { expect(src).toContain("preserveStreamingHighlight(fromEl, toEl, local.streaming ?? false)") expect(body).toContain("export function preserveStreamingHighlight") expect(body).toMatch(/continues\(before, after\)[\s\S]*queue\(from, after, lang\)/) + expect(body).toMatch(/const done = \(\) => \{\s*job\.busy = false\s*if \(!pre\.isConnected\) return/) }) }) diff --git a/packages/ui/src/kilocode/markdown-stream-highlight.ts b/packages/ui/src/kilocode/markdown-stream-highlight.ts index cf314d2c7a..993199a093 100644 --- a/packages/ui/src/kilocode/markdown-stream-highlight.ts +++ b/packages/ui/src/kilocode/markdown-stream-highlight.ts @@ -61,13 +61,12 @@ function run(pre: HTMLPreElement, job: Job) { const lang = job.lang job.busy = true const done = () => { + job.busy = false if (!pre.isConnected) return if (job.code !== code || job.lang !== lang) { - job.busy = false run(pre, job) return } - job.busy = false } void refresh(pre, code, lang).then(done, done) }