From 84275bd19abb105126d50fb83fb09264108dc7ba Mon Sep 17 00:00:00 2001 From: Lok3sh-Kumar Date: Sat, 27 Jun 2026 14:17:27 +0530 Subject: [PATCH] fix(open-webui): show knowledge-base documents by default Expand each knowledge base's file list by default in the picker (with a "no files" hint when empty) so a base's documents are visible without an extra click and can be selected individually. --- packages/widgets/src/open-webui/chat.tsx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/widgets/src/open-webui/chat.tsx b/packages/widgets/src/open-webui/chat.tsx index c1bf18a1d..64413ec9c 100644 --- a/packages/widgets/src/open-webui/chat.tsx +++ b/packages/widgets/src/open-webui/chat.tsx @@ -952,6 +952,7 @@ export function Chat({ options, integrationIds, isEditMode }: WidgetComponentPro onToggle={() => toggleKnowledge(item.id)} isFileSelected={(id) => fileItems.some((file) => file.id === id)} onToggleFile={toggleFile} + emptyFilesLabel={t("widget.openWebUi.noFiles")} /> ))} @@ -1255,6 +1256,7 @@ function KnowledgeRow({ onToggle, isFileSelected, onToggleFile, + emptyFilesLabel, }: { integrationId: string; knowledgeId: string; @@ -1263,8 +1265,10 @@ function KnowledgeRow({ onToggle: () => void; isFileSelected: (id: string) => boolean; onToggleFile: (file: FileAttachment) => void; + emptyFilesLabel: string; }) { - const [expanded, setExpanded] = useState(false); + // Default to expanded so a base's documents are visible without an extra click. + const [expanded, setExpanded] = useState(true); const { data: files = [], isLoading } = clientApi.widget.openWebUi.getKnowledgeFiles.useQuery( { integrationId, knowledgeId }, { enabled: expanded && Boolean(integrationId), refetchOnWindowFocus: false, retry: false }, @@ -1274,7 +1278,13 @@ function KnowledgeRow({ - setExpanded((value) => !value)}> + setExpanded((value) => !value)} + aria-label={name} + > {expanded ? : } @@ -1282,6 +1292,10 @@ function KnowledgeRow({ {isLoading ? ( + ) : files.length === 0 ? ( + + {emptyFilesLabel} + ) : ( files.map((file) => (