From e08ad6e212639997fec787aa0ec2ed003ed6a478 Mon Sep 17 00:00:00 2001 From: Tom X Nguyen Date: Sun, 24 May 2026 11:56:02 +0700 Subject: [PATCH] perf: make loadCodePreviewSettings non-blocking in session_start Fire-and-forget loadCodePreviewSettings().then() instead of await so the session_start handler returns immediately and doesn't block the serial extension runner dispatch. Tool renderer registration runs immediately without waiting for settings to load from disk. --- src/extension/index.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/extension/index.ts b/src/extension/index.ts index 07e548a..b3b245f 100644 --- a/src/extension/index.ts +++ b/src/extension/index.ts @@ -16,9 +16,10 @@ export async function codePreviews(pi: ExtensionAPI) { registerSettingsCommand(pi); pi.on("session_start", async (_event, ctx) => { - await loadCodePreviewSettings(ctx.cwd); - if (codePreviewSettings.syntaxHighlighting) - void initializeShiki(codePreviewSettings.shikiTheme); + loadCodePreviewSettings(ctx.cwd).then(() => { + if (codePreviewSettings.syntaxHighlighting) + void initializeShiki(codePreviewSettings.shikiTheme); + }); registerToolRenderers(pi, ctx.cwd, { registeredTools, activatedTools }); }); }