diff --git a/packages/widgets/src/open-webui/chat.module.css b/packages/widgets/src/open-webui/chat.module.css index 98b6cd903..ba8d7a7a6 100644 --- a/packages/widgets/src/open-webui/chat.module.css +++ b/packages/widgets/src/open-webui/chat.module.css @@ -24,9 +24,9 @@ } .modelSelect input { - text-align: right; font-size: var(--mantine-font-size-xs); cursor: pointer; + text-overflow: ellipsis; } .avatar { diff --git a/packages/widgets/src/open-webui/chat.tsx b/packages/widgets/src/open-webui/chat.tsx index dad5ddefa..04f22403f 100644 --- a/packages/widgets/src/open-webui/chat.tsx +++ b/packages/widgets/src/open-webui/chat.tsx @@ -325,7 +325,12 @@ export function Chat({ options, integrationIds, isEditMode }: WidgetComponentPro } }; - const modelData = useMemo(() => models.map((m) => ({ value: m.id, label: m.name ?? m.id })), [models]); + // Drop the noisy ":latest" tag from the label (common for Ollama models); the + // value keeps the full id so the right model is still sent. + const modelData = useMemo( + () => models.map((m) => ({ value: m.id, label: (m.name ?? m.id).replace(/:latest$/i, "") })), + [models], + ); const knowledgeName = (id: string) => knowledge.find((item) => item.id === id)?.name ?? id; const hasAttachments = attachments.length > 0 || knowledgeIds.length > 0 || webItems.length > 0; @@ -574,7 +579,7 @@ export function Chat({ options, integrationIds, isEditMode }: WidgetComponentPro nothingFoundMessage={t("widget.openWebUi.noModels")} rightSection={modelsLoading ? : undefined} comboboxProps={{ withinPortal: false }} - maw={160} + maw={200} className={classes.modelSelect} /> {isStreaming ? (