diff --git a/src/renderer/src/components/agent/AgentCombobox.tsx b/src/renderer/src/components/agent/AgentCombobox.tsx index 2ae12dfa5..93e12313d 100644 --- a/src/renderer/src/components/agent/AgentCombobox.tsx +++ b/src/renderer/src/components/agent/AgentCombobox.tsx @@ -146,7 +146,15 @@ export default function AgentCombobox({ } }, []) - React.useEffect(() => cancelFocusFrame, [cancelFocusFrame]) + const setInputNode = useCallback( + (node: HTMLInputElement | null): void => { + if (node === null) { + cancelFocusFrame() + } + inputRef.current = node + }, + [cancelFocusFrame] + ) React.useEffect(() => { if (!open) { @@ -284,7 +292,7 @@ export default function AgentCombobox({ > cancelFocusFrame, [cancelFocusFrame]) + const setInputNode = React.useCallback( + (node: HTMLInputElement | null): void => { + if (node === null) { + cancelFocusFrame() + } + inputRef.current = node + }, + [cancelFocusFrame] + ) const focusSearchInput = React.useCallback(() => { cancelFocusFrame() @@ -80,7 +88,7 @@ export function WorkspaceCombobox({ }} > - + No workspaces found. {worktrees.map((worktree) => ( diff --git a/src/renderer/src/components/repo/RepoCombobox.tsx b/src/renderer/src/components/repo/RepoCombobox.tsx index 70e6e043b..9df52db7c 100644 --- a/src/renderer/src/components/repo/RepoCombobox.tsx +++ b/src/renderer/src/components/repo/RepoCombobox.tsx @@ -65,7 +65,15 @@ export default function RepoCombobox({ } }, []) - React.useEffect(() => cancelFocusFrame, [cancelFocusFrame]) + const setInputNode = useCallback( + (node: HTMLInputElement | null): void => { + if (node === null) { + cancelFocusFrame() + } + inputRef.current = node + }, + [cancelFocusFrame] + ) const focusSearchInput = useCallback(() => { cancelFocusFrame() @@ -215,7 +223,7 @@ export default function RepoCombobox({ >