From 8279959055c98d260bb5c6c89db94af6aaed2f98 Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Fri, 15 May 2026 00:00:40 -0700 Subject: [PATCH] Stupid but harmless memory cleanup in workers --- packages/diffs/src/worker/worker.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/diffs/src/worker/worker.ts b/packages/diffs/src/worker/worker.ts index 72f9e9d44..eb5fb3c1b 100644 --- a/packages/diffs/src/worker/worker.ts +++ b/packages/diffs/src/worker/worker.ts @@ -39,6 +39,8 @@ let renderOptions: WorkerRenderingOptions = { maxLineDiffLength: 1000, }; +const EMPTY_REGEXP = /(?:)/; + self.addEventListener('error', (event) => { console.error('[Shiki Worker] Unhandled error:', event.error); }); @@ -71,6 +73,10 @@ async function handleMessage(request: WorkerRequest) { } catch (error) { console.error('Worker error:', error); sendError(request.id, error); + } finally { + // Reset legacy RegExp last-match state so it cannot keep a highlighted + // source string alive after a highlight job completes. + EMPTY_REGEXP.exec(''); } }