Merge pull request #4795 from open-webui/dev

0.3.15
This commit is contained in:
Timothy Jaeryang Baek 2024-08-22 00:28:30 +02:00 committed by GitHub
commit 847ca66001
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
54 changed files with 148 additions and 29 deletions

View File

@ -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

View File

@ -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:

View File

@ -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}")

View File

@ -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

4
package-lock.json generated
View File

@ -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",

View File

@ -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",

View File

@ -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 @@
<div class=" mb-2 text-sm font-medium">{$i18n.t('ComfyUI Workflow Nodes')}</div>
<div class="text-xs flex flex-col gap-1.5">
{#each workflowNodes as node}
{#each requiredWorkflowNodes as node}
<div class="flex w-full items-center border dark:border-gray-850 rounded-lg">
<div class="flex-shrink-0">
<div
class=" capitalize line-clamp-1 font-medium px-3 py-1 w-20 text-center rounded-l-lg bg-green-500/10 text-green-700 dark:text-green-200"
>
{node.type}
{node.type}{node.type === 'prompt' ? '*' : ''}
</div>
</div>
<div class="">
@ -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
/>
</Tooltip>
</div>
</div>
{/each}
</div>
<div class="mt-2 text-xs text-right text-gray-400 dark:text-gray-500">
{$i18n.t('*Prompt node ID(s) are required for image generation')}
</div>
</div>
{/if}
{:else if config?.engine === 'openai'}

View File

@ -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 = '';

View File

@ -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,

View File

@ -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;
})}
<div class="flex justify-end">
<div class="w-full">

View File

@ -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;
}}
>

View File

@ -1,5 +1,5 @@
<script lang="ts">
import { onMount } from 'svelte';
import { onDestroy, onMount } from 'svelte';
export let show = false;
export let src = '';
@ -45,6 +45,14 @@
document.body.removeChild(previewElement);
document.body.style.overflow = 'unset';
}
onDestroy(() => {
show = false;
if (previewElement) {
document.body.removeChild(previewElement);
}
});
</script>
{#if show}

View File

@ -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": "عن",

View File

@ -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": "Относно",

View File

@ -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": "সম্পর্কে",

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -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": "",

View File

@ -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": "",

View File

@ -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",

View File

@ -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": "درباره",

View File

@ -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",

View File

@ -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 lexé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",

View File

@ -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 lexé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",

View File

@ -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": "אודות",

View File

@ -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": "हमारे बारे में",

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -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": "概要",

View File

@ -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": "შესახებ",

View File

@ -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": "정보",

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -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": "ਬਾਰੇ",

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -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": "О программе",

View File

@ -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": "О нама",

View File

@ -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",

View File

@ -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": "เกี่ยวกับ",

View File

@ -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": "",

View File

@ -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",

View File

@ -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": "Про програму",

View File

@ -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",

View File

@ -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": "关于",

View File

@ -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": "關於",

View File

@ -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();
}