diff --git a/CHANGELOG.md b/CHANGELOG.md index acb280f5f..fcf7d5155 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.6.9] - 2025-05-10 + +### Added + +- 📝 **Edit Attached Images/Files in Messages**: You can now easily edit your sent messages by removing attached files—streamlining document management, correcting mistakes on the fly, and keeping your chats clutter-free. +- 🚨 **Clear Alerts for Private Task Models**: When interacting with private task models, the UI now clearly alerts you—making it easier to understand resource availability and access, reducing confusion during workflow setup. + +### Fixed + +- 🛡️ **Confirm Dialog Focus Trap Reliability**: The focus now stays correctly within confirmation dialogs, ensuring keyboard navigation and accessibility is seamless and preventing accidental operations—especially helpful during critical or rapid workflows. +- 💬 **Temporary Chat Admin Controls & Session Cleanliness**: Admins are now able to properly enable temporary chat mode without errors, and previous session prompts or tool selections no longer carry over—delivering a fresh, predictable, and consistent temporary chat experience every time. +- 🤖 **External Reranker Integration Functionality Restored**: External reranker integrations now work correctly, allowing you to fully leverage advanced ranking services for sharper, more relevant search results in your RAG and knowledge base workflows. + ## [0.6.8] - 2025-05-10 ### Added diff --git a/package-lock.json b/package-lock.json index de4902c16..ff0414895 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "open-webui", - "version": "0.6.8", + "version": "0.6.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "open-webui", - "version": "0.6.8", + "version": "0.6.9", "dependencies": { "@azure/msal-browser": "^4.5.0", "@codemirror/lang-javascript": "^6.2.2", diff --git a/package.json b/package.json index 7fa6ac5a5..e7229fb5c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-webui", - "version": "0.6.8", + "version": "0.6.9", "private": true, "scripts": { "dev": "npm run pyodide:fetch && vite dev --host", diff --git a/src/lib/components/admin/Settings/Interface.svelte b/src/lib/components/admin/Settings/Interface.svelte index adb4fbdf9..c70259983 100644 --- a/src/lib/components/admin/Settings/Interface.svelte +++ b/src/lib/components/admin/Settings/Interface.svelte @@ -2,9 +2,9 @@ import { v4 as uuidv4 } from 'uuid'; import { toast } from 'svelte-sonner'; - import { getBackendConfig, getTaskConfig, updateTaskConfig } from '$lib/apis'; + import { getBackendConfig, getModels, getTaskConfig, updateTaskConfig } from '$lib/apis'; import { setDefaultPromptSuggestions } from '$lib/apis/configs'; - import { config, models, settings, user } from '$lib/stores'; + import { config, settings, user } from '$lib/stores'; import { createEventDispatcher, onMount, getContext } from 'svelte'; import { banners as _banners } from '$lib/stores'; @@ -15,6 +15,8 @@ import Tooltip from '$lib/components/common/Tooltip.svelte'; import Switch from '$lib/components/common/Switch.svelte'; import Textarea from '$lib/components/common/Textarea.svelte'; + import Spinner from '$lib/components/common/Spinner.svelte'; + import { getBaseModels } from '$lib/apis/models'; const dispatch = createEventDispatcher(); @@ -49,6 +51,7 @@ }; onMount(async () => { + await init(); taskConfig = await getTaskConfig(localStorage.token); promptSuggestions = $config?.default_prompt_suggestions ?? []; @@ -58,9 +61,40 @@ const updateBanners = async () => { _banners.set(await setBanners(localStorage.token, banners)); }; + + let workspaceModels = null; + let baseModels = null; + + let models = null; + + const init = async () => { + workspaceModels = await getBaseModels(localStorage.token); + baseModels = await getModels(localStorage.token, null, true); + + models = baseModels.map((m) => { + const workspaceModel = workspaceModels.find((wm) => wm.id === m.id); + + if (workspaceModel) { + return { + ...m, + ...workspaceModel + }; + } else { + return { + ...m, + id: m.id, + name: m.name, + + is_active: true + }; + } + }); + + console.log('models', models); + }; -{#if taskConfig} +{#if models !== null && taskConfig}
+{:else} +