fix(assistant): prevent panel focus capture

This commit is contained in:
ajnart committed 2026-08-08 14:26:04 +02:00
1 parent 20fd49f082
commit 74c7754890
2 files changed
+19 -19

No files matched your search

+3
View File
@@ -31,6 +31,9 @@ fields, selectors, and editable content.
The **Assistant** board widget embeds the same persisted conversation and full interaction surface directly
on a dashboard. By default it follows the current conversation. Widget settings can instead pin a specific
conversation; the conversation picker stays hidden until **Pinned conversation** is selected.
The Shift+A panel is non-modal: opening it focuses its composer, but it does not capture focus from the board.
Users can continue typing in an Assistant widget or interacting with other dashboard controls while the panel
is open.
When the assistant is unavailable, its command-menu result remains visible but disabled and explains that
an administrator must configure and enable it.
@@ -43,7 +43,6 @@ import {
Collapse,
Combobox,
Divider,
FocusTrap,
Group,
Image,
Loader,
@@ -2608,24 +2607,22 @@ export const AssistantPanel = ({
/>
)}
{opened && (
<FocusTrap active>
<dialog className={classes.floatingPanel} aria-label={t("title")} open>
<AssistantConversationSurface
isRunning={isRunning}
pendingAction={pendingAction}
modelId={modelId}
models={models}
modelOptionsLoading={modelOptionsLoading}
reasoning={reasoning}
isRefreshing={isRefreshing}
onRefresh={onRefresh}
onModelChange={onModelChange}
onReasoningChange={onReasoningChange}
autoFocusComposer
onMinimize={onClose}
/>
</dialog>
</FocusTrap>
<dialog className={classes.floatingPanel} aria-label={t("title")} open>
<AssistantConversationSurface
isRunning={isRunning}
pendingAction={pendingAction}
modelId={modelId}
models={models}
modelOptionsLoading={modelOptionsLoading}
reasoning={reasoning}
isRefreshing={isRefreshing}
onRefresh={onRefresh}
onModelChange={onModelChange}
onReasoningChange={onReasoningChange}
autoFocusComposer
onMinimize={onClose}
/>
</dialog>
)}
</>
);