From 4e1f08bfcf8adf4a590e4cc4c8016fd5c1bf9bcc Mon Sep 17 00:00:00 2001 From: Shantur Rathore Date: Sun, 14 Dec 2025 16:33:53 +0000 Subject: [PATCH] Trigger selector popups after auto-opening drawer --- .../src/components/instance/instance-shell2.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/components/instance/instance-shell2.tsx b/packages/ui/src/components/instance/instance-shell2.tsx index a30b0947..e924db58 100644 --- a/packages/ui/src/components/instance/instance-shell2.tsx +++ b/packages/ui/src/components/instance/instance-shell2.tsx @@ -346,11 +346,24 @@ const InstanceShell2: Component = (props) => { let sidebarActionId = 0 const [pendingSidebarAction, setPendingSidebarAction] = createSignal(null) + const triggerKeyboardEvent = (target: HTMLElement, options: { key: string; code: string; keyCode: number }) => { + target.dispatchEvent( + new KeyboardEvent("keydown", { + key: options.key, + code: options.code, + keyCode: options.keyCode, + which: options.keyCode, + bubbles: true, + cancelable: true, + }), + ) + } + const focusAgentSelectorControl = () => { const agentTrigger = leftDrawerContentEl()?.querySelector("[data-agent-selector]") as HTMLElement | null if (!agentTrigger) return false agentTrigger.focus() - setTimeout(() => agentTrigger.click(), 10) + setTimeout(() => triggerKeyboardEvent(agentTrigger, { key: "Enter", code: "Enter", keyCode: 13 }), 10) return true } @@ -360,7 +373,7 @@ const InstanceShell2: Component = (props) => { ) if (!trigger) return false trigger.focus() - setTimeout(() => trigger.click(), 10) + setTimeout(() => triggerKeyboardEvent(trigger, { key: "ArrowDown", code: "ArrowDown", keyCode: 40 }), 10) return true }