diff --git a/index.ts b/index.ts index 85706a8..cce88fe 100644 --- a/index.ts +++ b/index.ts @@ -124,10 +124,19 @@ export default function piStatusbarExtension(pi: ExtensionAPI) { } } + let rerenderScheduled = false; function rerender(ctx: any) { latestCtx = ctx; - requestRender?.(); - if (ctx.hasUI) ctx.ui.setStatus("pi-statusbar", undefined); + if (rerenderScheduled) return; + rerenderScheduled = true; + + // Debounce Render - Coalesce rapid rerender calls into a single pass. + queueMicrotask(() => { + rerenderScheduled = false; + requestRender?.(); + const current = latestCtx; + if (current?.hasUI) current.ui.setStatus("pi-statusbar", undefined); + }); } function installFooter(ctx: any) {