diff --git a/packages/app/src/components/agent-status-bar.tsx b/packages/app/src/components/agent-status-bar.tsx index b5e061fd6..d7aa38dea 100644 --- a/packages/app/src/components/agent-status-bar.tsx +++ b/packages/app/src/components/agent-status-bar.tsx @@ -424,12 +424,7 @@ function ControlledStatusBar({ {thinkingOptions && thinkingOptions.length > 0 ? ( <> - + 0 ? ( <> - + { + lastInputWasKeyboard = true; + }; + const markPointer = () => { + lastInputWasKeyboard = false; + }; + window.addEventListener("keydown", markKeyboard, true); + window.addEventListener("mousedown", markPointer, true); + window.addEventListener("pointerdown", markPointer, true); + window.addEventListener("touchstart", markPointer, true); +} + +function shouldOpenOnFocus(): boolean { + return !isWeb || lastInputWasKeyboard; +} + function composeEventHandlers( original?: (event: E) => void, injected?: (event: E) => void, @@ -304,6 +326,7 @@ export function TooltipTrigger({ (e: any) => { onFocus?.(e); if (!ctx.enabled || disabled) return; + if (!shouldOpenOnFocus()) return; clearOpenTimer(); ctx.setOpen(true); },