diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b7bdef0b..6b86b2600 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.3.15] - 2024-08-21 + +### Added + +- **🔗 Temporary Chat Activation**: Integrated a new URL parameter 'temporary-chat=true' to enable temporary chat sessions directly through the URL. +- **🌄 ComfyUI Seed Node Support**: Introduced seed node support in ComfyUI for image generation, allowing users to specify node IDs for randomized seed assignment. + +### Fixed + +- **🛠️ Tools and Functions**: Resolved a critical issue where Tools and Functions were not properly functioning, restoring full capability and reliability to these essential features. +- **🔘 Chat Action Button in Many Model Chat**: Fixed the malfunctioning of chat action buttons in many model chat environments, ensuring a smoother and more responsive user interaction. +- **⏪ Many Model Chat Compatibility**: Restored backward compatibility for many model chats. + ## [0.3.14] - 2024-08-21 ### Added diff --git a/backend/apps/images/main.py b/backend/apps/images/main.py index 371b1c3bc..25ed2c517 100644 --- a/backend/apps/images/main.py +++ b/backend/apps/images/main.py @@ -298,7 +298,8 @@ def get_models(user=Depends(get_verified_user)): for node in app.state.config.COMFYUI_WORKFLOW_NODES: if node["type"] == "model": - model_node_id = node["node_ids"][0] + if node["node_ids"]: + model_node_id = node["node_ids"][0] break if model_node_id: diff --git a/backend/apps/images/utils/comfyui.py b/backend/apps/images/utils/comfyui.py index cece3d737..158484223 100644 --- a/backend/apps/images/utils/comfyui.py +++ b/backend/apps/images/utils/comfyui.py @@ -133,7 +133,7 @@ async def comfyui_generate_image( else random.randint(0, 18446744073709551614) ) for node_id in node.node_ids: - workflow[node.node_id]["inputs"]["seed"] = seed + workflow[node_id]["inputs"][node.key] = seed else: for node_id in node.node_ids: workflow[node_id]["inputs"][node.key] = node.value @@ -147,6 +147,8 @@ async def comfyui_generate_image( return None try: + log.info("Sending workflow to WebSocket server.") + log.info(f"Workflow: {workflow}") images = await asyncio.to_thread(get_images, ws, workflow, client_id, base_url) except Exception as e: log.exception(f"Error while receiving images: {e}") diff --git a/backend/apps/webui/main.py b/backend/apps/webui/main.py index 375615180..bede4b4f8 100644 --- a/backend/apps/webui/main.py +++ b/backend/apps/webui/main.py @@ -280,6 +280,10 @@ async def generate_function_chat_completion(form_data, user): files = metadata.get("files", []) tool_ids = metadata.get("tool_ids", []) + # Check if tool_ids is None + if tool_ids is None: + tool_ids = [] + __event_emitter__ = None __event_call__ = None __task__ = None @@ -301,9 +305,10 @@ async def generate_function_chat_completion(form_data, user): "__messages__": form_data["messages"], "__files__": files, } - configured_tools = get_tools(app, tool_ids, user, tools_params) - extra_params["__tools__"] = configured_tools + tools = get_tools(app, tool_ids, user, tools_params) + extra_params["__tools__"] = tools + if model_info: if model_info.base_model_id: form_data["model"] = model_info.base_model_id diff --git a/package-lock.json b/package-lock.json index 88d4d8928..d612dddcb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "open-webui", - "version": "0.3.14", + "version": "0.3.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "open-webui", - "version": "0.3.14", + "version": "0.3.15", "dependencies": { "@codemirror/lang-javascript": "^6.2.2", "@codemirror/lang-python": "^6.1.6", diff --git a/package.json b/package.json index 08cf84b31..7252d8829 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-webui", - "version": "0.3.14", + "version": "0.3.15", "private": true, "scripts": { "dev": "npm run pyodide:fetch && vite dev --host", diff --git a/src/lib/components/admin/Settings/Images.svelte b/src/lib/components/admin/Settings/Images.svelte index 72112fdc9..91ce4f280 100644 --- a/src/lib/components/admin/Settings/Images.svelte +++ b/src/lib/components/admin/Settings/Images.svelte @@ -27,7 +27,7 @@ let models = null; - let workflowNodes = [ + let requiredWorkflowNodes = [ { type: 'prompt', key: 'text', @@ -52,6 +52,11 @@ type: 'steps', key: 'steps', node_ids: '' + }, + { + type: 'seed', + key: 'seed', + node_ids: '' } ]; @@ -101,11 +106,12 @@ } if (config?.comfyui?.COMFYUI_WORKFLOW) { - config.comfyui.COMFYUI_WORKFLOW_NODES = workflowNodes.map((node) => { + config.comfyui.COMFYUI_WORKFLOW_NODES = requiredWorkflowNodes.map((node) => { return { type: node.type, key: node.key, - node_ids: node.node_ids.split(',').map((id) => id.trim()) + node_ids: + node.node_ids.trim() === '' ? [] : node.node_ids.split(',').map((id) => id.trim()) }; }); } @@ -150,15 +156,17 @@ ); } - if ((config?.comfyui?.COMFYUI_WORKFLOW_NODES ?? []).length >= 5) { - workflowNodes = config.comfyui.COMFYUI_WORKFLOW_NODES.map((node) => { - return { - type: node.type, - key: node.key, - node_ids: node.node_ids.join(',') - }; - }); - } + requiredWorkflowNodes = requiredWorkflowNodes.map((node) => { + const n = config.comfyui.COMFYUI_WORKFLOW_NODES.find((n) => n.type === node.type) ?? node; + + console.log(n); + + return { + type: n.type, + key: n.key, + node_ids: typeof n.node_ids === 'string' ? n.node_ids : n.node_ids.join(',') + }; + }); const imageConfigRes = await getImageGenerationConfig(localStorage.token).catch((error) => { toast.error(error); @@ -414,13 +422,13 @@
{$i18n.t('ComfyUI Workflow Nodes')}
- {#each workflowNodes as node} + {#each requiredWorkflowNodes as node}
- {node.type} + {node.type}{node.type === 'prompt' ? '*' : ''}
@@ -443,13 +451,16 @@ class="w-full py-1 px-4 rounded-r-lg text-xs bg-transparent outline-none" placeholder="Node Ids" bind:value={node.node_ids} - required />
{/each}
+ +
+ {$i18n.t('*Prompt node ID(s) are required for image generation')} +
{/if} {:else if config?.engine === 'openai'} diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index c805d82fa..543b7b77d 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -270,9 +270,11 @@ ////////////////////////// const initNewChat = async () => { - window.history.replaceState(history.state, '', `/`); - await chatId.set(''); + if ($page.url.pathname.includes('/c/')) { + window.history.replaceState(history.state, '', `/`); + } + await chatId.set(''); autoScroll = true; title = ''; diff --git a/src/lib/components/chat/Messages.svelte b/src/lib/components/chat/Messages.svelte index 9938d2b92..8535585fa 100644 --- a/src/lib/components/chat/Messages.svelte +++ b/src/lib/components/chat/Messages.svelte @@ -386,6 +386,15 @@ {continueGeneration} {mergeResponses} {regenerateResponse} + on:action={async (e) => { + console.log('action', e); + if (typeof e.detail === 'string') { + await chatActionHandler(chatId, e.detail, message.model, message.id); + } else { + const { id, event } = e.detail; + await chatActionHandler(chatId, id, message.model, message.id, event); + } + }} on:change={async () => { await updateChatById(localStorage.token, chatId, { messages: messages, diff --git a/src/lib/components/chat/Messages/MultiResponseMessages.svelte b/src/lib/components/chat/Messages/MultiResponseMessages.svelte index c4826d9af..b86e579a5 100644 --- a/src/lib/components/chat/Messages/MultiResponseMessages.svelte +++ b/src/lib/components/chat/Messages/MultiResponseMessages.svelte @@ -91,9 +91,19 @@ groupedMessages = parentMessage?.models.reduce((a, model, modelIdx) => { // Find all messages that are children of the parent message and have the same model - const modelMessages = parentMessage?.childrenIds + let modelMessages = parentMessage?.childrenIds .map((id) => history.messages[id]) - .filter((m) => m.modelIdx === modelIdx); + .filter((m) => m?.modelIdx === modelIdx); + + if (modelMessages.length === 0) { + modelMessages = parentMessage?.childrenIds + .map((id) => history.messages[id]) + .filter((m) => m?.model === model); + + modelMessages.forEach((m) => { + m.modelIdx = modelIdx; + }); + } return { ...a, @@ -186,6 +196,9 @@ await tick(); groupedMessagesIdx[modelIdx] = groupedMessages[modelIdx].messages.length - 1; }} + on:action={async (e) => { + dispatch('action', e.detail); + }} on:save={async (e) => { console.log('save', e); @@ -208,7 +221,7 @@ {#if !readOnly && isLastMessage} {#if !Object.keys(groupedMessages).find((modelIdx) => { const { messages } = groupedMessages[modelIdx]; - return !messages[groupedMessagesIdx[modelIdx]].done; + return !messages[groupedMessagesIdx[modelIdx]]?.done ?? false; })}
diff --git a/src/lib/components/chat/ModelSelector/Selector.svelte b/src/lib/components/chat/ModelSelector/Selector.svelte index 8d309b782..f1b4d1525 100644 --- a/src/lib/components/chat/ModelSelector/Selector.svelte +++ b/src/lib/components/chat/ModelSelector/Selector.svelte @@ -533,6 +533,14 @@ setTimeout(() => { newChatButton?.click(); }, 0); + + // add 'temporary-chat=true' to the URL + if ($temporaryChatEnabled) { + history.replaceState(null, '', '?temporary-chat=true'); + } else { + history.replaceState(null, '', location.pathname); + } + show = false; }} > diff --git a/src/lib/components/common/ImagePreview.svelte b/src/lib/components/common/ImagePreview.svelte index 5efc70442..956f0b492 100644 --- a/src/lib/components/common/ImagePreview.svelte +++ b/src/lib/components/common/ImagePreview.svelte @@ -1,5 +1,5 @@ {#if show} diff --git a/src/lib/i18n/locales/ar-BH/translation.json b/src/lib/i18n/locales/ar-BH/translation.json index 0432ede88..cc56782df 100644 --- a/src/lib/i18n/locales/ar-BH/translation.json +++ b/src/lib/i18n/locales/ar-BH/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} ...يفكر", "{{user}}'s Chats": "دردشات {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} مطلوب", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "يتم استخدام نموذج المهمة عند تنفيذ مهام مثل إنشاء عناوين للدردشات واستعلامات بحث الويب", "a user": "مستخدم", "About": "عن", diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index 7a41ff183..aa07492e0 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} мисли ...", "{{user}}'s Chats": "{{user}}'s чатове", "{{webUIName}} Backend Required": "{{webUIName}} Изисква се Бекенд", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Моделът на задачите се използва при изпълнение на задачи като генериране на заглавия за чатове и заявки за търсене в мрежата", "a user": "потребител", "About": "Относно", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index e2a1ac318..9fddbdb33 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} চিন্তা করছে...", "{{user}}'s Chats": "{{user}}র চ্যাটস", "{{webUIName}} Backend Required": "{{webUIName}} ব্যাকএন্ড আবশ্যক", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "চ্যাট এবং ওয়েব অনুসন্ধান প্রশ্নের জন্য শিরোনাম তৈরি করার মতো কাজগুলি সম্পাদন করার সময় একটি টাস্ক মডেল ব্যবহার করা হয়", "a user": "একজন ব্যাবহারকারী", "About": "সম্পর্কে", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 5b2b70e82..2cfe07e8f 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} està pensant...", "{{user}}'s Chats": "Els xats de {{user}}", "{{webUIName}} Backend Required": "El Backend de {{webUIName}} és necessari", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Un model de tasca s'utilitza quan es realitzen tasques com ara generar títols per a xats i consultes de cerca per a la web", "a user": "un usuari", "About": "Sobre", diff --git a/src/lib/i18n/locales/ceb-PH/translation.json b/src/lib/i18n/locales/ceb-PH/translation.json index 1f54e2573..6d9ef5246 100644 --- a/src/lib/i18n/locales/ceb-PH/translation.json +++ b/src/lib/i18n/locales/ceb-PH/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} hunahunaa...", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "Backend {{webUIName}} gikinahanglan", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "", "a user": "usa ka user", "About": "Mahitungod sa", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 686b55065..ae46e1700 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} denkt nach...", "{{user}}'s Chats": "{{user}}s Unterhaltungen", "{{webUIName}} Backend Required": "{{webUIName}}-Backend erforderlich", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Aufgabenmodelle können Unterhaltungstitel oder Websuchanfragen generieren.", "a user": "ein Benutzer", "About": "Über", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index 54cb810a9..485340b03 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} is thinkin'...", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "{{webUIName}} Backend Much Required", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "", "a user": "such user", "About": "Much About", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index bab03b352..d1765eda2 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "", "a user": "", "About": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index bab03b352..d1765eda2 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "", "a user": "", "About": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index c3119e33e..24794f511 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} está pensando...", "{{user}}'s Chats": "{{user}}'s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Servidor Requerido", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Un modelo de tareas se utiliza cuando se realizan tareas como la generación de títulos para chats y consultas de búsqueda web", "a user": "un usuario", "About": "Sobre nosotros", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 1f91d6877..a05af0269 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} در حال فکر کردن است...", "{{user}}'s Chats": "{{user}} چت ها", "{{webUIName}} Backend Required": "بکند {{webUIName}} نیاز است.", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "یک مدل وظیفه هنگام انجام وظایف مانند تولید عناوین برای چت ها و نمایش های جستجوی وب استفاده می شود.", "a user": "یک کاربر", "About": "درباره", diff --git a/src/lib/i18n/locales/fi-FI/translation.json b/src/lib/i18n/locales/fi-FI/translation.json index 78b167317..c26843bb5 100644 --- a/src/lib/i18n/locales/fi-FI/translation.json +++ b/src/lib/i18n/locales/fi-FI/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} miettii...", "{{user}}'s Chats": "{{user}}:n keskustelut", "{{webUIName}} Backend Required": "{{webUIName}} backend vaaditaan", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Tehtävämallia käytetään tehtävien suorittamiseen, kuten otsikoiden luomiseen keskusteluille ja verkkohakukyselyille", "a user": "käyttäjä", "About": "Tietoja", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index 2a58e2a14..e7b69d5fb 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} est en train de réfléchir...", "{{user}}'s Chats": "Discussions de {{user}}", "{{webUIName}} Backend Required": "Backend {{webUIName}} requis", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Un modèle de tâche est utilisé lors de l’exécution de tâches telles que la génération de titres pour les conversations et les requêtes de recherche sur le web.", "a user": "un utilisateur", "About": "À propos", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index f3a77031d..f388eaba2 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} est en train de réfléchir...", "{{user}}'s Chats": "Discussions de {{user}}", "{{webUIName}} Backend Required": "Backend {{webUIName}} requis", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Un modèle de tâche est utilisé lors de l’exécution de tâches telles que la génération de titres pour les conversations et les requêtes de recherche sur le web.", "a user": "un utilisateur", "About": "À propos", diff --git a/src/lib/i18n/locales/he-IL/translation.json b/src/lib/i18n/locales/he-IL/translation.json index e71b85738..02ea3ca2d 100644 --- a/src/lib/i18n/locales/he-IL/translation.json +++ b/src/lib/i18n/locales/he-IL/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} חושב...", "{{user}}'s Chats": "צ'אטים של {{user}}", "{{webUIName}} Backend Required": "נדרש Backend של {{webUIName}}", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "מודל משימה משמש בעת ביצוע משימות כגון יצירת כותרות עבור צ'אטים ושאילתות חיפוש באינטרנט", "a user": "משתמש", "About": "אודות", diff --git a/src/lib/i18n/locales/hi-IN/translation.json b/src/lib/i18n/locales/hi-IN/translation.json index 2e00f1884..8f55d3f73 100644 --- a/src/lib/i18n/locales/hi-IN/translation.json +++ b/src/lib/i18n/locales/hi-IN/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} सोच रहा है...", "{{user}}'s Chats": "{{user}} की चैट", "{{webUIName}} Backend Required": "{{webUIName}} बैकएंड आवश्यक", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "चैट और वेब खोज क्वेरी के लिए शीर्षक उत्पन्न करने जैसे कार्य करते समय कार्य मॉडल का उपयोग किया जाता है", "a user": "एक उपयोगकर्ता", "About": "हमारे बारे में", diff --git a/src/lib/i18n/locales/hr-HR/translation.json b/src/lib/i18n/locales/hr-HR/translation.json index 849459b3e..8cad6808b 100644 --- a/src/lib/i18n/locales/hr-HR/translation.json +++ b/src/lib/i18n/locales/hr-HR/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} razmišlja...", "{{user}}'s Chats": "Razgovori korisnika {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} Backend je potreban", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Model zadatka koristi se pri izvođenju zadataka kao što su generiranje naslova za razgovore i upite za pretraživanje weba", "a user": "korisnik", "About": "O aplikaciji", diff --git a/src/lib/i18n/locales/id-ID/translation.json b/src/lib/i18n/locales/id-ID/translation.json index 012947991..ecb9906f5 100644 --- a/src/lib/i18n/locales/id-ID/translation.json +++ b/src/lib/i18n/locales/id-ID/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} sedang berpikir...", "{{user}}'s Chats": "Obrolan {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} Diperlukan Backend", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Model tugas digunakan saat melakukan tugas seperti membuat judul untuk obrolan dan kueri penelusuran web", "a user": "seorang pengguna", "About": "Tentang", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 4e68f4673..c253585e4 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} sta pensando...", "{{user}}'s Chats": "{{user}} Chat", "{{webUIName}} Backend Required": "{{webUIName}} Backend richiesto", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Un modello di attività viene utilizzato durante l'esecuzione di attività come la generazione di titoli per chat e query di ricerca Web", "a user": "un utente", "About": "Informazioni", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 4d569da7a..ebb12050c 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} は思考中です...", "{{user}}'s Chats": "{{user}} のチャット", "{{webUIName}} Backend Required": "{{webUIName}} バックエンドが必要です", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "タスクモデルは、チャットやWeb検索クエリのタイトルの生成などのタスクを実行するときに使用されます", "a user": "ユーザー", "About": "概要", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index b905f65a0..7b55a33c8 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} ფიქრობს...", "{{user}}'s Chats": "{{user}}-ის ჩათები", "{{webUIName}} Backend Required": "{{webUIName}} საჭიროა ბექენდი", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "დავალების მოდელი გამოიყენება ისეთი ამოცანების შესრულებისას, როგორიცაა ჩეთების სათაურების გენერირება და ვებ – ძიების მოთხოვნები", "a user": "მომხმარებელი", "About": "შესახებ", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 73a082e63..33bfbb88a 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} 모델이 생각 중입니다....", "{{user}}'s Chats": "{{user}}의 채팅", "{{webUIName}} Backend Required": "{{webUIName}} 백엔드가 필요합니다.", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "작업 모델은 채팅 및 웹 검색 쿼리에 대한 제목 생성 등의 작업 수행 시 사용됩니다.", "a user": "사용자", "About": "정보", diff --git a/src/lib/i18n/locales/lt-LT/translation.json b/src/lib/i18n/locales/lt-LT/translation.json index 38fb450eb..3987e5c85 100644 --- a/src/lib/i18n/locales/lt-LT/translation.json +++ b/src/lib/i18n/locales/lt-LT/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} mąsto...", "{{user}}'s Chats": "{{user}} susirašinėjimai", "{{webUIName}} Backend Required": "{{webUIName}} būtinas serveris", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Užduočių modelis naudojamas pokalbių pavadinimų ir paieškos užklausų generavimui.", "a user": "naudotojas", "About": "Apie", diff --git a/src/lib/i18n/locales/ms-MY/translation.json b/src/lib/i18n/locales/ms-MY/translation.json index 492c4b5ff..c90ea4452 100644 --- a/src/lib/i18n/locales/ms-MY/translation.json +++ b/src/lib/i18n/locales/ms-MY/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} sedang berfikir...", "{{user}}'s Chats": "Perbualan {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} Backend diperlukan", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Model tugas digunakan semasa melaksanakan tugas seperti menjana tajuk untuk perbualan dan pertanyaan carian web.", "a user": "seorang pengguna", "About": "Mengenai", diff --git a/src/lib/i18n/locales/nb-NO/translation.json b/src/lib/i18n/locales/nb-NO/translation.json index 729af73ec..dca618958 100644 --- a/src/lib/i18n/locales/nb-NO/translation.json +++ b/src/lib/i18n/locales/nb-NO/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} tenker...", "{{user}}'s Chats": "{{user}}s samtaler", "{{webUIName}} Backend Required": "{{webUIName}} Backend kreves", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "En oppgavemodell brukes når du utfører oppgaver som å generere titler for samtaler og websøkeforespørsler", "a user": "en bruker", "About": "Om", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index 6928208b2..174ef094d 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} is aan het denken...", "{{user}}'s Chats": "{{user}}'s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Backend Verlpicht", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Een taakmodel wordt gebruikt bij het uitvoeren van taken zoals het genereren van titels voor chats en zoekopdrachten op internet", "a user": "een gebruiker", "About": "Over", diff --git a/src/lib/i18n/locales/pa-IN/translation.json b/src/lib/i18n/locales/pa-IN/translation.json index 94812baa5..696374557 100644 --- a/src/lib/i18n/locales/pa-IN/translation.json +++ b/src/lib/i18n/locales/pa-IN/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} ਸੋਚ ਰਿਹਾ ਹੈ...", "{{user}}'s Chats": "{{user}} ਦੀਆਂ ਗੱਲਾਂ", "{{webUIName}} Backend Required": "{{webUIName}} ਬੈਕਐਂਡ ਲੋੜੀਂਦਾ ਹੈ", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "ਚੈਟਾਂ ਅਤੇ ਵੈੱਬ ਖੋਜ ਪੁੱਛਗਿੱਛਾਂ ਵਾਸਤੇ ਸਿਰਲੇਖ ਤਿਆਰ ਕਰਨ ਵਰਗੇ ਕਾਰਜ ਾਂ ਨੂੰ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਕਾਰਜ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ", "a user": "ਇੱਕ ਉਪਭੋਗਤਾ", "About": "ਬਾਰੇ", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 912a18fe9..f35ce2fb2 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} myśli...", "{{user}}'s Chats": "{{user}} - czaty", "{{webUIName}} Backend Required": "Backend {{webUIName}} wymagane", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Model zadań jest używany podczas wykonywania zadań, takich jak generowanie tytułów czatów i zapytań wyszukiwania w Internecie", "a user": "użytkownik", "About": "O nas", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 22484ad72..b2fa99c6e 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} está pensando...", "{{user}}'s Chats": "Chats de {{user}}", "{{webUIName}} Backend Required": "Backend {{webUIName}} necessário", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Um modelo de tarefa é usado ao realizar tarefas como gerar títulos para chats e consultas de pesquisa na web", "a user": "um usuário", "About": "Sobre", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index 4e66a3d65..c7e108f8d 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} está a pensar...", "{{user}}'s Chats": "{{user}}'s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Backend Necessário", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Um modelo de tarefa é usado ao executar tarefas como gerar títulos para bate-papos e consultas de pesquisa na Web", "a user": "um utilizador", "About": "Acerca de", diff --git a/src/lib/i18n/locales/ro-RO/translation.json b/src/lib/i18n/locales/ro-RO/translation.json index e8c3976a6..d40bb2250 100644 --- a/src/lib/i18n/locales/ro-RO/translation.json +++ b/src/lib/i18n/locales/ro-RO/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} gândește...", "{{user}}'s Chats": "Conversațiile lui {{user}}", "{{webUIName}} Backend Required": "Este necesar backend-ul {{webUIName}}", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Un model de sarcină este utilizat pentru realizarea unor sarcini precum generarea de titluri pentru conversații și interogări de căutare pe web", "a user": "un utilizator", "About": "Despre", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index b7d3c5217..a0960cd4d 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} думает...", "{{user}}'s Chats": "Чаты {{user}}'а", "{{webUIName}} Backend Required": "Необходимо подключение к серверу {{webUIName}}", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Модель задач используется при выполнении таких задач, как генерация заголовков для чатов и поисковых запросов в Интернете", "a user": "пользователь", "About": "О программе", diff --git a/src/lib/i18n/locales/sr-RS/translation.json b/src/lib/i18n/locales/sr-RS/translation.json index 4e02fefeb..26d329676 100644 --- a/src/lib/i18n/locales/sr-RS/translation.json +++ b/src/lib/i18n/locales/sr-RS/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} размишља...", "{{user}}'s Chats": "Ћаскања корисника {{user}}", "{{webUIName}} Backend Required": "Захтева се {{webUIName}} позадинац", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Модел задатка се користи приликом извршавања задатака као што су генерисање наслова за ћаскања и упите за Веб претрагу", "a user": "корисник", "About": "О нама", diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index d23498cbf..509f5ece1 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} tänker...", "{{user}}'s Chats": "{{user}}s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Backend krävs", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "En uppgiftsmodell används när du utför uppgifter som att generera titlar för chattar och webbsökningsfrågor", "a user": "en användare", "About": "Om", diff --git a/src/lib/i18n/locales/th-TH/translation.json b/src/lib/i18n/locales/th-TH/translation.json index 8afb72553..cac0dd157 100644 --- a/src/lib/i18n/locales/th-TH/translation.json +++ b/src/lib/i18n/locales/th-TH/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} กำลังคิด...", "{{user}}'s Chats": "การสนทนาของ {{user}}", "{{webUIName}} Backend Required": "ต้องการ Backend ของ {{webUIName}}", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "ใช้โมเดลงานเมื่อทำงานเช่นการสร้างหัวข้อสำหรับการสนทนาและการค้นหาเว็บ", "a user": "ผู้ใช้", "About": "เกี่ยวกับ", diff --git a/src/lib/i18n/locales/tk-TW/translation.json b/src/lib/i18n/locales/tk-TW/translation.json index bab03b352..d1765eda2 100644 --- a/src/lib/i18n/locales/tk-TW/translation.json +++ b/src/lib/i18n/locales/tk-TW/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "", "a user": "", "About": "", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index 668e4bcad..636b5f0e5 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} düşünüyor...", "{{user}}'s Chats": "{{user}} Sohbetleri", "{{webUIName}} Backend Required": "{{webUIName}} Arkayüz Gerekli", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Bir görev modeli, sohbetler ve web arama sorguları için başlık oluşturma gibi görevleri yerine getirirken kullanılır", "a user": "bir kullanıcı", "About": "Hakkında", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index 7e4f86a12..7f554c80c 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} думає...", "{{user}}'s Chats": "Чати {{user}}а", "{{webUIName}} Backend Required": "Необхідно підключення бекенду {{webUIName}}", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Модель задач використовується при виконанні таких завдань, як генерація заголовків для чатів та пошукових запитів в Інтернеті", "a user": "користувача", "About": "Про програму", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index 0b727e178..e05bbc88c 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} đang suy nghĩ...", "{{user}}'s Chats": "{{user}}'s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Yêu cầu Backend", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Mô hình tác vụ được sử dụng khi thực hiện các tác vụ như tạo tiêu đề cho cuộc trò chuyện và truy vấn tìm kiếm trên web", "a user": "người sử dụng", "About": "Giới thiệu", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index c792c0fec..8215c5a8e 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} 正在思考...", "{{user}}'s Chats": "{{user}} 的对话记录", "{{webUIName}} Backend Required": "需要 {{webUIName}} 后端", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "任务模型用于执行生成对话标题和网络搜索查询等任务", "a user": "用户", "About": "关于", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index 2393eb2b8..f02503541 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -9,6 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} 正在思考...", "{{user}}'s Chats": "{{user}} 的對話", "{{webUIName}} Backend Required": "需要 {{webUIName}} 後端", + "*Prompt node ID(s) are required for image generation": "", "A task model is used when performing tasks such as generating titles for chats and web search queries": "執行產生對話標題和網頁搜尋查詢等任務時會使用任務模型", "a user": "一位使用者", "About": "關於", diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index b056f8f6e..c65d6a647 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -32,7 +32,8 @@ config, showCallOverlay, tools, - functions + functions, + temporaryChatEnabled } from '$lib/stores'; import SettingsModal from '$lib/components/chat/SettingsModal.svelte'; @@ -40,6 +41,7 @@ import ChangelogModal from '$lib/components/ChangelogModal.svelte'; import AccountPending from '$lib/components/layout/Overlay/AccountPending.svelte'; import { getFunctions } from '$lib/apis/functions'; + import { page } from '$app/stores'; const i18n = getContext('i18n'); @@ -177,6 +179,10 @@ showChangelog.set(localStorage.version !== $config.version); } + if ($page.url.searchParams.get('temporary-chat') === 'true') { + temporaryChatEnabled.set(true); + } + await tick(); }