From 36dfbc55bd0c8d0a1cb147f0458965d0a9bd2763 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Wed, 24 Sep 2025 04:54:21 -0400 Subject: [PATCH] tui: fix keybind timeout management and add null safety --- packages/opencode/src/cli/cmd/tui/context/keybind.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/context/keybind.tsx b/packages/opencode/src/cli/cmd/tui/context/keybind.tsx index 1e6be783c..b53b5a18e 100644 --- a/packages/opencode/src/cli/cmd/tui/context/keybind.tsx +++ b/packages/opencode/src/cli/cmd/tui/context/keybind.tsx @@ -24,12 +24,13 @@ export function init() { const renderer = useRenderer() let focus: Renderable | null + let timeout: NodeJS.Timeout function leader(active: boolean) { if (active) { setStore("leader", true) focus = renderer.currentFocusedRenderable focus?.blur() - setTimeout(() => { + timeout = setTimeout(() => { leader(false) }, 2000) return @@ -40,6 +41,7 @@ export function init() { focus.focus() } setStore("leader", false) + clearTimeout(timeout) } } @@ -49,7 +51,7 @@ export function init() { return } - if (store.leader) { + if (store.leader && evt.name) { setImmediate(() => { leader(false) })