From 478c28c565d2fd993a2533f3f2d879ee2119fa66 Mon Sep 17 00:00:00 2001 From: m4air Date: Tue, 15 Sep 2026 16:44:53 -0700 Subject: [PATCH] fix(renderer): dispose desync sentinel listener on HMR --- .../terminal-pane/terminal-render-desync-trigger.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/renderer/src/components/terminal-pane/terminal-render-desync-trigger.ts b/src/renderer/src/components/terminal-pane/terminal-render-desync-trigger.ts index e65b19030e7..fa872efde43 100644 --- a/src/renderer/src/components/terminal-pane/terminal-render-desync-trigger.ts +++ b/src/renderer/src/components/terminal-pane/terminal-render-desync-trigger.ts @@ -118,3 +118,12 @@ function removeClickListener(): void { clickListener = null } } + +if (import.meta !== undefined && import.meta.hot) { + // Vite can replace this module without a full renderer reload. Remove the + // opt-in gesture hook so dev sessions do not retain stale pane closures. + import.meta.hot.dispose(() => { + removeClickListener() + stopRenderDesyncSampleBurst() + }) +}