Browse Source

Merge branch 'dev' into tools-refac-1

Michael Poluektov 8 months ago
parent
commit
b6d6094018
68 changed files with 536 additions and 1318 deletions
  1. 11 2
      backend/apps/ollama/main.py
  2. 23 6
      backend/main.py
  3. 4 3
      package-lock.json
  4. 1 0
      package.json
  5. 11 9
      src/lib/components/chat/Chat.svelte
  6. 7 1
      src/lib/components/chat/Messages.svelte
  7. 1 1
      src/lib/components/chat/Messages/CodeBlock.svelte
  8. 7 1
      src/lib/components/chat/Messages/MarkdownInlineTokens.svelte
  9. 7 1
      src/lib/components/chat/Messages/MarkdownTokens.svelte
  10. 14 1
      src/lib/components/chat/Messages/Placeholder.svelte
  11. 4 1
      src/lib/components/chat/Messages/RateComment.svelte
  12. 82 10
      src/lib/components/chat/Messages/ResponseMessage.svelte
  13. 16 4
      src/lib/components/chat/Messages/UserMessage.svelte
  14. 1 0
      src/lib/components/chat/ModelSelector.svelte
  15. 31 2
      src/lib/components/chat/ModelSelector/Selector.svelte
  16. 1 73
      src/lib/components/chat/Settings/Chats.svelte
  17. 0 126
      src/lib/components/documents/Settings/ChunkParams.svelte
  18. 0 119
      src/lib/components/documents/Settings/QueryParams.svelte
  19. 0 285
      src/lib/components/documents/Settings/WebParams.svelte
  20. 0 187
      src/lib/components/documents/SettingsModal.svelte
  21. 19 0
      src/lib/components/icons/ChatBubbleOval.svelte
  22. 19 0
      src/lib/components/icons/EyeSlash.svelte
  23. 6 42
      src/lib/components/layout/Sidebar.svelte
  24. 109 64
      src/lib/components/workspace/Functions.svelte
  25. 103 58
      src/lib/components/workspace/Tools.svelte
  26. 1 7
      src/lib/i18n/locales/ar-BH/translation.json
  27. 1 7
      src/lib/i18n/locales/bg-BG/translation.json
  28. 1 7
      src/lib/i18n/locales/bn-BD/translation.json
  29. 1 7
      src/lib/i18n/locales/ca-ES/translation.json
  30. 1 7
      src/lib/i18n/locales/ceb-PH/translation.json
  31. 1 7
      src/lib/i18n/locales/de-DE/translation.json
  32. 1 7
      src/lib/i18n/locales/dg-DG/translation.json
  33. 1 7
      src/lib/i18n/locales/en-GB/translation.json
  34. 1 7
      src/lib/i18n/locales/en-US/translation.json
  35. 1 7
      src/lib/i18n/locales/es-ES/translation.json
  36. 1 7
      src/lib/i18n/locales/fa-IR/translation.json
  37. 1 7
      src/lib/i18n/locales/fi-FI/translation.json
  38. 1 7
      src/lib/i18n/locales/fr-CA/translation.json
  39. 1 7
      src/lib/i18n/locales/fr-FR/translation.json
  40. 1 7
      src/lib/i18n/locales/he-IL/translation.json
  41. 1 7
      src/lib/i18n/locales/hi-IN/translation.json
  42. 1 7
      src/lib/i18n/locales/hr-HR/translation.json
  43. 1 7
      src/lib/i18n/locales/id-ID/translation.json
  44. 1 7
      src/lib/i18n/locales/it-IT/translation.json
  45. 1 7
      src/lib/i18n/locales/ja-JP/translation.json
  46. 1 7
      src/lib/i18n/locales/ka-GE/translation.json
  47. 1 7
      src/lib/i18n/locales/ko-KR/translation.json
  48. 1 7
      src/lib/i18n/locales/lt-LT/translation.json
  49. 1 7
      src/lib/i18n/locales/ms-MY/translation.json
  50. 1 7
      src/lib/i18n/locales/nb-NO/translation.json
  51. 1 7
      src/lib/i18n/locales/nl-NL/translation.json
  52. 1 7
      src/lib/i18n/locales/pa-IN/translation.json
  53. 1 7
      src/lib/i18n/locales/pl-PL/translation.json
  54. 1 7
      src/lib/i18n/locales/pt-BR/translation.json
  55. 1 7
      src/lib/i18n/locales/pt-PT/translation.json
  56. 1 7
      src/lib/i18n/locales/ro-RO/translation.json
  57. 1 7
      src/lib/i18n/locales/ru-RU/translation.json
  58. 1 7
      src/lib/i18n/locales/sr-RS/translation.json
  59. 1 7
      src/lib/i18n/locales/sv-SE/translation.json
  60. 1 7
      src/lib/i18n/locales/th-TH/translation.json
  61. 1 7
      src/lib/i18n/locales/tk-TW/translation.json
  62. 1 7
      src/lib/i18n/locales/tr-TR/translation.json
  63. 1 7
      src/lib/i18n/locales/uk-UA/translation.json
  64. 1 7
      src/lib/i18n/locales/vi-VN/translation.json
  65. 1 7
      src/lib/i18n/locales/zh-CN/translation.json
  66. 1 7
      src/lib/i18n/locales/zh-TW/translation.json
  67. 1 1
      src/lib/stores/index.ts
  68. 17 34
      src/lib/utils/index.ts

+ 11 - 2
backend/apps/ollama/main.py

@@ -147,13 +147,17 @@ async def cleanup_response(
         await session.close()
 
 
-async def post_streaming_url(url: str, payload: str, stream: bool = True):
+async def post_streaming_url(url: str, payload: Union[str, bytes], stream: bool = True):
     r = None
     try:
         session = aiohttp.ClientSession(
             trust_env=True, timeout=aiohttp.ClientTimeout(total=AIOHTTP_CLIENT_TIMEOUT)
         )
-        r = await session.post(url, data=payload)
+        r = await session.post(
+            url,
+            data=payload,
+            headers={"Content-Type": "application/json"},
+        )
         r.raise_for_status()
 
         if stream:
@@ -422,6 +426,7 @@ async def copy_model(
     r = requests.request(
         method="POST",
         url=f"{url}/api/copy",
+        headers={"Content-Type": "application/json"},
         data=form_data.model_dump_json(exclude_none=True).encode(),
     )
 
@@ -470,6 +475,7 @@ async def delete_model(
     r = requests.request(
         method="DELETE",
         url=f"{url}/api/delete",
+        headers={"Content-Type": "application/json"},
         data=form_data.model_dump_json(exclude_none=True).encode(),
     )
     try:
@@ -510,6 +516,7 @@ async def show_model_info(form_data: ModelNameForm, user=Depends(get_verified_us
     r = requests.request(
         method="POST",
         url=f"{url}/api/show",
+        headers={"Content-Type": "application/json"},
         data=form_data.model_dump_json(exclude_none=True).encode(),
     )
     try:
@@ -567,6 +574,7 @@ async def generate_embeddings(
     r = requests.request(
         method="POST",
         url=f"{url}/api/embeddings",
+        headers={"Content-Type": "application/json"},
         data=form_data.model_dump_json(exclude_none=True).encode(),
     )
     try:
@@ -616,6 +624,7 @@ def generate_ollama_embeddings(
     r = requests.request(
         method="POST",
         url=f"{url}/api/embeddings",
+        headers={"Content-Type": "application/json"},
         data=form_data.model_dump_json(exclude_none=True).encode(),
     )
     try:

+ 23 - 6
backend/main.py

@@ -980,9 +980,9 @@ async def get_all_models():
                 function_module, _, _ = load_function_module_by_id(action_id)
                 webui_app.state.FUNCTIONS[action_id] = function_module
 
-            icon_url = None
-            if action.meta.manifest is not None:
-                icon_url = action.meta.manifest.get("icon_url", None)
+            __webui__ = False
+            if hasattr(function_module, "__webui__"):
+                __webui__ = function_module.__webui__
 
             if hasattr(function_module, "actions"):
                 actions = function_module.actions
@@ -994,7 +994,10 @@ async def get_all_models():
                                 "name", f"{action.name} ({_action['id']})"
                             ),
                             "description": action.meta.description,
-                            "icon_url": _action.get("icon_url", icon_url),
+                            "icon_url": _action.get(
+                                "icon_url", action.meta.manifest.get("icon_url", None)
+                            ),
+                            **({"__webui__": __webui__} if __webui__ else {}),
                         }
                         for _action in actions
                     ]
@@ -1005,7 +1008,8 @@ async def get_all_models():
                         "id": action_id,
                         "name": action.name,
                         "description": action.meta.description,
-                        "icon_url": icon_url,
+                        "icon_url": action.meta.manifest.get("icon_url", None),
+                        **({"__webui__": __webui__} if __webui__ else {}),
                     }
                 )
 
@@ -2176,7 +2180,20 @@ async def get_manifest_json():
         "display": "standalone",
         "background_color": "#343541",
         "orientation": "portrait-primary",
-        "icons": [{"src": "/static/logo.png", "type": "image/png", "sizes": "500x500"}],
+        "icons": [
+            {
+                "src": "/static/logo.png",
+                "type": "image/png",
+                "sizes": "500x500",
+                "purpose": "any",
+            },
+            {
+                "src": "/static/logo.png",
+                "type": "image/png",
+                "sizes": "500x500",
+                "purpose": "maskable",
+            },
+        ],
     }
 
 

+ 4 - 3
package-lock.json

@@ -18,6 +18,7 @@
 				"codemirror": "^6.0.1",
 				"crc-32": "^1.2.2",
 				"dayjs": "^1.11.10",
+				"dompurify": "^3.1.6",
 				"eventsource-parser": "^1.1.2",
 				"file-saver": "^2.0.5",
 				"fuse.js": "^7.0.0",
@@ -3918,9 +3919,9 @@
 			}
 		},
 		"node_modules/dompurify": {
-			"version": "3.1.5",
-			"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.5.tgz",
-			"integrity": "sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA=="
+			"version": "3.1.6",
+			"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz",
+			"integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ=="
 		},
 		"node_modules/domutils": {
 			"version": "3.1.0",

+ 1 - 0
package.json

@@ -59,6 +59,7 @@
 		"codemirror": "^6.0.1",
 		"crc-32": "^1.2.2",
 		"dayjs": "^1.11.10",
+		"dompurify": "^3.1.6",
 		"eventsource-parser": "^1.1.2",
 		"file-saver": "^2.0.5",
 		"fuse.js": "^7.0.0",

+ 11 - 9
src/lib/components/chat/Chat.svelte

@@ -26,7 +26,8 @@
 		socket,
 		showCallOverlay,
 		tools,
-		currentChatPage
+		currentChatPage,
+		temporaryChatEnabled
 	} from '$lib/stores';
 	import {
 		convertMessagesToHistory,
@@ -238,7 +239,7 @@
 				}
 			});
 		} else {
-			if (!($settings.saveChatHistory ?? true)) {
+			if ($temporaryChatEnabled) {
 				await goto('/');
 			}
 		}
@@ -414,7 +415,7 @@
 		}
 
 		if ($chatId == chatId) {
-			if ($settings.saveChatHistory ?? true) {
+			if (!$temporaryChatEnabled) {
 				chat = await updateChatById(localStorage.token, chatId, {
 					models: selectedModels,
 					messages: messages,
@@ -429,7 +430,7 @@
 		}
 	};
 
-	const chatActionHandler = async (chatId, actionId, modelId, responseMessageId) => {
+	const chatActionHandler = async (chatId, actionId, modelId, responseMessageId, event = null) => {
 		const res = await chatAction(localStorage.token, actionId, {
 			model: modelId,
 			messages: messages.map((m) => ({
@@ -439,6 +440,7 @@
 				info: m.info ? m.info : undefined,
 				timestamp: m.timestamp
 			})),
+			...(event ? { event: event } : {}),
 			chat_id: chatId,
 			session_id: $socket?.id,
 			id: responseMessageId
@@ -462,7 +464,7 @@
 		}
 
 		if ($chatId == chatId) {
-			if ($settings.saveChatHistory ?? true) {
+			if (!$temporaryChatEnabled) {
 				chat = await updateChatById(localStorage.token, chatId, {
 					models: selectedModels,
 					messages: messages,
@@ -620,7 +622,7 @@
 
 		// Create new chat if only one message in messages
 		if (newChat && messages.length == 2) {
-			if ($settings.saveChatHistory ?? true) {
+			if (!$temporaryChatEnabled) {
 				chat = await createNewChat(localStorage.token, {
 					id: $chatId,
 					title: $i18n.t('New Chat'),
@@ -954,7 +956,7 @@
 			}
 
 			if ($chatId == _chatId) {
-				if ($settings.saveChatHistory ?? true) {
+				if (!$temporaryChatEnabled) {
 					chat = await updateChatById(localStorage.token, _chatId, {
 						messages: messages,
 						history: history,
@@ -1227,7 +1229,7 @@
 				}
 
 				if ($chatId == _chatId) {
-					if ($settings.saveChatHistory ?? true) {
+					if (!$temporaryChatEnabled) {
 						chat = await updateChatById(localStorage.token, _chatId, {
 							models: selectedModels,
 							messages: messages,
@@ -1400,7 +1402,7 @@
 			title = _title;
 		}
 
-		if ($settings.saveChatHistory ?? true) {
+		if (!$temporaryChatEnabled) {
 			chat = await updateChatById(localStorage.token, _chatId, { title: _title });
 
 			currentChatPage.set(1);

+ 7 - 1
src/lib/components/chat/Messages.svelte

@@ -342,7 +342,13 @@
 										{continueGeneration}
 										{regenerateResponse}
 										on:action={async (e) => {
-											await chatActionHandler(chatId, e.detail, message.model, message.id);
+											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:save={async (e) => {
 											console.log('save', e);

+ 1 - 1
src/lib/components/chat/Messages/CodeBlock.svelte

@@ -261,7 +261,7 @@ __builtins__.input = input`);
 		<div
 			class="flex justify-between bg-[#202123] text-white text-xs px-4 pt-1 pb-0.5 rounded-t-lg overflow-x-auto"
 		>
-			<div class="p-1">{@html lang}</div>
+			<div class="p-1">{lang}</div>
 
 			<div class="flex items-center">
 				{#if lang.toLowerCase() === 'python' || lang.toLowerCase() === 'py' || (lang === '' && checkPythonCode(code))}

+ 7 - 1
src/lib/components/chat/Messages/MarkdownInlineTokens.svelte

@@ -1,4 +1,5 @@
 <script lang="ts">
+	import DOMPurify from 'dompurify';
 	import type { Token } from 'marked';
 	import { revertSanitizedResponseContent, unescapeHtml } from '$lib/utils';
 	import { onMount } from 'svelte';
@@ -14,7 +15,12 @@
 	{#if token.type === 'escape'}
 		{unescapeHtml(token.text)}
 	{:else if token.type === 'html'}
-		{@html token.text}
+		{@const html = DOMPurify.sanitize(token.text)}
+		{#if html}
+			{@html html}
+		{:else}
+			{token.text}
+		{/if}
 	{:else if token.type === 'link'}
 		<a href={token.href} target="_blank" rel="nofollow" title={token.title}>{token.text}</a>
 	{:else if token.type === 'image'}

+ 7 - 1
src/lib/components/chat/Messages/MarkdownTokens.svelte

@@ -1,4 +1,5 @@
 <script lang="ts">
+	import DOMPurify from 'dompurify';
 	import { onMount } from 'svelte';
 	import type { Token } from 'marked';
 	import { revertSanitizedResponseContent, unescapeHtml } from '$lib/utils';
@@ -91,7 +92,12 @@
 			</ul>
 		{/if}
 	{:else if token.type === 'html'}
-		{@html token.text}
+		{@const html = DOMPurify.sanitize(token.text)}
+		{#if html}
+			{@html html}
+		{:else}
+			{token.text}
+		{/if}
 	{:else if token.type === 'paragraph'}
 		<p>
 			<MarkdownInlineTokens id={`${id}-${tokenIdx}-p`} tokens={token.tokens ?? []} />

+ 14 - 1
src/lib/components/chat/Messages/Placeholder.svelte

@@ -2,7 +2,7 @@
 	import { WEBUI_BASE_URL } from '$lib/constants';
 	import { marked } from 'marked';
 
-	import { config, user, models as _models } from '$lib/stores';
+	import { config, user, models as _models, temporaryChatEnabled } from '$lib/stores';
 	import { onMount, getContext } from 'svelte';
 
 	import { blur, fade } from 'svelte/transition';
@@ -10,6 +10,7 @@
 	import Suggestions from '../MessageInput/Suggestions.svelte';
 	import { sanitizeResponseContent } from '$lib/utils';
 	import Tooltip from '$lib/components/common/Tooltip.svelte';
+	import EyeSlash from '$lib/components/icons/EyeSlash.svelte';
 
 	const i18n = getContext('i18n');
 
@@ -64,6 +65,18 @@
 			</div>
 		</div>
 
+		{#if $temporaryChatEnabled}
+			<Tooltip
+				content="This chat won't appear in history and your messages will not be saved."
+				className="w-fit"
+				placement="top-start"
+			>
+				<div class="flex items-center gap-2 text-gray-500 font-medium text-lg my-2 w-fit">
+					<EyeSlash strokeWidth="2.5" className="size-5" /> Temporary Chat
+				</div>
+			</Tooltip>
+		{/if}
+
 		<div
 			class=" mt-2 mb-4 text-3xl text-gray-800 dark:text-gray-100 font-semibold text-left flex items-center gap-4 font-primary"
 		>

+ 4 - 1
src/lib/components/chat/Messages/RateComment.svelte

@@ -57,7 +57,10 @@
 		message.annotation.reason = selectedReason;
 		message.annotation.comment = comment;
 
-		dispatch('submit');
+		dispatch('submit', {
+			reason: selectedReason,
+			comment: comment
+		});
 
 		toast.success($i18n.t('Thanks for your feedback!'));
 		show = false;

+ 82 - 10
src/lib/components/chat/Messages/ResponseMessage.svelte

@@ -18,8 +18,7 @@
 		approximateToHumanReadable,
 		extractSentences,
 		replaceTokens,
-		revertSanitizedResponseContent,
-		sanitizeResponseContent
+		processResponseContent
 	} from '$lib/utils';
 	import { WEBUI_BASE_URL } from '$lib/constants';
 
@@ -88,7 +87,7 @@
 	$: (async () => {
 		if (message?.content) {
 			tokens = marked.lexer(
-				replaceTokens(sanitizeResponseContent(message?.content), model?.name, $user?.name)
+				replaceTokens(processResponseContent(message?.content), model?.name, $user?.name)
 			);
 		}
 	})();
@@ -822,10 +821,24 @@
 												?.annotation?.rating ?? null) === 1
 												? 'bg-gray-100 dark:bg-gray-800'
 												: ''} dark:hover:text-white hover:text-black transition"
-											on:click={() => {
-												rateMessage(message.id, 1);
-												showRateComment = true;
+											on:click={async () => {
+												await rateMessage(message.id, 1);
+
+												(model?.actions ?? [])
+													.filter((action) => action?.__webui__ ?? false)
+													.forEach((action) => {
+														dispatch('action', {
+															id: action.id,
+															event: {
+																id: 'good-response',
+																data: {
+																	messageId: message.id
+																}
+															}
+														});
+													});
 
+												showRateComment = true;
 												window.setTimeout(() => {
 													document
 														.getElementById(`message-feedback-${message.id}`)
@@ -857,8 +870,23 @@
 												?.annotation?.rating ?? null) === -1
 												? 'bg-gray-100 dark:bg-gray-800'
 												: ''} dark:hover:text-white hover:text-black transition"
-											on:click={() => {
-												rateMessage(message.id, -1);
+											on:click={async () => {
+												await rateMessage(message.id, -1);
+
+												(model?.actions ?? [])
+													.filter((action) => action?.__webui__ ?? false)
+													.forEach((action) => {
+														dispatch('action', {
+															id: action.id,
+															event: {
+																id: 'bad-response',
+																data: {
+																	messageId: message.id
+																}
+															}
+														});
+													});
+
 												showRateComment = true;
 												window.setTimeout(() => {
 													document
@@ -892,6 +920,20 @@
 													: 'invisible group-hover:visible'} p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg dark:hover:text-white hover:text-black transition regenerate-response-button"
 												on:click={() => {
 													continueGeneration();
+
+													(model?.actions ?? [])
+														.filter((action) => action?.__webui__ ?? false)
+														.forEach((action) => {
+															dispatch('action', {
+																id: action.id,
+																event: {
+																	id: 'continue-response',
+																	data: {
+																		messageId: message.id
+																	}
+																}
+															});
+														});
 												}}
 											>
 												<svg
@@ -925,6 +967,20 @@
 												on:click={() => {
 													showRateComment = false;
 													regenerateResponse(message);
+
+													(model?.actions ?? [])
+														.filter((action) => action?.__webui__ ?? false)
+														.forEach((action) => {
+															dispatch('action', {
+																id: action.id,
+																event: {
+																	id: 'regenerate-response',
+																	data: {
+																		messageId: message.id
+																	}
+																}
+															});
+														});
 												}}
 											>
 												<svg
@@ -944,7 +1000,7 @@
 											</button>
 										</Tooltip>
 
-										{#each model?.actions ?? [] as action}
+										{#each (model?.actions ?? []).filter((action) => !(action?.__webui__ ?? false)) as action}
 											<Tooltip content={action.name} placement="bottom">
 												<button
 													type="button"
@@ -981,8 +1037,24 @@
 							messageId={message.id}
 							bind:show={showRateComment}
 							bind:message
-							on:submit={() => {
+							on:submit={(e) => {
 								updateChatMessages();
+
+								(model?.actions ?? [])
+									.filter((action) => action?.__webui__ ?? false)
+									.forEach((action) => {
+										dispatch('action', {
+											id: action.id,
+											event: {
+												id: 'rate-comment',
+												data: {
+													messageId: message.id,
+													comment: e.detail.comment,
+													reason: e.detail.reason
+												}
+											}
+										});
+									});
 							}}
 						/>
 					{/if}

+ 16 - 4
src/lib/components/chat/Messages/UserMessage.svelte

@@ -10,6 +10,9 @@
 	import { user as _user } from '$lib/stores';
 	import { getFileContentById } from '$lib/apis/files';
 	import FileItem from '$lib/components/common/FileItem.svelte';
+	import { marked } from 'marked';
+	import { processResponseContent, replaceTokens } from '$lib/utils';
+	import MarkdownTokens from './MarkdownTokens.svelte';
 
 	const i18n = getContext('i18n');
 
@@ -91,7 +94,7 @@
 		{/if}
 
 		<div
-			class="prose chat-{message.role} w-full max-w-full flex flex-col justify-end dark:prose-invert prose-headings:my-0 prose-p:my-0 prose-p:-mb-4 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-img:my-0 prose-ul:-my-4 prose-ol:-my-4 prose-li:-my-3 prose-ul:-mb-6 prose-ol:-mb-6 prose-li:-mb-4 whitespace-pre-line"
+			class="prose chat-{message.role} w-full max-w-full dark:prose-invert prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line"
 		>
 			{#if message.files}
 				<div class="mt-2.5 mb-1 w-full flex flex-col justify-end overflow-x-auto gap-1 flex-wrap">
@@ -162,15 +165,24 @@
 				</div>
 			{:else}
 				<div class="w-full">
-					<div class="flex {($settings?.chatBubble ?? true) ? 'justify-end' : ''} mb-2">
+					<div class="flex {($settings?.chatBubble ?? true) ? 'justify-end' : ''} pb-2">
 						<div
 							class="rounded-3xl {($settings?.chatBubble ?? true)
 								? `max-w-[90%] px-5 py-2  bg-gray-50 dark:bg-gray-850 ${
 										message.files ? 'rounded-tr-lg' : ''
 									}`
-								: ''}  "
+								: ''}"
 						>
-							<pre id="user-message">{message.content}</pre>
+							{#if message.content}
+								<div class="">
+									{#key message.id}
+										<MarkdownTokens
+											id={message.id}
+											tokens={marked.lexer(processResponseContent(message?.content))}
+										/>
+									{/key}
+								</div>
+							{/if}
 						</div>
 					</div>
 

+ 1 - 0
src/lib/components/chat/ModelSelector.svelte

@@ -46,6 +46,7 @@
 							label: model.name,
 							model: model
 						}))}
+						showTemporaryChatControl={true}
 						bind:value={selectedModel}
 					/>
 				</div>

+ 31 - 2
src/lib/components/chat/ModelSelector/Selector.svelte

@@ -12,12 +12,14 @@
 
 	import { deleteModel, getOllamaVersion, pullModel } from '$lib/apis/ollama';
 
-	import { user, MODEL_DOWNLOAD_POOL, models, mobile } from '$lib/stores';
+	import { user, MODEL_DOWNLOAD_POOL, models, mobile, temporaryChatEnabled } from '$lib/stores';
 	import { toast } from 'svelte-sonner';
 	import { capitalizeFirstLetter, sanitizeResponseContent, splitStream } from '$lib/utils';
 	import { getModels } from '$lib/apis';
 
 	import Tooltip from '$lib/components/common/Tooltip.svelte';
+	import Switch from '$lib/components/common/Switch.svelte';
+	import ChatBubbleOval from '$lib/components/icons/ChatBubbleOval.svelte';
 
 	const i18n = getContext('i18n');
 	const dispatch = createEventDispatcher();
@@ -27,6 +29,8 @@
 	export let searchEnabled = true;
 	export let searchPlaceholder = $i18n.t('Search a model');
 
+	export let showTemporaryChatControl = false;
+
 	export let items: {
 		label: string;
 		value: string;
@@ -59,7 +63,8 @@
 				return _item;
 			}),
 		{
-			keys: ['value', 'label', 'tags', 'desc', 'modelName']
+			keys: ['value', 'tags', 'modelName'],
+			threshold: 0.3
 		}
 	);
 
@@ -513,6 +518,30 @@
 				{/each}
 			</div>
 
+			{#if showTemporaryChatControl}
+				<hr class="border-gray-100 dark:border-gray-800" />
+
+				<div class="flex items-center mx-2 my-2">
+					<button
+						class="flex justify-between w-full font-medium line-clamp-1 select-none items-center rounded-button py-2 px-3 text-sm text-gray-700 dark:text-gray-100 outline-none transition-all duration-75 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg cursor-pointer data-[highlighted]:bg-muted"
+						on:click={() => {
+							temporaryChatEnabled.set(!$temporaryChatEnabled);
+							show = false;
+						}}
+					>
+						<div class="flex gap-2.5 items-center">
+							<ChatBubbleOval className="size-4" strokeWidth="2.5" />
+
+							{$i18n.t(`Temporary Chat`)}
+						</div>
+
+						<div>
+							<Switch state={$temporaryChatEnabled} />
+						</div>
+					</button>
+				</div>
+			{/if}
+
 			<div class="hidden w-[42rem]" />
 			<div class="hidden w-[32rem]" />
 		</slot>

+ 1 - 73
src/lib/components/chat/Settings/Chats.svelte

@@ -20,8 +20,8 @@
 	const i18n = getContext('i18n');
 
 	export let saveSettings: Function;
+
 	// Chats
-	let saveChatHistory = true;
 	let importFiles;
 
 	let showArchiveConfirm = false;
@@ -95,82 +95,10 @@
 		await chats.set(await getChatList(localStorage.token, $currentChatPage));
 		scrollPaginationEnabled.set(true);
 	};
-
-	const toggleSaveChatHistory = async () => {
-		saveChatHistory = !saveChatHistory;
-		console.log(saveChatHistory);
-
-		if (saveChatHistory === false) {
-			await goto('/');
-		}
-		saveSettings({ saveChatHistory: saveChatHistory });
-	};
-
-	onMount(async () => {
-		saveChatHistory = $settings.saveChatHistory ?? true;
-	});
 </script>
 
 <div class="flex flex-col h-full justify-between space-y-3 text-sm max-h-[22rem]">
 	<div class=" space-y-2">
-		<div
-			class="flex flex-col justify-between rounded-md items-center py-2 px-3.5 w-full transition"
-		>
-			<div class="flex w-full justify-between">
-				<div class=" self-center text-sm font-medium">{$i18n.t('Chat History')}</div>
-
-				<button
-					class="p-1 px-3 text-xs flex rounded transition"
-					type="button"
-					on:click={() => {
-						toggleSaveChatHistory();
-					}}
-				>
-					{#if saveChatHistory === true}
-						<svg
-							xmlns="http://www.w3.org/2000/svg"
-							viewBox="0 0 16 16"
-							fill="currentColor"
-							class="w-4 h-4"
-						>
-							<path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z" />
-							<path
-								fill-rule="evenodd"
-								d="M1.38 8.28a.87.87 0 0 1 0-.566 7.003 7.003 0 0 1 13.238.006.87.87 0 0 1 0 .566A7.003 7.003 0 0 1 1.379 8.28ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"
-								clip-rule="evenodd"
-							/>
-						</svg>
-
-						<span class="ml-2 self-center"> {$i18n.t('On')} </span>
-					{:else}
-						<svg
-							xmlns="http://www.w3.org/2000/svg"
-							viewBox="0 0 16 16"
-							fill="currentColor"
-							class="w-4 h-4"
-						>
-							<path
-								fill-rule="evenodd"
-								d="M3.28 2.22a.75.75 0 0 0-1.06 1.06l10.5 10.5a.75.75 0 1 0 1.06-1.06l-1.322-1.323a7.012 7.012 0 0 0 2.16-3.11.87.87 0 0 0 0-.567A7.003 7.003 0 0 0 4.82 3.76l-1.54-1.54Zm3.196 3.195 1.135 1.136A1.502 1.502 0 0 1 9.45 8.389l1.136 1.135a3 3 0 0 0-4.109-4.109Z"
-								clip-rule="evenodd"
-							/>
-							<path
-								d="m7.812 10.994 1.816 1.816A7.003 7.003 0 0 1 1.38 8.28a.87.87 0 0 1 0-.566 6.985 6.985 0 0 1 1.113-2.039l2.513 2.513a3 3 0 0 0 2.806 2.806Z"
-							/>
-						</svg>
-
-						<span class="ml-2 self-center">{$i18n.t('Off')}</span>
-					{/if}
-				</button>
-			</div>
-
-			<div class="text-xs text-left w-full font-medium mt-0.5">
-				{$i18n.t('This setting does not sync across browsers or devices.')}
-			</div>
-		</div>
-
-		<hr class=" dark:border-gray-850" />
-
 		<div class="flex flex-col">
 			<input
 				id="chat-import-input"

+ 0 - 126
src/lib/components/documents/Settings/ChunkParams.svelte

@@ -1,126 +0,0 @@
-<script lang="ts">
-	import { getDocs } from '$lib/apis/documents';
-	import {
-		getRAGConfig,
-		updateRAGConfig,
-		getQuerySettings,
-		scanDocs,
-		updateQuerySettings,
-		resetVectorDB,
-		getEmbeddingConfig,
-		updateEmbeddingConfig,
-		getRerankingConfig,
-		updateRerankingConfig
-	} from '$lib/apis/rag';
-
-	import { documents, models } from '$lib/stores';
-	import { onMount, getContext } from 'svelte';
-	import { toast } from 'svelte-sonner';
-
-	import Tooltip from '$lib/components/common/Tooltip.svelte';
-
-	const i18n = getContext('i18n');
-
-	export let saveHandler: Function;
-
-	let scanDirLoading = false;
-	let updateEmbeddingModelLoading = false;
-	let updateRerankingModelLoading = false;
-
-	let showResetConfirm = false;
-
-	let chunkSize = 0;
-	let chunkOverlap = 0;
-	let pdfExtractImages = true;
-
-	const submitHandler = async () => {
-		const res = await updateRAGConfig(localStorage.token, {
-			pdf_extract_images: pdfExtractImages,
-			chunk: {
-				chunk_overlap: chunkOverlap,
-				chunk_size: chunkSize
-			}
-		});
-	};
-
-	onMount(async () => {
-		const res = await getRAGConfig(localStorage.token);
-
-		if (res) {
-			pdfExtractImages = res.pdf_extract_images;
-
-			chunkSize = res.chunk.chunk_size;
-			chunkOverlap = res.chunk.chunk_overlap;
-		}
-	});
-</script>
-
-<form
-	class="flex flex-col h-full justify-between space-y-3 text-sm"
-	on:submit|preventDefault={() => {
-		submitHandler();
-		saveHandler();
-	}}
->
-	<div class=" space-y-3 pr-1.5 overflow-y-scroll h-full max-h-[22rem]">
-		<div class=" ">
-			<div class=" text-sm font-medium">{$i18n.t('Chunk Params')}</div>
-
-			<div class=" flex">
-				<div class="  flex w-full justify-between">
-					<div class="self-center text-xs font-medium min-w-fit">{$i18n.t('Chunk Size')}</div>
-
-					<div class="self-center p-3">
-						<input
-							class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-							type="number"
-							placeholder={$i18n.t('Enter Chunk Size')}
-							bind:value={chunkSize}
-							autocomplete="off"
-							min="0"
-						/>
-					</div>
-				</div>
-
-				<div class="flex w-full">
-					<div class=" self-center text-xs font-medium min-w-fit">
-						{$i18n.t('Chunk Overlap')}
-					</div>
-
-					<div class="self-center p-3">
-						<input
-							class="w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-							type="number"
-							placeholder={$i18n.t('Enter Chunk Overlap')}
-							bind:value={chunkOverlap}
-							autocomplete="off"
-							min="0"
-						/>
-					</div>
-				</div>
-			</div>
-
-			<div class="pr-2">
-				<div class="flex justify-between items-center text-xs">
-					<div class=" text-xs font-medium">{$i18n.t('PDF Extract Images (OCR)')}</div>
-
-					<button
-						class=" text-xs font-medium text-gray-500"
-						type="button"
-						on:click={() => {
-							pdfExtractImages = !pdfExtractImages;
-						}}>{pdfExtractImages ? $i18n.t('On') : $i18n.t('Off')}</button
-					>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="flex justify-end pt-3 text-sm font-medium">
-		<button
-			class=" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-lg"
-			type="submit"
-		>
-			{$i18n.t('Save')}
-		</button>
-	</div>
-</form>

+ 0 - 119
src/lib/components/documents/Settings/QueryParams.svelte

@@ -1,119 +0,0 @@
-<script lang="ts">
-	import { getDocs } from '$lib/apis/documents';
-	import {
-		getRAGConfig,
-		updateRAGConfig,
-		getQuerySettings,
-		scanDocs,
-		updateQuerySettings,
-		resetVectorDB,
-		getEmbeddingConfig,
-		updateEmbeddingConfig,
-		getRerankingConfig,
-		updateRerankingConfig
-	} from '$lib/apis/rag';
-
-	import { documents, models } from '$lib/stores';
-	import { onMount, getContext } from 'svelte';
-	import { toast } from 'svelte-sonner';
-
-	import Tooltip from '$lib/components/common/Tooltip.svelte';
-
-	const i18n = getContext('i18n');
-
-	export let saveHandler: Function;
-
-	let querySettings = {
-		template: '',
-		r: 0.0,
-		k: 4,
-		hybrid: false
-	};
-
-	const submitHandler = async () => {
-		querySettings = await updateQuerySettings(localStorage.token, querySettings);
-	};
-
-	onMount(async () => {
-		querySettings = await getQuerySettings(localStorage.token);
-	});
-</script>
-
-<form
-	class="flex flex-col h-full justify-between space-y-3 text-sm"
-	on:submit|preventDefault={() => {
-		submitHandler();
-		saveHandler();
-	}}
->
-	<div class=" space-y-3 pr-1.5 overflow-y-scroll max-h-[25rem]">
-		<div class=" ">
-			<div class=" text-sm font-medium">{$i18n.t('Query Params')}</div>
-
-			<div class=" flex">
-				<div class="  flex w-full justify-between">
-					<div class="self-center text-xs font-medium min-w-fit">{$i18n.t('Top K')}</div>
-
-					<div class="self-center p-3">
-						<input
-							class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-							type="number"
-							placeholder={$i18n.t('Enter Top K')}
-							bind:value={querySettings.k}
-							autocomplete="off"
-							min="0"
-						/>
-					</div>
-				</div>
-
-				{#if querySettings.hybrid === true}
-					<div class="flex w-full">
-						<div class=" self-center text-xs font-medium min-w-fit">
-							{$i18n.t('Minimum Score')}
-						</div>
-
-						<div class="self-center p-3">
-							<input
-								class=" w-full rounded-lg py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-								type="number"
-								step="0.01"
-								placeholder={$i18n.t('Enter Score')}
-								bind:value={querySettings.r}
-								autocomplete="off"
-								min="0.0"
-								title={$i18n.t('The score should be a value between 0.0 (0%) and 1.0 (100%).')}
-							/>
-						</div>
-					</div>
-				{/if}
-			</div>
-
-			{#if querySettings.hybrid === true}
-				<div class="mt-2 mb-1 text-xs text-gray-400 dark:text-gray-500">
-					{$i18n.t(
-						'Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.'
-					)}
-				</div>
-
-				<hr class=" dark:border-gray-850 my-3" />
-			{/if}
-
-			<div>
-				<div class=" mb-2.5 text-sm font-medium">{$i18n.t('RAG Template')}</div>
-				<textarea
-					bind:value={querySettings.template}
-					class="w-full rounded-lg px-4 py-3 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none resize-none"
-					rows="4"
-				/>
-			</div>
-		</div>
-	</div>
-	<div class="flex justify-end pt-3 text-sm font-medium">
-		<button
-			class=" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-lg"
-			type="submit"
-		>
-			{$i18n.t('Save')}
-		</button>
-	</div>
-</form>

+ 0 - 285
src/lib/components/documents/Settings/WebParams.svelte

@@ -1,285 +0,0 @@
-<script lang="ts">
-	import { getRAGConfig, updateRAGConfig } from '$lib/apis/rag';
-	import Switch from '$lib/components/common/Switch.svelte';
-
-	import { documents, models } from '$lib/stores';
-	import { onMount, getContext } from 'svelte';
-	import { toast } from 'svelte-sonner';
-
-	const i18n = getContext('i18n');
-
-	export let saveHandler: Function;
-
-	let webConfig = null;
-	let webSearchEngines = ['searxng', 'google_pse', 'brave', 'serpstack', 'serper', 'serply'];
-
-	let youtubeLanguage = 'en';
-	let youtubeTranslation = null;
-
-	const submitHandler = async () => {
-		const res = await updateRAGConfig(localStorage.token, {
-			web: webConfig,
-			youtube: {
-				language: youtubeLanguage.split(',').map((lang) => lang.trim()),
-				translation: youtubeTranslation
-			}
-		});
-	};
-
-	onMount(async () => {
-		const res = await getRAGConfig(localStorage.token);
-
-		if (res) {
-			webConfig = res.web;
-
-			youtubeLanguage = res.youtube.language.join(',');
-			youtubeTranslation = res.youtube.translation;
-		}
-	});
-</script>
-
-<form
-	class="flex flex-col h-full justify-between space-y-3 text-sm"
-	on:submit|preventDefault={async () => {
-		await submitHandler();
-		saveHandler();
-	}}
->
-	<div class=" space-y-3 pr-1.5 overflow-y-scroll h-full max-h-[22rem]">
-		{#if webConfig}
-			<div>
-				<div class=" mb-1 text-sm font-medium">
-					{$i18n.t('Web Search')}
-				</div>
-
-				<div>
-					<div class=" py-0.5 flex w-full justify-between">
-						<div class=" self-center text-xs font-medium">
-							{$i18n.t('Enable Web Search')}
-						</div>
-
-						<Switch bind:state={webConfig.search.enabled} />
-					</div>
-				</div>
-
-				<div class=" py-0.5 flex w-full justify-between">
-					<div class=" self-center text-xs font-medium">{$i18n.t('Web Search Engine')}</div>
-					<div class="flex items-center relative">
-						<select
-							class="dark:bg-gray-900 w-fit pr-8 rounded px-2 p-1 text-xs bg-transparent outline-none text-right"
-							bind:value={webConfig.search.engine}
-							placeholder={$i18n.t('Select a engine')}
-							required
-						>
-							<option disabled selected value="">{$i18n.t('Select a engine')}</option>
-							{#each webSearchEngines as engine}
-								<option value={engine}>{engine}</option>
-							{/each}
-						</select>
-					</div>
-				</div>
-
-				{#if webConfig.search.engine !== ''}
-					<div class="mt-1.5">
-						{#if webConfig.search.engine === 'searxng'}
-							<div>
-								<div class=" self-center text-xs font-medium mb-1">
-									{$i18n.t('Searxng Query URL')}
-								</div>
-
-								<div class="flex w-full">
-									<div class="flex-1">
-										<input
-											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-											type="text"
-											placeholder={$i18n.t('Enter Searxng Query URL')}
-											bind:value={webConfig.search.searxng_query_url}
-											autocomplete="off"
-										/>
-									</div>
-								</div>
-							</div>
-						{:else if webConfig.search.engine === 'google_pse'}
-							<div>
-								<div class=" self-center text-xs font-medium mb-1">
-									{$i18n.t('Google PSE API Key')}
-								</div>
-
-								<div class="flex w-full">
-									<div class="flex-1">
-										<input
-											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-											type="text"
-											placeholder={$i18n.t('Enter Google PSE API Key')}
-											bind:value={webConfig.search.google_pse_api_key}
-											autocomplete="off"
-										/>
-									</div>
-								</div>
-							</div>
-							<div class="mt-1.5">
-								<div class=" self-center text-xs font-medium mb-1">
-									{$i18n.t('Google PSE Engine Id')}
-								</div>
-
-								<div class="flex w-full">
-									<div class="flex-1">
-										<input
-											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-											type="text"
-											placeholder={$i18n.t('Enter Google PSE Engine Id')}
-											bind:value={webConfig.search.google_pse_engine_id}
-											autocomplete="off"
-										/>
-									</div>
-								</div>
-							</div>
-						{:else if webConfig.search.engine === 'brave'}
-							<div>
-								<div class=" self-center text-xs font-medium mb-1">
-									{$i18n.t('Brave Search API Key')}
-								</div>
-
-								<div class="flex w-full">
-									<div class="flex-1">
-										<input
-											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-											type="text"
-											placeholder={$i18n.t('Enter Brave Search API Key')}
-											bind:value={webConfig.search.brave_search_api_key}
-											autocomplete="off"
-										/>
-									</div>
-								</div>
-							</div>
-						{:else if webConfig.search.engine === 'serpstack'}
-							<div>
-								<div class=" self-center text-xs font-medium mb-1">
-									{$i18n.t('Serpstack API Key')}
-								</div>
-
-								<div class="flex w-full">
-									<div class="flex-1">
-										<input
-											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-											type="text"
-											placeholder={$i18n.t('Enter Serpstack API Key')}
-											bind:value={webConfig.search.serpstack_api_key}
-											autocomplete="off"
-										/>
-									</div>
-								</div>
-							</div>
-						{:else if webConfig.search.engine === 'serper'}
-							<div>
-								<div class=" self-center text-xs font-medium mb-1">
-									{$i18n.t('Serper API Key')}
-								</div>
-
-								<div class="flex w-full">
-									<div class="flex-1">
-										<input
-											class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-											type="text"
-											placeholder={$i18n.t('Enter Serper API Key')}
-											bind:value={webConfig.search.serper_api_key}
-											autocomplete="off"
-										/>
-									</div>
-								</div>
-							</div>
-						{/if}
-					</div>
-				{/if}
-
-				{#if webConfig.search.enabled}
-					<div class="mt-2 flex gap-2 mb-1">
-						<div class="w-full">
-							<div class=" self-center text-xs font-medium mb-1">
-								{$i18n.t('Search Result Count')}
-							</div>
-
-							<input
-								class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-								placeholder={$i18n.t('Search Result Count')}
-								bind:value={webConfig.search.result_count}
-								required
-							/>
-						</div>
-
-						<div class="w-full">
-							<div class=" self-center text-xs font-medium mb-1">
-								{$i18n.t('Concurrent Requests')}
-							</div>
-
-							<input
-								class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-								placeholder={$i18n.t('Concurrent Requests')}
-								bind:value={webConfig.search.concurrent_requests}
-								required
-							/>
-						</div>
-					</div>
-				{/if}
-			</div>
-
-			<hr class=" dark:border-gray-850 my-2" />
-
-			<div>
-				<div class=" mb-1 text-sm font-medium">
-					{$i18n.t('Web Loader Settings')}
-				</div>
-
-				<div>
-					<div class=" py-0.5 flex w-full justify-between">
-						<div class=" self-center text-xs font-medium">
-							{$i18n.t('Bypass SSL verification for Websites')}
-						</div>
-
-						<button
-							class="p-1 px-3 text-xs flex rounded transition"
-							on:click={() => {
-								webConfig.ssl_verification = !webConfig.ssl_verification;
-								submitHandler();
-							}}
-							type="button"
-						>
-							{#if webConfig.ssl_verification === true}
-								<span class="ml-2 self-center">{$i18n.t('On')}</span>
-							{:else}
-								<span class="ml-2 self-center">{$i18n.t('Off')}</span>
-							{/if}
-						</button>
-					</div>
-				</div>
-
-				<div class=" mt-2 mb-1 text-sm font-medium">
-					{$i18n.t('Youtube Loader Settings')}
-				</div>
-
-				<div>
-					<div class=" py-0.5 flex w-full justify-between">
-						<div class=" w-20 text-xs font-medium self-center">{$i18n.t('Language')}</div>
-						<div class=" flex-1 self-center">
-							<input
-								class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-								type="text"
-								placeholder={$i18n.t('Enter language codes')}
-								bind:value={youtubeLanguage}
-								autocomplete="off"
-							/>
-						</div>
-					</div>
-				</div>
-			</div>
-		{/if}
-	</div>
-	<div class="flex justify-end pt-3 text-sm font-medium">
-		<button
-			class=" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-lg"
-			type="submit"
-		>
-			{$i18n.t('Save')}
-		</button>
-	</div>
-</form>

+ 0 - 187
src/lib/components/documents/SettingsModal.svelte

@@ -1,187 +0,0 @@
-<script>
-	import { getContext, tick } from 'svelte';
-	import Modal from '../common/Modal.svelte';
-	import General from './Settings/General.svelte';
-	import ChunkParams from './Settings/ChunkParams.svelte';
-	import QueryParams from './Settings/QueryParams.svelte';
-	import WebParams from './Settings/WebParams.svelte';
-	import { toast } from 'svelte-sonner';
-	import { config } from '$lib/stores';
-	import { getBackendConfig } from '$lib/apis';
-
-	const i18n = getContext('i18n');
-
-	export let show = false;
-
-	let selectedTab = 'general';
-</script>
-
-<Modal bind:show>
-	<div>
-		<div class=" flex justify-between dark:text-gray-300 px-5 pt-4">
-			<div class=" text-lg font-medium self-center">{$i18n.t('Document Settings')}</div>
-			<button
-				class="self-center"
-				on:click={() => {
-					show = false;
-				}}
-			>
-				<svg
-					xmlns="http://www.w3.org/2000/svg"
-					viewBox="0 0 20 20"
-					fill="currentColor"
-					class="w-5 h-5"
-				>
-					<path
-						d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
-					/>
-				</svg>
-			</button>
-		</div>
-
-		<div class="flex flex-col md:flex-row w-full p-4 md:space-x-4">
-			<div
-				class="tabs flex flex-row overflow-x-auto space-x-1 md:space-x-0 md:space-y-1 md:flex-col flex-1 md:flex-none md:w-40 dark:text-gray-200 text-xs text-left mb-3 md:mb-0"
-			>
-				<button
-					class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
-					'general'
-						? 'bg-gray-200 dark:bg-gray-700'
-						: ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
-					on:click={() => {
-						selectedTab = 'general';
-					}}
-				>
-					<div class=" self-center mr-2">
-						<svg
-							xmlns="http://www.w3.org/2000/svg"
-							viewBox="0 0 16 16"
-							fill="currentColor"
-							class="w-4 h-4"
-						>
-							<path
-								fill-rule="evenodd"
-								d="M6.955 1.45A.5.5 0 0 1 7.452 1h1.096a.5.5 0 0 1 .497.45l.17 1.699c.484.12.94.312 1.356.562l1.321-1.081a.5.5 0 0 1 .67.033l.774.775a.5.5 0 0 1 .034.67l-1.08 1.32c.25.417.44.873.561 1.357l1.699.17a.5.5 0 0 1 .45.497v1.096a.5.5 0 0 1-.45.497l-1.699.17c-.12.484-.312.94-.562 1.356l1.082 1.322a.5.5 0 0 1-.034.67l-.774.774a.5.5 0 0 1-.67.033l-1.322-1.08c-.416.25-.872.44-1.356.561l-.17 1.699a.5.5 0 0 1-.497.45H7.452a.5.5 0 0 1-.497-.45l-.17-1.699a4.973 4.973 0 0 1-1.356-.562L4.108 13.37a.5.5 0 0 1-.67-.033l-.774-.775a.5.5 0 0 1-.034-.67l1.08-1.32a4.971 4.971 0 0 1-.561-1.357l-1.699-.17A.5.5 0 0 1 1 8.548V7.452a.5.5 0 0 1 .45-.497l1.699-.17c.12-.484.312-.94.562-1.356L2.629 4.107a.5.5 0 0 1 .034-.67l.774-.774a.5.5 0 0 1 .67-.033L5.43 3.71a4.97 4.97 0 0 1 1.356-.561l.17-1.699ZM6 8c0 .538.212 1.026.558 1.385l.057.057a2 2 0 0 0 2.828-2.828l-.058-.056A2 2 0 0 0 6 8Z"
-								clip-rule="evenodd"
-							/>
-						</svg>
-					</div>
-					<div class=" self-center">{$i18n.t('General')}</div>
-				</button>
-
-				<button
-					class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
-					'chunk'
-						? 'bg-gray-200 dark:bg-gray-700'
-						: ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
-					on:click={() => {
-						selectedTab = 'chunk';
-					}}
-				>
-					<div class=" self-center mr-2">
-						<svg
-							xmlns="http://www.w3.org/2000/svg"
-							viewBox="0 0 24 24"
-							fill="currentColor"
-							class="w-4 h-4"
-						>
-							<path
-								fill-rule="evenodd"
-								d="M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875ZM12.75 12a.75.75 0 0 0-1.5 0v2.25H9a.75.75 0 0 0 0 1.5h2.25V18a.75.75 0 0 0 1.5 0v-2.25H15a.75.75 0 0 0 0-1.5h-2.25V12Z"
-								clip-rule="evenodd"
-							/>
-							<path
-								d="M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"
-							/>
-						</svg>
-					</div>
-					<div class=" self-center">{$i18n.t('Chunk Params')}</div>
-				</button>
-
-				<button
-					class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
-					'query'
-						? 'bg-gray-200 dark:bg-gray-700'
-						: ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
-					on:click={() => {
-						selectedTab = 'query';
-					}}
-				>
-					<div class=" self-center mr-2">
-						<svg
-							xmlns="http://www.w3.org/2000/svg"
-							viewBox="0 0 24 24"
-							fill="currentColor"
-							class="w-4 h-4"
-						>
-							<path d="M11.625 16.5a1.875 1.875 0 1 0 0-3.75 1.875 1.875 0 0 0 0 3.75Z" />
-							<path
-								fill-rule="evenodd"
-								d="M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875Zm6 16.5c.66 0 1.277-.19 1.797-.518l1.048 1.048a.75.75 0 0 0 1.06-1.06l-1.047-1.048A3.375 3.375 0 1 0 11.625 18Z"
-								clip-rule="evenodd"
-							/>
-							<path
-								d="M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"
-							/>
-						</svg>
-					</div>
-					<div class=" self-center">{$i18n.t('Query Params')}</div>
-				</button>
-
-				<button
-					class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab ===
-					'web'
-						? 'bg-gray-200 dark:bg-gray-700'
-						: ' hover:bg-gray-300 dark:hover:bg-gray-800'}"
-					on:click={() => {
-						selectedTab = 'web';
-					}}
-				>
-					<div class=" self-center mr-2">
-						<svg
-							xmlns="http://www.w3.org/2000/svg"
-							viewBox="0 0 24 24"
-							fill="currentColor"
-							class="w-4 h-4"
-						>
-							<path
-								d="M21.721 12.752a9.711 9.711 0 0 0-.945-5.003 12.754 12.754 0 0 1-4.339 2.708 18.991 18.991 0 0 1-.214 4.772 17.165 17.165 0 0 0 5.498-2.477ZM14.634 15.55a17.324 17.324 0 0 0 .332-4.647c-.952.227-1.945.347-2.966.347-1.021 0-2.014-.12-2.966-.347a17.515 17.515 0 0 0 .332 4.647 17.385 17.385 0 0 0 5.268 0ZM9.772 17.119a18.963 18.963 0 0 0 4.456 0A17.182 17.182 0 0 1 12 21.724a17.18 17.18 0 0 1-2.228-4.605ZM7.777 15.23a18.87 18.87 0 0 1-.214-4.774 12.753 12.753 0 0 1-4.34-2.708 9.711 9.711 0 0 0-.944 5.004 17.165 17.165 0 0 0 5.498 2.477ZM21.356 14.752a9.765 9.765 0 0 1-7.478 6.817 18.64 18.64 0 0 0 1.988-4.718 18.627 18.627 0 0 0 5.49-2.098ZM2.644 14.752c1.682.971 3.53 1.688 5.49 2.099a18.64 18.64 0 0 0 1.988 4.718 9.765 9.765 0 0 1-7.478-6.816ZM13.878 2.43a9.755 9.755 0 0 1 6.116 3.986 11.267 11.267 0 0 1-3.746 2.504 18.63 18.63 0 0 0-2.37-6.49ZM12 2.276a17.152 17.152 0 0 1 2.805 7.121c-.897.23-1.837.353-2.805.353-.968 0-1.908-.122-2.805-.353A17.151 17.151 0 0 1 12 2.276ZM10.122 2.43a18.629 18.629 0 0 0-2.37 6.49 11.266 11.266 0 0 1-3.746-2.504 9.754 9.754 0 0 1 6.116-3.985Z"
-							/>
-						</svg>
-					</div>
-					<div class=" self-center">{$i18n.t('Web Params')}</div>
-				</button>
-			</div>
-			<div class="flex-1 md:min-h-[380px]">
-				{#if selectedTab === 'general'}
-					<General
-						saveHandler={() => {
-							toast.success($i18n.t('Settings saved successfully!'));
-						}}
-					/>
-				{:else if selectedTab === 'chunk'}
-					<ChunkParams
-						saveHandler={() => {
-							toast.success($i18n.t('Settings saved successfully!'));
-						}}
-					/>
-				{:else if selectedTab === 'query'}
-					<QueryParams
-						saveHandler={() => {
-							toast.success($i18n.t('Settings saved successfully!'));
-						}}
-					/>
-				{:else if selectedTab === 'web'}
-					<WebParams
-						saveHandler={async () => {
-							toast.success($i18n.t('Settings saved successfully!'));
-
-							await tick();
-							await config.set(await getBackendConfig());
-						}}
-					/>
-				{/if}
-			</div>
-		</div>
-	</div>
-</Modal>

+ 19 - 0
src/lib/components/icons/ChatBubbleOval.svelte

@@ -0,0 +1,19 @@
+<script lang="ts">
+	export let className = 'size-4';
+	export let strokeWidth = '1.5';
+</script>
+
+<svg
+	xmlns="http://www.w3.org/2000/svg"
+	fill="none"
+	viewBox="0 0 24 24"
+	stroke-width={strokeWidth}
+	stroke="currentColor"
+	class={className}
+>
+	<path
+		stroke-linecap="round"
+		stroke-linejoin="round"
+		d="M12 20.25c4.97 0 9-3.694 9-8.25s-4.03-8.25-9-8.25S3 7.444 3 12c0 2.104.859 4.023 2.273 5.48.432.447.74 1.04.586 1.641a4.483 4.483 0 0 1-.923 1.785A5.969 5.969 0 0 0 6 21c1.282 0 2.47-.402 3.445-1.087.81.22 1.668.337 2.555.337Z"
+	/>
+</svg>

+ 19 - 0
src/lib/components/icons/EyeSlash.svelte

@@ -0,0 +1,19 @@
+<script lang="ts">
+	export let className = 'w-4 h-4';
+	export let strokeWidth = '1.5';
+</script>
+
+<svg
+	xmlns="http://www.w3.org/2000/svg"
+	fill="none"
+	viewBox="0 0 24 24"
+	stroke-width={strokeWidth}
+	stroke="currentColor"
+	class={className}
+>
+	<path
+		stroke-linecap="round"
+		stroke-linejoin="round"
+		d="M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88"
+	/>
+</svg>

+ 6 - 42
src/lib/components/layout/Sidebar.svelte

@@ -13,7 +13,8 @@
 		showArchivedChats,
 		pinnedChats,
 		scrollPaginationEnabled,
-		currentChatPage
+		currentChatPage,
+		temporaryChatEnabled
 	} from '$lib/stores';
 	import { onMount, getContext, tick } from 'svelte';
 
@@ -380,47 +381,10 @@
 		{/if}
 
 		<div class="relative flex flex-col flex-1 overflow-y-auto">
-			{#if !($settings.saveChatHistory ?? true)}
-				<div class="absolute z-40 w-full h-full bg-gray-50/90 dark:bg-black/90 flex justify-center">
-					<div class=" text-left px-5 py-2">
-						<div class=" font-medium">{$i18n.t('Chat History is off for this browser.')}</div>
-						<div class="text-xs mt-2">
-							{$i18n.t(
-								"When history is turned off, new chats on this browser won't appear in your history on any of your devices."
-							)}
-							<span class=" font-semibold"
-								>{$i18n.t('This setting does not sync across browsers or devices.')}</span
-							>
-						</div>
-
-						<div class="mt-3">
-							<button
-								class="flex justify-center items-center space-x-1.5 px-3 py-2.5 rounded-lg text-xs bg-gray-100 hover:bg-gray-200 transition text-gray-800 font-medium w-full"
-								type="button"
-								on:click={() => {
-									saveSettings({
-										saveChatHistory: true
-									});
-								}}
-							>
-								<svg
-									xmlns="http://www.w3.org/2000/svg"
-									viewBox="0 0 16 16"
-									fill="currentColor"
-									class="w-3 h-3"
-								>
-									<path
-										fill-rule="evenodd"
-										d="M8 1a.75.75 0 0 1 .75.75v6.5a.75.75 0 0 1-1.5 0v-6.5A.75.75 0 0 1 8 1ZM4.11 3.05a.75.75 0 0 1 0 1.06 5.5 5.5 0 1 0 7.78 0 .75.75 0 0 1 1.06-1.06 7 7 0 1 1-9.9 0 .75.75 0 0 1 1.06 0Z"
-										clip-rule="evenodd"
-									/>
-								</svg>
-
-								<div>{$i18n.t('Enable Chat History')}</div>
-							</button>
-						</div>
-					</div>
-				</div>
+			{#if $temporaryChatEnabled}
+				<div
+					class="absolute z-40 w-full h-full bg-gray-50/90 dark:bg-black/90 flex justify-center"
+				></div>
 			{/if}
 
 			<div class="px-2 mt-0.5 mb-2 flex justify-center space-x-2">

+ 109 - 64
src/lib/components/workspace/Functions.svelte

@@ -29,9 +29,12 @@
 	import ManifestModal from './common/ManifestModal.svelte';
 	import Heart from '../icons/Heart.svelte';
 	import DeleteConfirmDialog from '$lib/components/common/ConfirmDialog.svelte';
+	import GarbageBin from '../icons/GarbageBin.svelte';
 
 	const i18n = getContext('i18n');
 
+	let shiftKey = false;
+
 	let functionsImportInputElement: HTMLInputElement;
 	let importFiles;
 
@@ -135,6 +138,34 @@
 			models.set(await getModels(localStorage.token));
 		}
 	};
+
+	onMount(() => {
+		const onKeyDown = (event) => {
+			if (event.key === 'Shift') {
+				shiftKey = true;
+			}
+		};
+
+		const onKeyUp = (event) => {
+			if (event.key === 'Shift') {
+				shiftKey = false;
+			}
+		};
+
+		const onBlur = () => {
+			shiftKey = false;
+		};
+
+		window.addEventListener('keydown', onKeyDown);
+		window.addEventListener('keyup', onKeyUp);
+		window.addEventListener('blur', onBlur);
+
+		return () => {
+			window.removeEventListener('keydown', onKeyDown);
+			window.removeEventListener('keyup', onKeyUp);
+			window.removeEventListener('blur', onBlur);
+		};
+	});
 </script>
 
 <svelte:head>
@@ -234,84 +265,98 @@
 				</div>
 			</a>
 			<div class="flex flex-row gap-0.5 self-center">
-				{#if func?.meta?.manifest?.funding_url ?? false}
-					<Tooltip content={$i18n.t('Support')}>
+				{#if shiftKey}
+					<Tooltip content={$i18n.t('Delete')}>
+						<button
+							class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
+							type="button"
+							on:click={() => {
+								deleteHandler(func);
+							}}
+						>
+							<GarbageBin />
+						</button>
+					</Tooltip>
+				{:else}
+					{#if func?.meta?.manifest?.funding_url ?? false}
+						<Tooltip content={$i18n.t('Support')}>
+							<button
+								class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
+								type="button"
+								on:click={() => {
+									selectedFunction = func;
+									showManifestModal = true;
+								}}
+							>
+								<Heart />
+							</button>
+						</Tooltip>
+					{/if}
+
+					<Tooltip content={$i18n.t('Valves')}>
 						<button
 							class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
 							type="button"
 							on:click={() => {
 								selectedFunction = func;
-								showManifestModal = true;
+								showValvesModal = true;
 							}}
 						>
-							<Heart />
+							<svg
+								xmlns="http://www.w3.org/2000/svg"
+								fill="none"
+								viewBox="0 0 24 24"
+								stroke-width="1.5"
+								stroke="currentColor"
+								class="size-4"
+							>
+								<path
+									stroke-linecap="round"
+									stroke-linejoin="round"
+									d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"
+								/>
+								<path
+									stroke-linecap="round"
+									stroke-linejoin="round"
+									d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"
+								/>
+							</svg>
 						</button>
 					</Tooltip>
-				{/if}
 
-				<Tooltip content={$i18n.t('Valves')}>
-					<button
-						class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
-						type="button"
-						on:click={() => {
+					<FunctionMenu
+						{func}
+						editHandler={() => {
+							goto(`/workspace/functions/edit?id=${encodeURIComponent(func.id)}`);
+						}}
+						shareHandler={() => {
+							shareHandler(func);
+						}}
+						cloneHandler={() => {
+							cloneHandler(func);
+						}}
+						exportHandler={() => {
+							exportHandler(func);
+						}}
+						deleteHandler={async () => {
 							selectedFunction = func;
-							showValvesModal = true;
+							showDeleteConfirm = true;
+						}}
+						toggleGlobalHandler={() => {
+							if (['filter', 'action'].includes(func.type)) {
+								toggleGlobalHandler(func);
+							}
 						}}
+						onClose={() => {}}
 					>
-						<svg
-							xmlns="http://www.w3.org/2000/svg"
-							fill="none"
-							viewBox="0 0 24 24"
-							stroke-width="1.5"
-							stroke="currentColor"
-							class="size-4"
+						<button
+							class="self-center w-fit text-sm p-1.5 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
+							type="button"
 						>
-							<path
-								stroke-linecap="round"
-								stroke-linejoin="round"
-								d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"
-							/>
-							<path
-								stroke-linecap="round"
-								stroke-linejoin="round"
-								d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"
-							/>
-						</svg>
-					</button>
-				</Tooltip>
-
-				<FunctionMenu
-					{func}
-					editHandler={() => {
-						goto(`/workspace/functions/edit?id=${encodeURIComponent(func.id)}`);
-					}}
-					shareHandler={() => {
-						shareHandler(func);
-					}}
-					cloneHandler={() => {
-						cloneHandler(func);
-					}}
-					exportHandler={() => {
-						exportHandler(func);
-					}}
-					deleteHandler={async () => {
-						selectedFunction = func;
-						showDeleteConfirm = true;
-					}}
-					toggleGlobalHandler={() => {
-						if (['filter', 'action'].includes(func.type)) {
-							toggleGlobalHandler(func);
-						}
-					}}
-					onClose={() => {}}
-				>
-					<button
-						class="self-center w-fit text-sm p-1.5 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
-						type="button"
-					>
-						<EllipsisHorizontal className="size-5" />
-					</button>
-				</FunctionMenu>
+							<EllipsisHorizontal className="size-5" />
+						</button>
+					</FunctionMenu>
+				{/if}
 
 				<div class=" self-center mx-1">
 					<Tooltip content={func.is_active ? $i18n.t('Enabled') : $i18n.t('Disabled')}>

+ 103 - 58
src/lib/components/workspace/Tools.svelte

@@ -24,9 +24,12 @@
 	import ManifestModal from './common/ManifestModal.svelte';
 	import Heart from '../icons/Heart.svelte';
 	import DeleteConfirmDialog from '$lib/components/common/ConfirmDialog.svelte';
+	import GarbageBin from '../icons/GarbageBin.svelte';
 
 	const i18n = getContext('i18n');
 
+	let shiftKey = false;
+
 	let toolsImportInputElement: HTMLInputElement;
 	let importFiles;
 
@@ -107,6 +110,34 @@
 			tools.set(await getTools(localStorage.token));
 		}
 	};
+
+	onMount(() => {
+		const onKeyDown = (event) => {
+			if (event.key === 'Shift') {
+				shiftKey = true;
+			}
+		};
+
+		const onKeyUp = (event) => {
+			if (event.key === 'Shift') {
+				shiftKey = false;
+			}
+		};
+
+		const onBlur = () => {
+			shiftKey = false;
+		};
+
+		window.addEventListener('keydown', onKeyDown);
+		window.addEventListener('keyup', onKeyUp);
+		window.addEventListener('blur', onBlur);
+
+		return () => {
+			window.removeEventListener('keydown', onKeyDown);
+			window.removeEventListener('keyup', onKeyUp);
+			window.removeEventListener('blur', onBlur);
+		};
+	});
 </script>
 
 <svelte:head>
@@ -206,78 +237,92 @@
 				</div>
 			</a>
 			<div class="flex flex-row gap-0.5 self-center">
-				{#if tool?.meta?.manifest?.funding_url ?? false}
-					<Tooltip content="Support">
+				{#if shiftKey}
+					<Tooltip content={$i18n.t('Delete')}>
+						<button
+							class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
+							type="button"
+							on:click={() => {
+								deleteHandler(tool);
+							}}
+						>
+							<GarbageBin />
+						</button>
+					</Tooltip>
+				{:else}
+					{#if tool?.meta?.manifest?.funding_url ?? false}
+						<Tooltip content="Support">
+							<button
+								class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
+								type="button"
+								on:click={() => {
+									selectedTool = tool;
+									showManifestModal = true;
+								}}
+							>
+								<Heart />
+							</button>
+						</Tooltip>
+					{/if}
+
+					<Tooltip content={$i18n.t('Valves')}>
 						<button
 							class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
 							type="button"
 							on:click={() => {
 								selectedTool = tool;
-								showManifestModal = true;
+								showValvesModal = true;
 							}}
 						>
-							<Heart />
+							<svg
+								xmlns="http://www.w3.org/2000/svg"
+								fill="none"
+								viewBox="0 0 24 24"
+								stroke-width="1.5"
+								stroke="currentColor"
+								class="size-4"
+							>
+								<path
+									stroke-linecap="round"
+									stroke-linejoin="round"
+									d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"
+								/>
+								<path
+									stroke-linecap="round"
+									stroke-linejoin="round"
+									d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"
+								/>
+							</svg>
 						</button>
 					</Tooltip>
-				{/if}
 
-				<Tooltip content={$i18n.t('Valves')}>
-					<button
-						class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
-						type="button"
-						on:click={() => {
+					<ToolMenu
+						editHandler={() => {
+							goto(`/workspace/tools/edit?id=${encodeURIComponent(tool.id)}`);
+						}}
+						shareHandler={() => {
+							shareHandler(tool);
+						}}
+						cloneHandler={() => {
+							cloneHandler(tool);
+						}}
+						exportHandler={() => {
+							exportHandler(tool);
+						}}
+						deleteHandler={async () => {
 							selectedTool = tool;
-							showValvesModal = true;
+							showDeleteConfirm = true;
 						}}
+						onClose={() => {}}
 					>
-						<svg
-							xmlns="http://www.w3.org/2000/svg"
-							fill="none"
-							viewBox="0 0 24 24"
-							stroke-width="1.5"
-							stroke="currentColor"
-							class="size-4"
+						<button
+							class="self-center w-fit text-sm p-1.5 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
+							type="button"
 						>
-							<path
-								stroke-linecap="round"
-								stroke-linejoin="round"
-								d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"
-							/>
-							<path
-								stroke-linecap="round"
-								stroke-linejoin="round"
-								d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"
-							/>
-						</svg>
-					</button>
-				</Tooltip>
-
-				<ToolMenu
-					editHandler={() => {
-						goto(`/workspace/tools/edit?id=${encodeURIComponent(tool.id)}`);
-					}}
-					shareHandler={() => {
-						shareHandler(tool);
-					}}
-					cloneHandler={() => {
-						cloneHandler(tool);
-					}}
-					exportHandler={() => {
-						exportHandler(tool);
-					}}
-					deleteHandler={async () => {
-						selectedTool = tool;
-						showDeleteConfirm = true;
-					}}
-					onClose={() => {}}
-				>
-					<button
-						class="self-center w-fit text-sm p-1.5 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
-						type="button"
-					>
-						<EllipsisHorizontal className="size-5" />
-					</button>
-				</ToolMenu>
+							<EllipsisHorizontal className="size-5" />
+						</button>
+					</ToolMenu>
+				{/if}
 			</div>
 		</div>
 	{/each}

+ 1 - 7
src/lib/i18n/locales/ar-BH/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "UI الدردشة",
 	"Chat Controls": "",
 	"Chat direction": "اتجاه المحادثة",
-	"Chat History": "تاريخ المحادثة",
-	"Chat History is off for this browser.": "سجل الدردشة معطل لهذا المتصفح",
 	"Chats": "المحادثات",
 	"Check Again": "تحقق مرة اخرى",
 	"Check for updates": "تحقق من التحديثات",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "المستند",
-	"Document Settings": "أعدادات المستند",
 	"Documentation": "",
 	"Documents": "مستندات",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "لا يجري أي اتصالات خارجية، وتظل بياناتك آمنة على الخادم المستضاف محليًا.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "نموذج التضمين",
 	"Embedding Model Engine": "تضمين محرك النموذج",
 	"Embedding model set to \"{{embedding_model}}\"": "تم تعيين نموذج التضمين على \"{{embedding_model}}\"",
-	"Enable Chat History": "تمكين سجل الدردشة",
 	"Enable Community Sharing": "تمكين مشاركة المجتمع",
 	"Enable New Sign Ups": "تفعيل عمليات التسجيل الجديدة",
 	"Enable Web Search": "تمكين بحث الويب",
@@ -604,6 +600,7 @@
 	"Tell us more:": "أخبرنا المزيد:",
 	"Temperature": "درجة حرارة",
 	"Template": "نموذج",
+	"Temporary Chat": "",
 	"Text Completion": "اكتمال النص",
 	"Text-to-Speech Engine": "محرك تحويل النص إلى كلام",
 	"Tfs Z": "Tfs Z",
@@ -615,7 +612,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "وهذا يضمن حفظ محادثاتك القيمة بشكل آمن في قاعدة بياناتك الخلفية. شكرًا لك!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "لا تتم مزامنة هذا الإعداد عبر المتصفحات أو الأجهزة.",
 	"This will delete": "",
 	"Thorough explanation": "شرح شامل",
 	"Tika": "",
@@ -696,14 +692,12 @@
 	"Web": "Web",
 	"Web API": "",
 	"Web Loader Settings": "Web تحميل اعدادات",
-	"Web Params": "Web تحميل اعدادات",
 	"Web Search": "بحث الويب",
 	"Web Search Engine": "محرك بحث الويب",
 	"Webhook URL": "Webhook الرابط",
 	"WebUI Settings": "WebUI اعدادات",
 	"WebUI will make requests to": "سوف يقوم WebUI بتقديم طلبات ل",
 	"What’s New in": "ما هو الجديد",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "عند إيقاف تشغيل السجل، لن تظهر الدردشات الجديدة على هذا المتصفح في سجلك على أي من أجهزتك.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "مساحة العمل",

+ 1 - 7
src/lib/i18n/locales/bg-BG/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "UI за чат бублон",
 	"Chat Controls": "",
 	"Chat direction": "Направление на чата",
-	"Chat History": "Чат История",
-	"Chat History is off for this browser.": "Чат История е изключен за този браузър.",
 	"Chats": "Чатове",
 	"Check Again": "Проверете Още Веднъж",
 	"Check for updates": "Проверка за актуализации",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Документ",
-	"Document Settings": "Документ Настройки",
 	"Documentation": "",
 	"Documents": "Документи",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "няма външни връзки, и вашите данни остават сигурни на локално назначен сървър.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Модел за вграждане",
 	"Embedding Model Engine": "Модел за вграждане",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел за вграждане е настроен на \"{{embedding_model}}\"",
-	"Enable Chat History": "Вклюване на Чат История",
 	"Enable Community Sharing": "Разрешаване на споделяне в общност",
 	"Enable New Sign Ups": "Вклюване на Нови Потребители",
 	"Enable Web Search": "Разрешаване на търсене в уеб",
@@ -600,6 +596,7 @@
 	"Tell us more:": "Повече информация:",
 	"Temperature": "Температура",
 	"Template": "Шаблон",
+	"Temporary Chat": "",
 	"Text Completion": "Text Completion",
 	"Text-to-Speech Engine": "Text-to-Speech Engine",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Това гарантира, че ценните ви разговори се запазват сигурно във вашата бекенд база данни. Благодарим ви!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "Тази настройка не се синхронизира между браузъри или устройства.",
 	"This will delete": "",
 	"Thorough explanation": "Това е подробно описание.",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "Уеб",
 	"Web API": "",
 	"Web Loader Settings": "Настройки за зареждане на уеб",
-	"Web Params": "Параметри за уеб",
 	"Web Search": "Търсене в уеб",
 	"Web Search Engine": "Уеб търсачка",
 	"Webhook URL": "Уебхук URL",
 	"WebUI Settings": "WebUI Настройки",
 	"WebUI will make requests to": "WebUI ще направи заявки към",
 	"What’s New in": "Какво е новото в",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Когато историята е изключена, нови чатове в този браузър ще не се показват в историята на никои от вашия профил.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "Работно пространство",

+ 1 - 7
src/lib/i18n/locales/bn-BD/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "চ্যাট বাবল UI",
 	"Chat Controls": "",
 	"Chat direction": "চ্যাট দিকনির্দেশ",
-	"Chat History": "চ্যাট হিস্টোরি",
-	"Chat History is off for this browser.": "এই ব্রাউজারের জন্য চ্যাট হিস্টোরি বন্ধ আছে",
 	"Chats": "চ্যাটসমূহ",
 	"Check Again": "আবার চেক করুন",
 	"Check for updates": "নতুন আপডেট আছে কিনা চেক করুন",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "ডকুমেন্ট",
-	"Document Settings": "ডকুমেন্ট সেটিংসমূহ",
 	"Documentation": "",
 	"Documents": "ডকুমেন্টসমূহ",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "কোন এক্সটার্নাল কানেকশন তৈরি করে না, এবং আপনার ডেটা আর লোকালি হোস্টেড সার্ভারেই নিরাপদে থাকে।",
@@ -222,7 +219,6 @@
 	"Embedding Model": "ইমেজ ইমেবডিং মডেল",
 	"Embedding Model Engine": "ইমেজ ইমেবডিং মডেল ইঞ্জিন",
 	"Embedding model set to \"{{embedding_model}}\"": "ইমেজ ইমেবডিং মডেল সেট করা হয়েছে - \"{{embedding_model}}\"",
-	"Enable Chat History": "চ্যাট হিস্টোরি চালু করুন",
 	"Enable Community Sharing": "সম্প্রদায় শেয়ারকরণ সক্ষম করুন",
 	"Enable New Sign Ups": "নতুন সাইনআপ চালু করুন",
 	"Enable Web Search": "ওয়েব অনুসন্ধান সক্ষম করুন",
@@ -600,6 +596,7 @@
 	"Tell us more:": "আরও বলুন:",
 	"Temperature": "তাপমাত্রা",
 	"Template": "টেম্পলেট",
+	"Temporary Chat": "",
 	"Text Completion": "লেখা সম্পন্নকরণ",
 	"Text-to-Speech Engine": "টেক্সট-টু-স্পিচ ইঞ্জিন",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "এটা নিশ্চিত করে যে, আপনার গুরুত্বপূর্ণ আলোচনা নিরাপদে আপনার ব্যাকএন্ড ডেটাবেজে সংরক্ষিত আছে। ধন্যবাদ!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "এই সেটিং অন্যন্য ব্রাউজার বা ডিভাইসের সাথে সিঙ্ক্রোনাইজ নয় না।",
 	"This will delete": "",
 	"Thorough explanation": "পুঙ্খানুপুঙ্খ ব্যাখ্যা",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "ওয়েব",
 	"Web API": "",
 	"Web Loader Settings": "ওয়েব লোডার সেটিংস",
-	"Web Params": "ওয়েব প্যারামিটারসমূহ",
 	"Web Search": "ওয়েব অনুসন্ধান",
 	"Web Search Engine": "ওয়েব সার্চ ইঞ্জিন",
 	"Webhook URL": "ওয়েবহুক URL",
 	"WebUI Settings": "WebUI সেটিংসমূহ",
 	"WebUI will make requests to": "WebUI যেখানে রিকোয়েস্ট পাঠাবে",
 	"What’s New in": "এতে নতুন কী",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "যদি হিস্টোরি বন্ধ থাকে তাহলে এই ব্রাউজারের নতুন চ্যাটগুলো আপনার কোন ডিভাইসের হিস্টোরিতেই দেখা যাবে না।",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "ওয়ার্কস্পেস",

+ 1 - 7
src/lib/i18n/locales/ca-ES/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Chat Bubble UI",
 	"Chat Controls": "Controls de xat",
 	"Chat direction": "Direcció del xat",
-	"Chat History": "Històric del xat",
-	"Chat History is off for this browser.": "L'historic del xat està desactivat per a aquest navegador.",
 	"Chats": "Xats",
 	"Check Again": "Comprovar-ho de nou",
 	"Check for updates": "Comprovar si hi ha actualitzacions",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "No instal·lis funcions de fonts en què no confiïs plenament.",
 	"Do not install tools from sources you do not fully trust.": "No instal·lis eines de fonts en què no confiïs plenament.",
 	"Document": "Document",
-	"Document Settings": "Preferències de documents",
 	"Documentation": "Documentació",
 	"Documents": "Documents",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "no realitza connexions externes, i les teves dades romanen segures al teu servidor allotjat localment.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Model d'incrustació",
 	"Embedding Model Engine": "Motor de model d'incrustació",
 	"Embedding model set to \"{{embedding_model}}\"": "Model d'incrustació configurat a \"{{embedding_model}}\"",
-	"Enable Chat History": "Activar l'historial de xats",
 	"Enable Community Sharing": "Activar l'ús compartit amb la comunitat",
 	"Enable New Sign Ups": "Permetre nous registres",
 	"Enable Web Search": "Activar la cerca web",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Dona'ns més informació:",
 	"Temperature": "Temperatura",
 	"Template": "Plantilla",
+	"Temporary Chat": "",
 	"Text Completion": "Completament de text",
 	"Text-to-Speech Engine": "Motor de text a veu",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Aquesta acció no es pot desfer. Vols continuar?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Això assegura que les teves converses valuoses queden desades de manera segura a la teva base de dades. Gràcies!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Aquesta és una funció experimental, és possible que no funcioni com s'espera i està subjecta a canvis en qualsevol moment.",
-	"This setting does not sync across browsers or devices.": "Aquesta preferència no es sincronitza entre navegadors ni dispositius.",
 	"This will delete": "Això eliminarà",
 	"Thorough explanation": "Explicació en detall",
 	"Tika": "Tika",
@@ -693,14 +689,12 @@
 	"Web": "Web",
 	"Web API": "Web API",
 	"Web Loader Settings": "Preferències del carregador web",
-	"Web Params": "Paràmetres web",
 	"Web Search": "Cerca la web",
 	"Web Search Engine": "Motor de cerca de la web",
 	"Webhook URL": "URL del webhook",
 	"WebUI Settings": "Preferències de WebUI",
 	"WebUI will make requests to": "WebUI farà peticions a",
 	"What’s New in": "Què hi ha de nou a",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Quan l'historial està desactivat, els nous xats en aquest navegador no apareixeran en el teu historial en cap dels teus dispositius.",
 	"Whisper (Local)": "Whisper (local)",
 	"Widescreen Mode": "Mode de pantalla ampla",
 	"Workspace": "Espai de treball",

+ 1 - 7
src/lib/i18n/locales/ceb-PH/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "",
 	"Chat Controls": "",
 	"Chat direction": "",
-	"Chat History": "Kasaysayan sa chat",
-	"Chat History is off for this browser.": "Ang kasaysayan sa chat gi-disable alang niini nga browser.",
 	"Chats": "Mga panaghisgot",
 	"Check Again": "Susiha pag-usab",
 	"Check for updates": "Susiha ang mga update",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Dokumento",
-	"Document Settings": "Mga Setting sa Dokumento",
 	"Documentation": "",
 	"Documents": "Mga dokumento",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "wala maghimo ug eksternal nga koneksyon, ug ang imong data nagpabiling luwas sa imong lokal nga host server.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable Chat History": "I-enable ang kasaysayan sa chat",
 	"Enable Community Sharing": "",
 	"Enable New Sign Ups": "I-enable ang bag-ong mga rehistro",
 	"Enable Web Search": "",
@@ -600,6 +596,7 @@
 	"Tell us more:": "",
 	"Temperature": "Temperatura",
 	"Template": "Modelo",
+	"Temporary Chat": "",
 	"Text Completion": "Pagkompleto sa teksto",
 	"Text-to-Speech Engine": "Text-to-speech nga makina",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Kini nagsiguro nga ang imong bililhon nga mga panag-istoryahanay luwas nga natipig sa imong backend database. ",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "Kini nga setting wala mag-sync tali sa mga browser o device.",
 	"This will delete": "",
 	"Thorough explanation": "",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "Web",
 	"Web API": "",
 	"Web Loader Settings": "",
-	"Web Params": "",
 	"Web Search": "",
 	"Web Search Engine": "",
 	"Webhook URL": "",
 	"WebUI Settings": "Mga Setting sa WebUI",
 	"WebUI will make requests to": "Ang WebUI maghimo mga hangyo sa",
 	"What’s New in": "Unsay bag-o sa",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kung ang kasaysayan gipalong, ang mga bag-ong chat sa kini nga browser dili makita sa imong kasaysayan sa bisan unsang mga aparato.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "",

+ 1 - 7
src/lib/i18n/locales/de-DE/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Chat Bubble UI",
 	"Chat Controls": "",
 	"Chat direction": "Textrichtung",
-	"Chat History": "Unterhaltungsverlauf",
-	"Chat History is off for this browser.": "Unterhaltungsverlauf ist in diesem Browser deaktiviert.",
 	"Chats": "Unterhaltungen",
 	"Check Again": "Erneut überprüfen",
 	"Check for updates": "Nach Updates suchen",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Dokument",
-	"Document Settings": "Dokumenteinstellungen",
 	"Documentation": "Dokumentation",
 	"Documents": "Dokumente",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "stellt keine externen Verbindungen her, und Ihre Daten bleiben sicher auf Ihrem lokal gehosteten Server.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Embedding-Modell",
 	"Embedding Model Engine": "Embedding-Modell-Engine",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding-Modell auf \"{{embedding_model}}\" gesetzt",
-	"Enable Chat History": "Unterhaltungshistorie aktivieren",
 	"Enable Community Sharing": "Community-Freigabe aktivieren",
 	"Enable New Sign Ups": "Registrierung erlauben",
 	"Enable Web Search": "Websuche aktivieren",
@@ -600,6 +596,7 @@
 	"Tell us more:": "Erzähl uns mehr",
 	"Temperature": "Temperatur",
 	"Template": "Vorlage",
+	"Temporary Chat": "",
 	"Text Completion": "Textvervollständigung",
 	"Text-to-Speech Engine": "Text-zu-Sprache-Engine",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Diese Aktion kann nicht rückgängig gemacht werden. Möchten Sie fortfahren?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dies stellt sicher, dass Ihre wertvollen Unterhaltungen sicher in Ihrer Backend-Datenbank gespeichert werden. Vielen Dank!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Dies ist eine experimentelle Funktion, sie funktioniert möglicherweise nicht wie erwartet und kann jederzeit geändert werden.",
-	"This setting does not sync across browsers or devices.": "Diese Einstellung wird nicht zwischen Browsern oder Geräten synchronisiert.",
 	"This will delete": "Dies löscht",
 	"Thorough explanation": "Ausführliche Erklärung",
 	"Tika": "Tika",
@@ -692,14 +688,12 @@
 	"Web": "Web",
 	"Web API": "Web-API",
 	"Web Loader Settings": "Web Loader Einstellungen",
-	"Web Params": "Web Parameter",
 	"Web Search": "Websuche",
 	"Web Search Engine": "Suchmaschine",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "WebUI-Einstellungen",
 	"WebUI will make requests to": "WebUI sendet Anfragen an:",
 	"What’s New in": "Neuigkeiten von",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Wenn der Verlauf deaktiviert ist, werden neue Unterhaltungen in diesem Browser nicht im Verlauf Ihrer anderen Geräte erscheinen.",
 	"Whisper (Local)": "Whisper (lokal)",
 	"Widescreen Mode": "Breitbildmodus",
 	"Workspace": "Arbeitsbereich",

+ 1 - 7
src/lib/i18n/locales/dg-DG/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "",
 	"Chat Controls": "",
 	"Chat direction": "",
-	"Chat History": "Chat History",
-	"Chat History is off for this browser.": "Chat History off for this browser. Such sadness.",
 	"Chats": "Chats",
 	"Check Again": "Check Again",
 	"Check for updates": "Check for updates",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Document",
-	"Document Settings": "Document Settings",
 	"Documentation": "",
 	"Documents": "Documents",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "does not connect external, data stays safe locally.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable Chat History": "Activate Chat Story",
 	"Enable Community Sharing": "",
 	"Enable New Sign Ups": "Enable New Bark Ups",
 	"Enable Web Search": "",
@@ -602,6 +598,7 @@
 	"Tell us more:": "",
 	"Temperature": "Temperature very temp",
 	"Template": "Template much template",
+	"Temporary Chat": "",
 	"Text Completion": "Text Completion much complete",
 	"Text-to-Speech Engine": "Text-to-Speech Engine much speak",
 	"Tfs Z": "Tfs Z much Z",
@@ -613,7 +610,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "This ensures that your valuable conversations are securely saved to your backend database. Thank you! Much secure!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "This setting does not sync across browsers or devices. Very not sync.",
 	"This will delete": "",
 	"Thorough explanation": "",
 	"Tika": "",
@@ -694,14 +690,12 @@
 	"Web": "Web very web",
 	"Web API": "",
 	"Web Loader Settings": "",
-	"Web Params": "",
 	"Web Search": "",
 	"Web Search Engine": "",
 	"Webhook URL": "",
 	"WebUI Settings": "WebUI Settings much settings",
 	"WebUI will make requests to": "WebUI will make requests to much request",
 	"What’s New in": "What’s New in much new",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "When history is turned off, new chats on this browser won't appear in your history on any of your devices. Much history.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "",

+ 1 - 7
src/lib/i18n/locales/en-GB/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "",
 	"Chat Controls": "",
 	"Chat direction": "",
-	"Chat History": "",
-	"Chat History is off for this browser.": "",
 	"Chats": "",
 	"Check Again": "",
 	"Check for updates": "",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "",
-	"Document Settings": "",
 	"Documentation": "",
 	"Documents": "",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "",
@@ -222,7 +219,6 @@
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable Chat History": "",
 	"Enable Community Sharing": "",
 	"Enable New Sign Ups": "",
 	"Enable Web Search": "",
@@ -600,6 +596,7 @@
 	"Tell us more:": "",
 	"Temperature": "",
 	"Template": "",
+	"Temporary Chat": "",
 	"Text Completion": "",
 	"Text-to-Speech Engine": "",
 	"Tfs Z": "",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "",
 	"This will delete": "",
 	"Thorough explanation": "",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "",
 	"Web API": "",
 	"Web Loader Settings": "",
-	"Web Params": "",
 	"Web Search": "",
 	"Web Search Engine": "",
 	"Webhook URL": "",
 	"WebUI Settings": "",
 	"WebUI will make requests to": "",
 	"What’s New in": "",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "",

+ 1 - 7
src/lib/i18n/locales/en-US/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "",
 	"Chat Controls": "",
 	"Chat direction": "",
-	"Chat History": "",
-	"Chat History is off for this browser.": "",
 	"Chats": "",
 	"Check Again": "",
 	"Check for updates": "",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "",
-	"Document Settings": "",
 	"Documentation": "",
 	"Documents": "",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "",
@@ -222,7 +219,6 @@
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable Chat History": "",
 	"Enable Community Sharing": "",
 	"Enable New Sign Ups": "",
 	"Enable Web Search": "",
@@ -600,6 +596,7 @@
 	"Tell us more:": "",
 	"Temperature": "",
 	"Template": "",
+	"Temporary Chat": "",
 	"Text Completion": "",
 	"Text-to-Speech Engine": "",
 	"Tfs Z": "",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "",
 	"This will delete": "",
 	"Thorough explanation": "",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "",
 	"Web API": "",
 	"Web Loader Settings": "",
-	"Web Params": "",
 	"Web Search": "",
 	"Web Search Engine": "",
 	"Webhook URL": "",
 	"WebUI Settings": "",
 	"WebUI will make requests to": "",
 	"What’s New in": "",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "",

+ 1 - 7
src/lib/i18n/locales/es-ES/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Burbuja de chat UI",
 	"Chat Controls": "",
 	"Chat direction": "Dirección del Chat",
-	"Chat History": "Historial del Chat",
-	"Chat History is off for this browser.": "El Historial del Chat está apagado para este navegador.",
 	"Chats": "Chats",
 	"Check Again": "Verifica de nuevo",
 	"Check for updates": "Verificar actualizaciones",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Documento",
-	"Document Settings": "Configuración del Documento",
 	"Documentation": "Documentación",
 	"Documents": "Documentos",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "no realiza ninguna conexión externa y sus datos permanecen seguros en su servidor alojado localmente.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding configurado a \"{{embedding_model}}\"",
-	"Enable Chat History": "Activa el Historial de Chat",
 	"Enable Community Sharing": "Habilitar el uso compartido de la comunidad",
 	"Enable New Sign Ups": "Habilitar Nuevos Registros",
 	"Enable Web Search": "Habilitar la búsqueda web",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Dinos más:",
 	"Temperature": "Temperatura",
 	"Template": "Plantilla",
+	"Temporary Chat": "",
 	"Text Completion": "Finalización de texto",
 	"Text-to-Speech Engine": "Motor de texto a voz",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Esta acción no se puede deshacer. ¿Desea continuar?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Esto garantiza que sus valiosas conversaciones se guarden de forma segura en su base de datos en el backend. ¡Gracias!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Esta es una característica experimental que puede no funcionar como se esperaba y está sujeto a cambios en cualquier momento.",
-	"This setting does not sync across browsers or devices.": "Esta configuración no se sincroniza entre navegadores o dispositivos.",
 	"This will delete": "Esto eliminará",
 	"Thorough explanation": "Explicación exhaustiva",
 	"Tika": "",
@@ -693,14 +689,12 @@
 	"Web": "Web",
 	"Web API": "API Web",
 	"Web Loader Settings": "Web Loader Settings",
-	"Web Params": "Web Params",
 	"Web Search": "Búsqueda en la Web",
 	"Web Search Engine": "Motor de búsqueda web",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "Configuración del WebUI",
 	"WebUI will make requests to": "WebUI realizará solicitudes a",
 	"What’s New in": "Novedades en",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Cuando el historial está desactivado, los nuevos chats en este navegador no aparecerán en el historial de ninguno de sus dispositivos..",
 	"Whisper (Local)": "Whisper (Local)",
 	"Widescreen Mode": "Modo de pantalla ancha",
 	"Workspace": "Espacio de trabajo",

+ 1 - 7
src/lib/i18n/locales/fa-IR/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "UI\u200cی\u200c گفتگو\u200c",
 	"Chat Controls": "",
 	"Chat direction": "جهت\u200cگفتگو",
-	"Chat History": "تاریخچه\u200cی گفتگو",
-	"Chat History is off for this browser.": "سابقه گپ برای این مرورگر خاموش است.",
 	"Chats": "گپ\u200cها",
 	"Check Again": "چک مجدد",
 	"Check for updates": "بررسی به\u200cروزرسانی",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "سند",
-	"Document Settings": "تنظیمات سند",
 	"Documentation": "",
 	"Documents": "اسناد",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "هیچ اتصال خارجی ایجاد نمی کند و داده های شما به طور ایمن در سرور میزبان محلی شما باقی می ماند.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "مدل پیدائش",
 	"Embedding Model Engine": "محرک مدل پیدائش",
 	"Embedding model set to \"{{embedding_model}}\"": "مدل پیدائش را به \"{{embedding_model}}\" تنظیم کنید",
-	"Enable Chat History": "تاریخچه چت را فعال کنید",
 	"Enable Community Sharing": "فعالسازی اشتراک انجمن",
 	"Enable New Sign Ups": "فعال کردن ثبت نام\u200cهای جدید",
 	"Enable Web Search": "فعالسازی جستجوی وب",
@@ -600,6 +596,7 @@
 	"Tell us more:": "بیشتر بگویید:",
 	"Temperature": "دما",
 	"Template": "الگو",
+	"Temporary Chat": "",
 	"Text Completion": "تکمیل متن",
 	"Text-to-Speech Engine": "موتور تبدیل متن به گفتار",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "این تضمین می کند که مکالمات ارزشمند شما به طور ایمن در پایگاه داده بکند ذخیره می شود. تشکر!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "این تنظیم در مرورگرها یا دستگاه\u200cها همگام\u200cسازی نمی\u200cشود.",
 	"This will delete": "",
 	"Thorough explanation": "توضیح کامل",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "وب",
 	"Web API": "",
 	"Web Loader Settings": "تنظیمات لودر وب",
-	"Web Params": "پارامترهای وب",
 	"Web Search": "جستجوی وب",
 	"Web Search Engine": "موتور جستجوی وب",
 	"Webhook URL": "URL وبهوک",
 	"WebUI Settings": "تنظیمات WebUI",
 	"WebUI will make requests to": "WebUI درخواست\u200cها را ارسال خواهد کرد به",
 	"What’s New in": "موارد جدید در",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "وقتی سابقه خاموش است، چت\u200cهای جدید در این مرورگر در سابقه شما در هیچ یک از دستگاه\u200cهایتان ظاهر نمی\u200cشوند.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "محیط کار",

+ 1 - 7
src/lib/i18n/locales/fi-FI/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Keskustelu-pallojen käyttöliittymä",
 	"Chat Controls": "",
 	"Chat direction": "Keskustelun suunta",
-	"Chat History": "Keskusteluhistoria",
-	"Chat History is off for this browser.": "Keskusteluhistoria on pois päältä tällä selaimella.",
 	"Chats": "Keskustelut",
 	"Check Again": "Tarkista uudelleen",
 	"Check for updates": "Tarkista päivitykset",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Asiakirja",
-	"Document Settings": "Asiakirja-asetukset",
 	"Documentation": "",
 	"Documents": "Asiakirjat",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "ei tee ulkoisia yhteyksiä, ja tietosi pysyvät turvallisesti paikallisesti isännöidyllä palvelimellasi.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Upotusmalli",
 	"Embedding Model Engine": "Upotusmallin moottori",
 	"Embedding model set to \"{{embedding_model}}\"": "\"{{embedding_model}}\" valittu upotusmalliksi",
-	"Enable Chat History": "Ota keskusteluhistoria käyttöön",
 	"Enable Community Sharing": "Ota yhteisön jakaminen käyttöön",
 	"Enable New Sign Ups": "Salli uudet rekisteröitymiset",
 	"Enable Web Search": "Ota verkkohaku käyttöön",
@@ -600,6 +596,7 @@
 	"Tell us more:": "Kerro lisää:",
 	"Temperature": "Lämpötila",
 	"Template": "Malline",
+	"Temporary Chat": "",
 	"Text Completion": "Tekstin täydennys",
 	"Text-to-Speech Engine": "Puhemoottori",
 	"Tfs Z": "TFS Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Tämä varmistaa, että arvokkaat keskustelusi tallennetaan turvallisesti backend-tietokantaasi. Kiitos!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "Tämä asetus ei synkronoidu selainten tai laitteiden välillä.",
 	"This will delete": "",
 	"Thorough explanation": "Perusteellinen selitys",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "Web",
 	"Web API": "",
 	"Web Loader Settings": "Web Loader asetukset",
-	"Web Params": "Web-parametrit",
 	"Web Search": "Web-haku",
 	"Web Search Engine": "Web-hakukone",
 	"Webhook URL": "Webhook-URL",
 	"WebUI Settings": "WebUI-asetukset",
 	"WebUI will make requests to": "WebUI tekee pyyntöjä",
 	"What’s New in": "Mitä uutta",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kun historia on pois päältä, uudet keskustelut tässä selaimessa eivät näy historiassasi millään laitteellasi.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "Työtilat",

+ 1 - 7
src/lib/i18n/locales/fr-CA/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Bulles de discussion",
 	"Chat Controls": "",
 	"Chat direction": "Direction du chat",
-	"Chat History": "Historique de discussion",
-	"Chat History is off for this browser.": "L'historique de chat est désactivé pour ce navigateur",
 	"Chats": "Conversations",
 	"Check Again": "Vérifiez à nouveau.",
 	"Check for updates": "Vérifier les mises à jour disponibles",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Document",
-	"Document Settings": "Paramètres du document",
 	"Documentation": "Documentation",
 	"Documents": "Documents",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "ne fait aucune connexion externe et garde vos données en sécurité sur votre serveur local.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Modèle d'embedding",
 	"Embedding Model Engine": "Moteur de modèle d'encodage",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'encodage défini sur « {{embedding_model}} »",
-	"Enable Chat History": "Activer l'historique de conversation",
 	"Enable Community Sharing": "Activer le partage communautaire",
 	"Enable New Sign Ups": "Activer les nouvelles inscriptions",
 	"Enable Web Search": "Activer la recherche sur le Web",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Dites-nous en plus à ce sujet : ",
 	"Temperature": "Température",
 	"Template": "Template",
+	"Temporary Chat": "",
 	"Text Completion": "Complétion de texte",
 	"Text-to-Speech Engine": "Moteur de synthèse vocale",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Cette action ne peut pas être annulée. Souhaitez-vous continuer ?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cela garantit que vos conversations précieuses soient sauvegardées en toute sécurité dans votre base de données backend. Merci !",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Il s'agit d'une fonctionnalité expérimentale, elle peut ne pas fonctionner comme prévu et est sujette à modification à tout moment.",
-	"This setting does not sync across browsers or devices.": "Ce paramètre ne se synchronise pas entre les navigateurs ou les appareils.",
 	"This will delete": "Cela supprimera",
 	"Thorough explanation": "Explication approfondie",
 	"Tika": "Tika",
@@ -693,14 +689,12 @@
 	"Web": "Web",
 	"Web API": "API Web",
 	"Web Loader Settings": "Paramètres du chargeur web",
-	"Web Params": "Paramètres Web",
 	"Web Search": "Recherche Web",
 	"Web Search Engine": "Moteur de recherche Web",
 	"Webhook URL": "URL du webhook",
 	"WebUI Settings": "Paramètres de WebUI",
 	"WebUI will make requests to": "WebUI effectuera des requêtes vers",
 	"What’s New in": "Quoi de neuf",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Lorsque l'historique est désactivé, les nouvelles conversations sur ce navigateur ne seront pas enregistrés dans votre historique sur aucun de vos appareils.",
 	"Whisper (Local)": "Whisper (local)",
 	"Widescreen Mode": "Mode Grand Écran",
 	"Workspace": "Espace de travail",

+ 1 - 7
src/lib/i18n/locales/fr-FR/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Bulles de discussion",
 	"Chat Controls": "",
 	"Chat direction": "Direction du chat",
-	"Chat History": "Historique de discussion",
-	"Chat History is off for this browser.": "L'historique de chat est désactivé pour ce navigateur",
 	"Chats": "Conversations",
 	"Check Again": "Vérifiez à nouveau.",
 	"Check for updates": "Vérifier les mises à jour disponibles",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Document",
-	"Document Settings": "Paramètres du document",
 	"Documentation": "Documentation",
 	"Documents": "Documents",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "ne fait aucune connexion externe et garde vos données en sécurité sur votre serveur local.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Modèle d'embedding",
 	"Embedding Model Engine": "Moteur de modèle d'encodage",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'encodage défini sur « {{embedding_model}} »",
-	"Enable Chat History": "Activer l'historique de conversation",
 	"Enable Community Sharing": "Activer le partage communautaire",
 	"Enable New Sign Ups": "Activer les nouvelles inscriptions",
 	"Enable Web Search": "Activer la recherche web",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Dites-nous en plus à ce sujet : ",
 	"Temperature": "Température",
 	"Template": "Template",
+	"Temporary Chat": "",
 	"Text Completion": "Complétion de texte",
 	"Text-to-Speech Engine": "Moteur de synthèse vocale",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Cette action ne peut pas être annulée. Souhaitez-vous continuer ?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cela garantit que vos conversations précieuses soient sauvegardées en toute sécurité dans votre base de données backend. Merci !",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Il s'agit d'une fonctionnalité expérimentale, elle peut ne pas fonctionner comme prévu et est sujette à modification à tout moment.",
-	"This setting does not sync across browsers or devices.": "Ce paramètre ne se synchronise pas entre les navigateurs ou les appareils.",
 	"This will delete": "Cela supprimera",
 	"Thorough explanation": "Explication approfondie",
 	"Tika": "Tika",
@@ -693,14 +689,12 @@
 	"Web": "Web",
 	"Web API": "API Web",
 	"Web Loader Settings": "Paramètres du chargeur web",
-	"Web Params": "Paramètres Web",
 	"Web Search": "Recherche Web",
 	"Web Search Engine": "Moteur de recherche Web",
 	"Webhook URL": "URL du webhook",
 	"WebUI Settings": "Paramètres de WebUI",
 	"WebUI will make requests to": "WebUI effectuera des requêtes vers",
 	"What’s New in": "Quoi de neuf",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Lorsque l'historique est désactivé, les nouvelles conversations sur ce navigateur ne seront pas enregistrés dans votre historique sur aucun de vos appareils.",
 	"Whisper (Local)": "Whisper (local)",
 	"Widescreen Mode": "Mode Grand Écran",
 	"Workspace": "Espace de travail",

+ 1 - 7
src/lib/i18n/locales/he-IL/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "UI של תיבת הדיבור",
 	"Chat Controls": "",
 	"Chat direction": "כיוון צ'אט",
-	"Chat History": "היסטוריית צ'אט",
-	"Chat History is off for this browser.": "היסטוריית הצ'אט כבויה לדפדפן זה.",
 	"Chats": "צ'אטים",
 	"Check Again": "בדוק שוב",
 	"Check for updates": "בדוק עדכונים",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "מסמך",
-	"Document Settings": "הגדרות מסמך",
 	"Documentation": "",
 	"Documents": "מסמכים",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "לא מבצע חיבורים חיצוניים, והנתונים שלך נשמרים באופן מאובטח בשרת המקומי שלך.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "מודל הטמעה",
 	"Embedding Model Engine": "מנוע מודל הטמעה",
 	"Embedding model set to \"{{embedding_model}}\"": "מודל ההטמעה הוגדר ל-\"{{embedding_model}}\"",
-	"Enable Chat History": "הפעל היסטוריית צ'אט",
 	"Enable Community Sharing": "הפיכת שיתוף קהילה לזמין",
 	"Enable New Sign Ups": "אפשר הרשמות חדשות",
 	"Enable Web Search": "הפיכת חיפוש באינטרנט לזמין",
@@ -601,6 +597,7 @@
 	"Tell us more:": "תרשמו יותר:",
 	"Temperature": "טמפרטורה",
 	"Template": "תבנית",
+	"Temporary Chat": "",
 	"Text Completion": "תחילת טקסט",
 	"Text-to-Speech Engine": "מנוע טקסט לדיבור",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "פעולה זו מבטיחה שהשיחות בעלות הערך שלך יישמרו באופן מאובטח במסד הנתונים העורפי שלך. תודה!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "הגדרה זו אינה מסתנכרנת בין דפדפנים או מכשירים.",
 	"This will delete": "",
 	"Thorough explanation": "תיאור מפורט",
 	"Tika": "",
@@ -693,14 +689,12 @@
 	"Web": "רשת",
 	"Web API": "",
 	"Web Loader Settings": "הגדרות טעינת אתר",
-	"Web Params": "פרמטרים Web",
 	"Web Search": "חיפוש באינטרנט",
 	"Web Search Engine": "מנוע חיפוש באינטרנט",
 	"Webhook URL": "URL Webhook",
 	"WebUI Settings": "הגדרות WebUI",
 	"WebUI will make requests to": "WebUI יבקש לבקש",
 	"What’s New in": "מה חדש ב",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "כאשר ההיסטוריה מושבתת, צ'אטים חדשים בדפדפן זה לא יופיעו בהיסטוריה שלך באף אחד מהמכשירים שלך.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "סביבה",

+ 1 - 7
src/lib/i18n/locales/hi-IN/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "चैट बॉली",
 	"Chat Controls": "",
 	"Chat direction": "चैट दिशा",
-	"Chat History": "चैट का इतिहास",
-	"Chat History is off for this browser.": "इस ब्राउज़र के लिए चैट इतिहास बंद है।",
 	"Chats": "सभी चैट",
 	"Check Again": "फिर से जाँचो",
 	"Check for updates": "अपडेट के लिए जाँच",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "दस्तावेज़",
-	"Document Settings": "दस्तावेज़ सेटिंग्स",
 	"Documentation": "",
 	"Documents": "दस्तावेज़",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "कोई बाहरी कनेक्शन नहीं बनाता है, और आपका डेटा आपके स्थानीय रूप से होस्ट किए गए सर्वर पर सुरक्षित रूप से रहता है।",
@@ -222,7 +219,6 @@
 	"Embedding Model": "मॉडेल अनुकूलन",
 	"Embedding Model Engine": "एंबेडिंग मॉडल इंजन",
 	"Embedding model set to \"{{embedding_model}}\"": "एम्बेडिंग मॉडल को \"{{embedding_model}}\" पर सेट किया गया",
-	"Enable Chat History": "चैट इतिहास सक्रिय करें",
 	"Enable Community Sharing": "समुदाय साझाकरण सक्षम करें",
 	"Enable New Sign Ups": "नए साइन अप सक्रिय करें",
 	"Enable Web Search": "वेब खोज सक्षम करें",
@@ -600,6 +596,7 @@
 	"Tell us more:": "हमें और अधिक बताएँ:",
 	"Temperature": "टेंपेरेचर",
 	"Template": "टेम्पलेट",
+	"Temporary Chat": "",
 	"Text Completion": "पाठ समापन",
 	"Text-to-Speech Engine": "टेक्स्ट-टू-स्पीच इंजन",
 	"Tfs Z": "टफ्स Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "यह सुनिश्चित करता है कि आपकी मूल्यवान बातचीत आपके बैकएंड डेटाबेस में सुरक्षित रूप से सहेजी गई है। धन्यवाद!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "यह सेटिंग सभी ब्राउज़रों या डिवाइसों में समन्वयित नहीं होती है",
 	"This will delete": "",
 	"Thorough explanation": "विस्तृत व्याख्या",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "वेब",
 	"Web API": "",
 	"Web Loader Settings": "वेब लोडर सेटिंग्स",
-	"Web Params": "वेब पैरामीटर",
 	"Web Search": "वेब खोज",
 	"Web Search Engine": "वेब खोज इंजन",
 	"Webhook URL": "वेबहुक URL",
 	"WebUI Settings": "WebUI सेटिंग्स",
 	"WebUI will make requests to": "WebUI अनुरोध करेगा",
 	"What’s New in": "इसमें नया क्या है",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "जब इतिहास बंद हो जाता है, तो इस ब्राउज़र पर नई चैट आपके किसी भी डिवाइस पर इतिहास में दिखाई नहीं देंगी।",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "वर्कस्पेस",

+ 1 - 7
src/lib/i18n/locales/hr-HR/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Razgovor - Bubble UI",
 	"Chat Controls": "",
 	"Chat direction": "Razgovor - smijer",
-	"Chat History": "Povijest razgovora",
-	"Chat History is off for this browser.": "Povijest razgovora je isključena za ovaj preglednik.",
 	"Chats": "Razgovori",
 	"Check Again": "Provjeri ponovo",
 	"Check for updates": "Provjeri za ažuriranja",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Dokument",
-	"Document Settings": "Postavke dokumenta",
 	"Documentation": "Dokumentacija",
 	"Documents": "Dokumenti",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "ne uspostavlja vanjske veze, a vaši podaci ostaju sigurno na vašem lokalno hostiranom poslužitelju.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Embedding model",
 	"Embedding Model Engine": "Embedding model pogon",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model postavljen na \"{{embedding_model}}\"",
-	"Enable Chat History": "Omogući povijest razgovora",
 	"Enable Community Sharing": "Omogući zajedničko korištenje zajednice",
 	"Enable New Sign Ups": "Omogući nove prijave",
 	"Enable Web Search": "Omogući pretraživanje weba",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Recite nam više:",
 	"Temperature": "Temperatura",
 	"Template": "Predložak",
+	"Temporary Chat": "",
 	"Text Completion": "Dovršavanje teksta",
 	"Text-to-Speech Engine": "Stroj za pretvorbu teksta u govor",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ovo osigurava da su vaši vrijedni razgovori sigurno spremljeni u bazu podataka. Hvala vam!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Ovo je eksperimentalna značajka, možda neće funkcionirati prema očekivanjima i podložna je promjenama u bilo kojem trenutku.",
-	"This setting does not sync across browsers or devices.": "Ova postavka se ne sinkronizira između preglednika ili uređaja.",
 	"This will delete": "",
 	"Thorough explanation": "Detaljno objašnjenje",
 	"Tika": "",
@@ -693,14 +689,12 @@
 	"Web": "Web",
 	"Web API": "Web API",
 	"Web Loader Settings": "Postavke web učitavanja",
-	"Web Params": "Web parametri",
 	"Web Search": "Internet pretraga",
 	"Web Search Engine": "Web tražilica",
 	"Webhook URL": "URL webkuke",
 	"WebUI Settings": "WebUI postavke",
 	"WebUI will make requests to": "WebUI će slati zahtjeve na",
 	"What’s New in": "Što je novo u",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kada je povijest isključena, novi razgovori na ovom pregledniku neće se pojaviti u vašoj povijesti na bilo kojem od vaših uređaja.",
 	"Whisper (Local)": "Whisper (lokalno)",
 	"Widescreen Mode": "Mod širokog zaslona",
 	"Workspace": "Radna ploča",

+ 1 - 7
src/lib/i18n/locales/id-ID/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "UI Gelembung Obrolan",
 	"Chat Controls": "",
 	"Chat direction": "Arah obrolan",
-	"Chat History": "Riwayat Obrolan",
-	"Chat History is off for this browser.": "Riwayat Obrolan tidak aktif untuk browser ini.",
 	"Chats": "Obrolan",
 	"Check Again": "Periksa Lagi",
 	"Check for updates": "Memeriksa pembaruan",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Dokumen",
-	"Document Settings": "Pengaturan Dokumen",
 	"Documentation": "Dokumentasi",
 	"Documents": "Dokumen",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "tidak membuat koneksi eksternal apa pun, dan data Anda tetap aman di server yang dihosting secara lokal.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Model Penyematan",
 	"Embedding Model Engine": "Mesin Model Penyematan",
 	"Embedding model set to \"{{embedding_model}}\"": "Model penyematan diatur ke \"{{embedding_model}}\"",
-	"Enable Chat History": "Aktifkan Riwayat Obrolan",
 	"Enable Community Sharing": "Aktifkan Berbagi Komunitas",
 	"Enable New Sign Ups": "Aktifkan Pendaftaran Baru",
 	"Enable Web Search": "Aktifkan Pencarian Web",
@@ -600,6 +596,7 @@
 	"Tell us more:": "Beri tahu kami lebih lanjut:",
 	"Temperature": "Suhu",
 	"Template": "Templat",
+	"Temporary Chat": "",
 	"Text Completion": "Penyelesaian Teks",
 	"Text-to-Speech Engine": "Mesin Teks-ke-Suara",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Tindakan ini tidak dapat dibatalkan. Apakah Anda ingin melanjutkan?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ini akan memastikan bahwa percakapan Anda yang berharga disimpan dengan aman ke basis data backend. Terima kasih!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Ini adalah fitur eksperimental, mungkin tidak berfungsi seperti yang diharapkan dan dapat berubah sewaktu-waktu.",
-	"This setting does not sync across browsers or devices.": "Pengaturan ini tidak disinkronkan di seluruh browser atau perangkat.",
 	"This will delete": "Ini akan menghapus",
 	"Thorough explanation": "Penjelasan menyeluruh",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "Web",
 	"Web API": "API Web",
 	"Web Loader Settings": "Pengaturan Pemuat Web",
-	"Web Params": "Parameter Web",
 	"Web Search": "Pencarian Web",
 	"Web Search Engine": "Mesin Pencari Web",
 	"Webhook URL": "URL pengait web",
 	"WebUI Settings": "Pengaturan WebUI",
 	"WebUI will make requests to": "WebUI akan membuat permintaan ke",
 	"What’s New in": "Apa yang Baru di",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Ketika riwayat dimatikan, obrolan baru di browser ini tidak akan muncul di riwayat Anda di perangkat mana pun.",
 	"Whisper (Local)": "Bisikan (Lokal)",
 	"Widescreen Mode": "Mode Layar Lebar",
 	"Workspace": "Ruang Kerja",

+ 1 - 7
src/lib/i18n/locales/it-IT/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "UI bolle chat",
 	"Chat Controls": "",
 	"Chat direction": "Direzione chat",
-	"Chat History": "Cronologia chat",
-	"Chat History is off for this browser.": "La cronologia chat è disattivata per questo browser.",
 	"Chats": "Chat",
 	"Check Again": "Controlla di nuovo",
 	"Check for updates": "Controlla aggiornamenti",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Documento",
-	"Document Settings": "Impostazioni documento",
 	"Documentation": "",
 	"Documents": "Documenti",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "non effettua connessioni esterne e i tuoi dati rimangono al sicuro sul tuo server ospitato localmente.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Modello di embedding",
 	"Embedding Model Engine": "Motore del modello di embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modello di embedding impostato su \"{{embedding_model}}\"",
-	"Enable Chat History": "Abilita cronologia chat",
 	"Enable Community Sharing": "Abilita la condivisione della community",
 	"Enable New Sign Ups": "Abilita nuove iscrizioni",
 	"Enable Web Search": "Abilita ricerca Web",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Raccontaci di più:",
 	"Temperature": "Temperatura",
 	"Template": "Modello",
+	"Temporary Chat": "",
 	"Text Completion": "Completamento del testo",
 	"Text-to-Speech Engine": "Motore da testo a voce",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ciò garantisce che le tue preziose conversazioni siano salvate in modo sicuro nel tuo database backend. Grazie!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "Questa impostazione non si sincronizza tra browser o dispositivi.",
 	"This will delete": "",
 	"Thorough explanation": "Spiegazione dettagliata",
 	"Tika": "",
@@ -693,14 +689,12 @@
 	"Web": "Web",
 	"Web API": "",
 	"Web Loader Settings": "Impostazioni del caricatore Web",
-	"Web Params": "Parametri Web",
 	"Web Search": "Ricerca sul Web",
 	"Web Search Engine": "Motore di ricerca Web",
 	"Webhook URL": "URL webhook",
 	"WebUI Settings": "Impostazioni WebUI",
 	"WebUI will make requests to": "WebUI effettuerà richieste a",
 	"What’s New in": "Novità in",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Quando la cronologia è disattivata, le nuove chat su questo browser non verranno visualizzate nella cronologia su nessuno dei tuoi dispositivi.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "Area di lavoro",

+ 1 - 7
src/lib/i18n/locales/ja-JP/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "チャットバブルUI",
 	"Chat Controls": "",
 	"Chat direction": "チャットの方向",
-	"Chat History": "チャット履歴",
-	"Chat History is off for this browser.": "このブラウザではチャット履歴が無効になっています。",
 	"Chats": "チャット",
 	"Check Again": "再確認",
 	"Check for updates": "アップデートを確認",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "ドキュメント",
-	"Document Settings": "ドキュメント設定",
 	"Documentation": "",
 	"Documents": "ドキュメント",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "外部接続を行わず、データはローカルでホストされているサーバー上に安全に保持されます。",
@@ -222,7 +219,6 @@
 	"Embedding Model": "埋め込みモデル",
 	"Embedding Model Engine": "埋め込みモデルエンジン",
 	"Embedding model set to \"{{embedding_model}}\"": "埋め込みモデルを\"{{embedding_model}}\"に設定しました",
-	"Enable Chat History": "チャット履歴を有効化",
 	"Enable Community Sharing": "コミュニティ共有の有効化",
 	"Enable New Sign Ups": "新規登録を有効化",
 	"Enable Web Search": "Web 検索を有効にする",
@@ -599,6 +595,7 @@
 	"Tell us more:": "もっと話してください:",
 	"Temperature": "温度",
 	"Template": "テンプレート",
+	"Temporary Chat": "",
 	"Text Completion": "テキスト補完",
 	"Text-to-Speech Engine": "テキスト音声変換エンジン",
 	"Tfs Z": "Tfs Z",
@@ -610,7 +607,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "これは、貴重な会話がバックエンドデータベースに安全に保存されることを保証します。ありがとうございます!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "この設定は、ブラウザやデバイス間で同期されません。",
 	"This will delete": "",
 	"Thorough explanation": "詳細な説明",
 	"Tika": "",
@@ -691,14 +687,12 @@
 	"Web": "ウェブ",
 	"Web API": "",
 	"Web Loader Settings": "Web 読み込み設定",
-	"Web Params": "Web パラメータ",
 	"Web Search": "ウェブ検索",
 	"Web Search Engine": "ウェブ検索エンジン",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "WebUI 設定",
 	"WebUI will make requests to": "WebUI は次に対してリクエストを行います",
 	"What’s New in": "新機能",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "履歴が無効になっている場合、このブラウザでの新しいチャットは、どのデバイスの履歴にも表示されません。",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "ワークスペース",

+ 1 - 7
src/lib/i18n/locales/ka-GE/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "ჩატის ბულბი",
 	"Chat Controls": "",
 	"Chat direction": "ჩატის მიმართულება",
-	"Chat History": "მიმოწერის ისტორია",
-	"Chat History is off for this browser.": "მიმოწერის ისტორია ამ ბრაუზერისთვის გათიშულია",
 	"Chats": "მიმოწერები",
 	"Check Again": "თავიდან შემოწმება",
 	"Check for updates": "განახლებების ძიება",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "დოკუმენტი",
-	"Document Settings": "დოკუმენტის პარამეტრები",
 	"Documentation": "",
 	"Documents": "დოკუმენტები",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "არ ამყარებს გარე კავშირებს და თქვენი მონაცემები უსაფრთხოდ რჩება თქვენს ადგილობრივ სერვერზე.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "ჩასმის ძირითადი პროგრამა",
 	"Embedding Model Engine": "ჩასმის ძირითადი პროგრამა",
 	"Embedding model set to \"{{embedding_model}}\"": "ჩასმის ძირითადი პროგრამა ჩართულია \"{{embedding_model}}\"",
-	"Enable Chat History": "მიმოწერის ისტორიის ჩართვა",
 	"Enable Community Sharing": "საზოგადოების გაზიარების ჩართვა",
 	"Enable New Sign Ups": "ახალი რეგისტრაციების ჩართვა",
 	"Enable Web Search": "ვებ ძიების ჩართვა",
@@ -600,6 +596,7 @@
 	"Tell us more:": "ჩვენთან დავუკავშირდით",
 	"Temperature": "ტემპერატურა",
 	"Template": "შაბლონი",
+	"Temporary Chat": "",
 	"Text Completion": "ტექსტის დასრულება",
 	"Text-to-Speech Engine": "ტექსტურ-ხმოვანი ძრავი",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "ეს უზრუნველყოფს, რომ თქვენი ძვირფასი საუბრები უსაფრთხოდ შეინახება თქვენს backend მონაცემთა ბაზაში. Გმადლობთ!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "ეს პარამეტრი არ სინქრონიზდება ბრაუზერებსა და მოწყობილობებში",
 	"This will delete": "",
 	"Thorough explanation": "ვრცლად აღწერა",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "ვები",
 	"Web API": "",
 	"Web Loader Settings": "ვების ჩატარების პარამეტრები",
-	"Web Params": "ვების პარამეტრები",
 	"Web Search": "ვებ ძებნა",
 	"Web Search Engine": "ვებ საძიებო სისტემა",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "WebUI პარამეტრები",
 	"WebUI will make requests to": "WebUI გამოგიგზავნით მოთხოვნებს",
 	"What’s New in": "რა არის ახალი",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "როდესაც ისტორია გამორთულია, ახალი ჩეთები ამ ბრაუზერში არ გამოჩნდება თქვენს ისტორიაში არცერთ მოწყობილობაზე.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "ვულერი",

+ 1 - 7
src/lib/i18n/locales/ko-KR/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "버블형 채팅 UI",
 	"Chat Controls": "",
 	"Chat direction": "채팅 방향",
-	"Chat History": "채팅 기록",
-	"Chat History is off for this browser.": "브라우저에서 채팅 기록이 꺼져 있습니다.",
 	"Chats": "채팅",
 	"Check Again": "다시 확인",
 	"Check for updates": "업데이트 확인",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "문서",
-	"Document Settings": "문서 설정",
 	"Documentation": "문서 조사",
 	"Documents": "문서",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "어떠한 외부 연결도 하지 않으며, 데이터는 로컬에서 호스팅되는 서버에 안전하게 유지됩니다.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "임베딩 모델",
 	"Embedding Model Engine": "임베딩 모델 엔진",
 	"Embedding model set to \"{{embedding_model}}\"": "임베딩 모델을 \"{{embedding_model}}\"로 설정함",
-	"Enable Chat History": "채팅 기록 활성화",
 	"Enable Community Sharing": "커뮤니티 공유 활성화",
 	"Enable New Sign Ups": "새 회원가입 활성화",
 	"Enable Web Search": "웹 검색 활성화",
@@ -600,6 +596,7 @@
 	"Tell us more:": "더 알려주세요:",
 	"Temperature": "온도",
 	"Template": "템플릿",
+	"Temporary Chat": "",
 	"Text Completion": "텍스트 완성",
 	"Text-to-Speech Engine": "텍스트-음성 변환 엔진",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "이 액션은 되돌릴 수 없습니다. 계속하시겠습니까?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "이렇게 하면 소중한 대화 내용이 백엔드 데이터베이스에 안전하게 저장됩니다. 감사합니다!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "이것은 실험적 기능으로, 예상대로 작동하지 않을 수 있으며 언제든지 변경될 수 있습니다.",
-	"This setting does not sync across browsers or devices.": "이 설정은 브라우저 또는 장치 간에 동기화되지 않습니다.",
 	"This will delete": "이것은 다음을 삭제합니다.",
 	"Thorough explanation": "완전한 설명",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "웹",
 	"Web API": "웹 API",
 	"Web Loader Settings": "웹 로더 설정",
-	"Web Params": "웹 파라미터",
 	"Web Search": "웹 검색",
 	"Web Search Engine": "웹 검색 엔진",
 	"Webhook URL": "웹훅 URL",
 	"WebUI Settings": "WebUI 설정",
 	"WebUI will make requests to": "WebUI 요청 대상:",
 	"What’s New in": "새로운 기능:",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "기록 기능이 꺼져 있으면 이 브라우저의 새 채팅이 다른 장치의 채팅 기록에 나타나지 않습니다.",
 	"Whisper (Local)": "Whisper (로컬)",
 	"Widescreen Mode": "와이드스크린 모드",
 	"Workspace": "워크스페이스",

+ 1 - 7
src/lib/i18n/locales/lt-LT/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Pokalbio burbulo sąsaja",
 	"Chat Controls": "Pokalbio valdymas",
 	"Chat direction": "Pokalbio linkmė",
-	"Chat History": "Pokalbių istorija",
-	"Chat History is off for this browser.": "Šioje naršyklėje pokalbių istorija išjungta.",
 	"Chats": "Pokalbiai",
 	"Check Again": "Patikrinti iš naujo",
 	"Check for updates": "Patikrinti atnaujinimus",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "Neinstaliuokite funkcijų iš nepatikimų šaltinių",
 	"Do not install tools from sources you do not fully trust.": "Neinstaliuokite įrankių iš nepatikimų šaltinių",
 	"Document": "Dokumentas",
-	"Document Settings": "Dokumento nuostatos",
 	"Documentation": "Dokumentacija",
 	"Documents": "Dokumentai",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "neturi jokių išorinių ryšių ir duomenys lieka serveryje.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Embedding modelis",
 	"Embedding Model Engine": "Embedding modelio variklis",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding modelis nustatytas kaip\"{{embedding_model}}\"",
-	"Enable Chat History": "Aktyvuoti pokalbių istoriją",
 	"Enable Community Sharing": "Leisti dalinimąsi su bendruomene",
 	"Enable New Sign Ups": "Aktyvuoti naujas registracijas",
 	"Enable Web Search": "Leisti paiešką internete",
@@ -602,6 +598,7 @@
 	"Tell us more:": "Papasakokite daugiau",
 	"Temperature": "Temperatūra",
 	"Template": "Modelis",
+	"Temporary Chat": "",
 	"Text Completion": "Teksto pildymas",
 	"Text-to-Speech Engine": "Balso sintezės modelis",
 	"Tfs Z": "Tfs Z",
@@ -613,7 +610,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Šis veiksmas negali būti atšauktas. Ar norite tęsti?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Tai užtikrina, kad Jūsų pokalbiai saugiai saugojami duomenų bazėje. Ačiū!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Tai eksperimentinė funkcija ir gali veikti nevisada.",
-	"This setting does not sync across browsers or devices.": "Šis parametras nesisinchronizuoja su skirtingomis naršyklėmis ir įrankiais.",
 	"This will delete": "Tai ištrins",
 	"Thorough explanation": "Platus paaiškinimas",
 	"Tika": "Tika",
@@ -694,14 +690,12 @@
 	"Web": "Web",
 	"Web API": "Web API",
 	"Web Loader Settings": "Web krovimo nustatymai",
-	"Web Params": "Web nustatymai",
 	"Web Search": "Web paieška",
 	"Web Search Engine": "Web paieškos variklis",
 	"Webhook URL": "Webhook nuoroda",
 	"WebUI Settings": "WebUI parametrai",
 	"WebUI will make requests to": "WebUI vykdys užklausas",
 	"What’s New in": "Kas naujo",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kai istorija išjungta, pokalbiai neatsiras jūsų istorijoje.",
 	"Whisper (Local)": "Whisper (lokalus)",
 	"Widescreen Mode": "Plataus ekrano rėžimas",
 	"Workspace": "Nuostatos",

+ 1 - 7
src/lib/i18n/locales/ms-MY/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Antaramuka Buih Perbualan",
 	"Chat Controls": "Kawalan Perbualan",
 	"Chat direction": "Arah Perbualan",
-	"Chat History": "Sejarah Perbualan",
-	"Chat History is off for this browser.": "Sejarah perbualan dimatikan untuk pelayan web ini",
 	"Chats": "Perbualan",
 	"Check Again": "Semak Kembali",
 	"Check for updates": "Semak kemas kini",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "Jangan pasang fungsi daripada sumber yang anda tidak percayai sepenuhnya.",
 	"Do not install tools from sources you do not fully trust.": "Jangan pasang alat daripada sumber yang anda tidak percaya sepenuhnya.",
 	"Document": "Dokumen",
-	"Document Settings": "Tetapan Dokumen",
 	"Documentation": "Dokumentasi",
 	"Documents": "Dokumen",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "tidak membuat sebarang sambungan luaran, dan data anda kekal selamat pada pelayan yang dihoskan ditempat anda",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Model Benamkan",
 	"Embedding Model Engine": "Enjin Model Benamkan",
 	"Embedding model set to \"{{embedding_model}}\"": "Model Benamkan ditetapkan kepada \"{{embedding_model}}\"",
-	"Enable Chat History": "Benarkan Sejarah Perbualan",
 	"Enable Community Sharing": "Benarkan Perkongsian Komunity",
 	"Enable New Sign Ups": "Benarkan Pendaftaran Baharu",
 	"Enable Web Search": "Benarkan Carian Web",
@@ -600,6 +596,7 @@
 	"Tell us more:": "Beritahu kami lebih lanjut",
 	"Temperature": "Suhu",
 	"Template": "Templat",
+	"Temporary Chat": "",
 	"Text Completion": "Penyiapan Teks",
 	"Text-to-Speech Engine": "Enjin Teks-ke-Ucapan",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Tindakan ini tidak boleh diubah semula kepada asal. Adakah anda ingin teruskan",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ini akan memastikan bahawa perbualan berharga anda disimpan dengan selamat ke pangkalan data 'backend' anda. Terima kasih!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "ni adalah ciri percubaan, ia mungkin tidak berfungsi seperti yang diharapkan dan tertakluk kepada perubahan pada bila-bila masa.",
-	"This setting does not sync across browsers or devices.": "Tetapan ini tidak menyegerak merentas pelayar web atau peranti.",
 	"This will delete": "Ini akan memadam",
 	"Thorough explanation": "Penjelasan menyeluruh",
 	"Tika": "Tika",
@@ -692,14 +688,12 @@
 	"Web": "Web",
 	"Web API": "API Web",
 	"Web Loader Settings": "Tetapan Pemuat Web",
-	"Web Params": "Parameter Web",
 	"Web Search": "Carian Web",
 	"Web Search Engine": "Enjin Carian Web",
 	"Webhook URL": "URL 'Webhook'",
 	"WebUI Settings": "Tetapan WebUI",
 	"WebUI will make requests to": "WebUI akan membuat permintaan kepada",
 	"What’s New in": "Apakah yang terbaru dalam",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Apabila sejarah dimatikan, perbualan baharu pada pelayan web ini tidak akan muncul dalam sejarah pada mana-mana peranti anda.",
 	"Whisper (Local)": "Whisper (Local)",
 	"Widescreen Mode": "Mod Skrin Lebar",
 	"Workspace": "Ruang Kerja",

+ 1 - 7
src/lib/i18n/locales/nb-NO/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Chat-boble UI",
 	"Chat Controls": "Chat-kontroller",
 	"Chat direction": "Chat-retning",
-	"Chat History": "Chat-historikk",
-	"Chat History is off for this browser.": "Chat-historikk er av for denne nettleseren.",
 	"Chats": "Chatter",
 	"Check Again": "Sjekk igjen",
 	"Check for updates": "Sjekk for oppdateringer",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "Ikke installer funksjoner fra kilder du ikke fullt ut stoler på.",
 	"Do not install tools from sources you do not fully trust.": "Ikke installer verktøy fra kilder du ikke fullt ut stoler på.",
 	"Document": "Dokument",
-	"Document Settings": "Dokumentinnstillinger",
 	"Documentation": "Dokumentasjon",
 	"Documents": "Dokumenter",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "har ingen tilkobling til eksterne tjenester, og dataene dine blir værende sikkert på din lokale tjener.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Embedding-modell",
 	"Embedding Model Engine": "Embedding-modellmotor",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding-modell satt til \"{{embedding_model}}\"",
-	"Enable Chat History": "Aktiver chat-historikk",
 	"Enable Community Sharing": "Aktiver deling i fellesskap",
 	"Enable New Sign Ups": "Aktiver nye registreringer",
 	"Enable Web Search": "Aktiver websøk",
@@ -600,6 +596,7 @@
 	"Tell us more:": "Fortell oss mer:",
 	"Temperature": "Temperatur",
 	"Template": "Mal",
+	"Temporary Chat": "",
 	"Text Completion": "Tekstfullføring",
 	"Text-to-Speech Engine": "Tekst-til-tale-motor",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Denne handlingen kan ikke angres. Ønsker du å fortsette?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dette sikrer at dine verdifulle samtaler er trygt lagret i backend-databasen din. Takk!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Dette er en eksperimentell funksjon, det er mulig den ikke fungerer som forventet og kan endres når som helst.",
-	"This setting does not sync across browsers or devices.": "Denne innstillingen synkroniseres ikke mellom nettlesere eller enheter.",
 	"This will delete": "Dette vil slette",
 	"Thorough explanation": "Grundig forklaring",
 	"Tika": "Tika",
@@ -692,14 +688,12 @@
 	"Web": "Web",
 	"Web API": "Web-API",
 	"Web Loader Settings": "Web-lasterinnstillinger",
-	"Web Params": "Web-parametere",
 	"Web Search": "Websøk",
 	"Web Search Engine": "Websøkemotor",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "WebUI innstillinger",
 	"WebUI will make requests to": "WebUI vil gjøre forespørsler til",
 	"What’s New in": "Hva er nytt i",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Når historikken er slått av, vil nye chatter på denne nettleseren ikke vises i historikken din på noen av enhetene dine.",
 	"Whisper (Local)": "Whisper (Lokal)",
 	"Widescreen Mode": "Bredskjermmodus",
 	"Workspace": "Arbeidsområde",

+ 1 - 7
src/lib/i18n/locales/nl-NL/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Chat Bubble UI",
 	"Chat Controls": "",
 	"Chat direction": "Chat Richting",
-	"Chat History": "Chat Geschiedenis",
-	"Chat History is off for this browser.": "Chat Geschiedenis is uitgeschakeld voor deze browser.",
 	"Chats": "Chats",
 	"Check Again": "Controleer Opnieuw",
 	"Check for updates": "Controleer op updates",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Document",
-	"Document Settings": "Document Instellingen",
 	"Documentation": "",
 	"Documents": "Documenten",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "maakt geen externe verbindingen, en je gegevens blijven veilig op je lokaal gehoste server.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Embedding Model",
 	"Embedding Model Engine": "Embedding Model Engine",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model ingesteld op \"{{embedding_model}}\"",
-	"Enable Chat History": "Schakel Chat Geschiedenis in",
 	"Enable Community Sharing": "Delen via de community inschakelen",
 	"Enable New Sign Ups": "Schakel Nieuwe Registraties in",
 	"Enable Web Search": "Zoeken op het web inschakelen",
@@ -600,6 +596,7 @@
 	"Tell us more:": "Vertel ons meer:",
 	"Temperature": "Temperatuur",
 	"Template": "Template",
+	"Temporary Chat": "",
 	"Text Completion": "Tekst Aanvulling",
 	"Text-to-Speech Engine": "Tekst-naar-Spraak Engine",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dit zorgt ervoor dat je waardevolle gesprekken veilig worden opgeslagen in je backend database. Dank je wel!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "Deze instelling wordt niet gesynchroniseerd tussen browsers of apparaten.",
 	"This will delete": "",
 	"Thorough explanation": "Gevorderde uitleg",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "Web",
 	"Web API": "",
 	"Web Loader Settings": "Web Loader instellingen",
-	"Web Params": "Web Params",
 	"Web Search": "Zoeken op het web",
 	"Web Search Engine": "Zoekmachine op het web",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "WebUI Instellingen",
 	"WebUI will make requests to": "WebUI zal verzoeken doen naar",
 	"What’s New in": "Wat is nieuw in",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Wanneer geschiedenis is uitgeschakeld, zullen nieuwe chats op deze browser niet verschijnen in je geschiedenis op een van je apparaten.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "Werkruimte",

+ 1 - 7
src/lib/i18n/locales/pa-IN/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "ਗੱਲਬਾਤ ਬਬਲ UI",
 	"Chat Controls": "",
 	"Chat direction": "ਗੱਲਬਾਤ ਡਿਰੈਕਟਨ",
-	"Chat History": "ਗੱਲਬਾਤ ਦਾ ਇਤਿਹਾਸ",
-	"Chat History is off for this browser.": "ਇਸ ਬ੍ਰਾਊਜ਼ਰ ਲਈ ਗੱਲਬਾਤ ਦਾ ਇਤਿਹਾਸ ਬੰਦ ਹੈ।",
 	"Chats": "ਗੱਲਾਂ",
 	"Check Again": "ਮੁੜ ਜਾਂਚ ਕਰੋ",
 	"Check for updates": "ਅੱਪਡੇਟ ਲਈ ਜਾਂਚ ਕਰੋ",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "ਡਾਕੂਮੈਂਟ",
-	"Document Settings": "ਡਾਕੂਮੈਂਟ ਸੈਟਿੰਗਾਂ",
 	"Documentation": "",
 	"Documents": "ਡਾਕੂਮੈਂਟ",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "ਕੋਈ ਬਾਹਰੀ ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਬਣਾਉਂਦਾ, ਅਤੇ ਤੁਹਾਡਾ ਡਾਟਾ ਤੁਹਾਡੇ ਸਥਾਨਕ ਸਰਵਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਰਹਿੰਦਾ ਹੈ।",
@@ -222,7 +219,6 @@
 	"Embedding Model": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ",
 	"Embedding Model Engine": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਇੰਜਣ",
 	"Embedding model set to \"{{embedding_model}}\"": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਨੂੰ \"{{embedding_model}}\" 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ",
-	"Enable Chat History": "ਗੱਲਬਾਤ ਦਾ ਇਤਿਹਾਸ ਯੋਗ ਕਰੋ",
 	"Enable Community Sharing": "ਕਮਿਊਨਿਟੀ ਸ਼ੇਅਰਿੰਗ ਨੂੰ ਸਮਰੱਥ ਕਰੋ",
 	"Enable New Sign Ups": "ਨਵੇਂ ਸਾਈਨ ਅਪ ਯੋਗ ਕਰੋ",
 	"Enable Web Search": "ਵੈੱਬ ਖੋਜ ਨੂੰ ਸਮਰੱਥ ਕਰੋ",
@@ -600,6 +596,7 @@
 	"Tell us more:": "ਸਾਨੂੰ ਹੋਰ ਦੱਸੋ:",
 	"Temperature": "ਤਾਪਮਾਨ",
 	"Template": "ਟੈਮਪਲੇਟ",
+	"Temporary Chat": "",
 	"Text Completion": "ਪਾਠ ਪੂਰਨਤਾ",
 	"Text-to-Speech Engine": "ਪਾਠ-ਤੋਂ-ਬੋਲ ਇੰਜਣ",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀਆਂ ਕੀਮਤੀ ਗੱਲਾਂ ਤੁਹਾਡੇ ਬੈਕਐਂਡ ਡਾਟਾਬੇਸ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਤੌਰ 'ਤੇ ਸੰਭਾਲੀਆਂ ਗਈਆਂ ਹਨ। ਧੰਨਵਾਦ!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "ਇਹ ਸੈਟਿੰਗ ਬ੍ਰਾਊਜ਼ਰ ਜਾਂ ਡਿਵਾਈਸਾਂ ਵਿੱਚ ਸਿੰਕ ਨਹੀਂ ਹੁੰਦੀ।",
 	"This will delete": "",
 	"Thorough explanation": "ਵਿਸਥਾਰ ਨਾਲ ਵਿਆਖਿਆ",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "ਵੈਬ",
 	"Web API": "",
 	"Web Loader Settings": "ਵੈਬ ਲੋਡਰ ਸੈਟਿੰਗਾਂ",
-	"Web Params": "ਵੈਬ ਪੈਰਾਮੀਟਰ",
 	"Web Search": "ਵੈੱਬ ਖੋਜ",
 	"Web Search Engine": "ਵੈੱਬ ਖੋਜ ਇੰਜਣ",
 	"Webhook URL": "ਵੈਬਹੁੱਕ URL",
 	"WebUI Settings": "ਵੈਬਯੂਆਈ ਸੈਟਿੰਗਾਂ",
 	"WebUI will make requests to": "ਵੈਬਯੂਆਈ ਬੇਨਤੀਆਂ ਕਰੇਗਾ",
 	"What’s New in": "ਨਵਾਂ ਕੀ ਹੈ",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "ਜਦੋਂ ਇਤਿਹਾਸ ਬੰਦ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਸ ਬ੍ਰਾਊਜ਼ਰ 'ਤੇ ਨਵੀਆਂ ਗੱਲਾਂ ਤੁਹਾਡੇ ਕਿਸੇ ਵੀ ਜੰਤਰ 'ਤੇ ਤੁਹਾਡੇ ਇਤਿਹਾਸ ਵਿੱਚ ਨਹੀਂ ਆਉਣਗੀਆਂ।",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "ਕਾਰਜਸਥਲ",

+ 1 - 7
src/lib/i18n/locales/pl-PL/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Bąbelki czatu",
 	"Chat Controls": "",
 	"Chat direction": "Kierunek czatu",
-	"Chat History": "Historia czatu",
-	"Chat History is off for this browser.": "Historia czatu jest wyłączona dla tej przeglądarki.",
 	"Chats": "Czaty",
 	"Check Again": "Sprawdź ponownie",
 	"Check for updates": "Sprawdź aktualizacje",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Dokument",
-	"Document Settings": "Ustawienia dokumentu",
 	"Documentation": "",
 	"Documents": "Dokumenty",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "nie nawiązuje żadnych zewnętrznych połączeń, a Twoje dane pozostają bezpiecznie na Twoim lokalnie hostowanym serwerze.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Model osadzania",
 	"Embedding Model Engine": "Silnik modelu osadzania",
 	"Embedding model set to \"{{embedding_model}}\"": "Model osadzania ustawiono na \"{{embedding_model}}\"",
-	"Enable Chat History": "Włącz historię czatu",
 	"Enable Community Sharing": "Włączanie udostępniania społecznościowego",
 	"Enable New Sign Ups": "Włącz nowe rejestracje",
 	"Enable Web Search": "Włączanie wyszukiwania w Internecie",
@@ -602,6 +598,7 @@
 	"Tell us more:": "Powiedz nam więcej",
 	"Temperature": "Temperatura",
 	"Template": "Szablon",
+	"Temporary Chat": "",
 	"Text Completion": "Uzupełnienie tekstu",
 	"Text-to-Speech Engine": "Silnik tekstu na mowę",
 	"Tfs Z": "Tfs Z",
@@ -613,7 +610,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "To zapewnia, że Twoje cenne rozmowy są bezpiecznie zapisywane w bazie danych backendowej. Dziękujemy!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "To ustawienie nie synchronizuje się między przeglądarkami ani urządzeniami.",
 	"This will delete": "",
 	"Thorough explanation": "Dokładne wyjaśnienie",
 	"Tika": "",
@@ -694,14 +690,12 @@
 	"Web": "Sieć",
 	"Web API": "",
 	"Web Loader Settings": "Ustawienia pobierania z sieci",
-	"Web Params": "Parametry sieci",
 	"Web Search": "Wyszukiwarka w Internecie",
 	"Web Search Engine": "Wyszukiwarka internetowa",
 	"Webhook URL": "URL webhook",
 	"WebUI Settings": "Ustawienia interfejsu WebUI",
 	"WebUI will make requests to": "Interfejs sieciowy będzie wysyłał żądania do",
 	"What’s New in": "Co nowego w",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kiedy historia jest wyłączona, nowe czaty na tej przeglądarce nie będą widoczne w historii na żadnym z twoich urządzeń.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "Obszar roboczy",

+ 1 - 7
src/lib/i18n/locales/pt-BR/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Interface de Bolha de Chat",
 	"Chat Controls": "Controles de Chat",
 	"Chat direction": "Direção do Chat",
-	"Chat History": "Histórico de Chat",
-	"Chat History is off for this browser.": "O Histórico de Chat está desativado para este navegador.",
 	"Chats": "Chats",
 	"Check Again": "Verificar Novamente",
 	"Check for updates": "Verificar atualizações",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "Não instale funções de fontes que você não confia totalmente.",
 	"Do not install tools from sources you do not fully trust.": "Não instale ferramentas de fontes que você não confia totalmente.",
 	"Document": "Documento",
-	"Document Settings": "Configurações de Documento",
 	"Documentation": "Documentação",
 	"Documents": "Documentos",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "não faz nenhuma conexão externa, e seus dados permanecem seguros no seu servidor local.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model Engine": "Motor do Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de embedding definido para \"{{embedding_model}}\"",
-	"Enable Chat History": "Ativar Histórico de Chat",
 	"Enable Community Sharing": "Ativar Compartilhamento Comunitário",
 	"Enable New Sign Ups": "Ativar Novos Cadastros",
 	"Enable Web Search": "Ativar Pesquisa na Web",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Conte-nos mais:",
 	"Temperature": "Temperatura",
 	"Template": "Modelo",
+	"Temporary Chat": "",
 	"Text Completion": "Conclusão de Texto",
 	"Text-to-Speech Engine": "Motor de Texto para Fala",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Esta ação não pode ser desfeita. Você deseja continuar?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Isso garante que suas conversas valiosas sejam salvas com segurança no banco de dados do backend. Obrigado!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Esta é uma funcionalidade experimental, pode não funcionar como esperado e está sujeita a alterações a qualquer momento.",
-	"This setting does not sync across browsers or devices.": "Esta configuração não sincroniza entre navegadores ou dispositivos.",
 	"This will delete": "Isso vai excluir",
 	"Thorough explanation": "Explicação detalhada",
 	"Tika": "Tika",
@@ -693,14 +689,12 @@
 	"Web": "Web",
 	"Web API": "API Web",
 	"Web Loader Settings": "Configurações do Carregador Web",
-	"Web Params": "Parâmetros Web",
 	"Web Search": "Pesquisa na Web",
 	"Web Search Engine": "Mecanismo de Busca na Web",
 	"Webhook URL": "URL do Webhook",
 	"WebUI Settings": "Configurações da WebUI",
 	"WebUI will make requests to": "A WebUI fará solicitações para",
 	"What’s New in": "O que há de novo em",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Quando o histórico está desativado, novos chats neste navegador não aparecerão no seu histórico em nenhum dos seus dispositivos.",
 	"Whisper (Local)": "Whisper (Local)",
 	"Widescreen Mode": "Modo Tela Cheia",
 	"Workspace": "Espaço de Trabalho",

+ 1 - 7
src/lib/i18n/locales/pt-PT/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Bolha UI da Conversa",
 	"Chat Controls": "",
 	"Chat direction": "Direção da Conversa",
-	"Chat History": "Histórico da Conversa",
-	"Chat History is off for this browser.": "O histórico da conversa está desativado para este navegador.",
 	"Chats": "Conversas",
 	"Check Again": "Verifique novamente",
 	"Check for updates": "Verificar atualizações",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Documento",
-	"Document Settings": "Configurações de Documento",
 	"Documentation": "Documentação",
 	"Documents": "Documentos",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "não faz conexões externas e os seus dados permanecem seguros no seu servidor alojado localmente.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding definido como \"{{embedding_model}}\"",
-	"Enable Chat History": "Ativar Histórico de Conversas",
 	"Enable Community Sharing": "Active a Partilha da Comunidade",
 	"Enable New Sign Ups": "Ativar Novas Inscrições",
 	"Enable Web Search": "Ativar pesquisa na Web",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Diga-nos mais:",
 	"Temperature": "Temperatura",
 	"Template": "Modelo",
+	"Temporary Chat": "",
 	"Text Completion": "Conclusão de Texto",
 	"Text-to-Speech Engine": "Motor de Texto para Fala",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Isto garante que suas conversas valiosas sejam guardadas com segurança na sua base de dados de backend. Obrigado!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Isto é um recurso experimental, pode não funcionar conforme o esperado e está sujeito a alterações a qualquer momento.",
-	"This setting does not sync across browsers or devices.": "Esta configuração não sincroniza entre navegadores ou dispositivos.",
 	"This will delete": "",
 	"Thorough explanation": "Explicação Minuciosa",
 	"Tika": "",
@@ -693,14 +689,12 @@
 	"Web": "Web",
 	"Web API": "Web API",
 	"Web Loader Settings": "Configurações do Carregador da Web",
-	"Web Params": "Parâmetros da Web",
 	"Web Search": "Pesquisa na Web",
 	"Web Search Engine": "Motor de Pesquisa Web",
 	"Webhook URL": "URL do Webhook",
 	"WebUI Settings": "Configurações WebUI",
 	"WebUI will make requests to": "WebUI fará pedidos a",
 	"What’s New in": "O que há de novo em",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Quando o histórico está desativado, novas conversas neste navegador não aparecerão em seu histórico em nenhum dos seus dispositivos.",
 	"Whisper (Local)": "Whisper (Local)",
 	"Widescreen Mode": "Modo Widescreen",
 	"Workspace": "Espaço de Trabalho",

+ 1 - 7
src/lib/i18n/locales/ro-RO/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Interfață cu Bule de Conversație",
 	"Chat Controls": "Controale pentru Conversație",
 	"Chat direction": "Direcția conversației",
-	"Chat History": "Istoricul conversațiilor",
-	"Chat History is off for this browser.": "Istoricul conversațiilor este dezactivat pentru acest browser.",
 	"Chats": "Conversații",
 	"Check Again": "Verifică din Nou",
 	"Check for updates": "Verifică actualizări",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "Nu instalați funcții din surse în care nu aveți încredere completă.",
 	"Do not install tools from sources you do not fully trust.": "Nu instalați instrumente din surse în care nu aveți încredere completă.",
 	"Document": "Document",
-	"Document Settings": "Setări Document",
 	"Documentation": "Documentație",
 	"Documents": "Documente",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "nu face nicio conexiune externă, iar datele tale rămân în siguranță pe serverul găzduit local.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Model de Încapsulare",
 	"Embedding Model Engine": "Motor de Model de Încapsulare",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelul de încapsulare setat la \"{{embedding_model}}\"",
-	"Enable Chat History": "Activează Istoricul Conversațiilor",
 	"Enable Community Sharing": "Activează Partajarea Comunitară",
 	"Enable New Sign Ups": "Activează Înscrierile Noi",
 	"Enable Web Search": "Activează Căutarea pe Web",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Spune-ne mai multe:",
 	"Temperature": "Temperatură",
 	"Template": "Șablon",
+	"Temporary Chat": "",
 	"Text Completion": "Completare Text",
 	"Text-to-Speech Engine": "Motor de Conversie a Textului în Vorbire",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Această acțiune nu poate fi anulată. Doriți să continuați?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Acest lucru asigură că conversațiile dvs. valoroase sunt salvate în siguranță în baza de date a backend-ului dvs. Mulțumim!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Aceasta este o funcție experimentală, poate să nu funcționeze așa cum vă așteptați și este supusă schimbării în orice moment.",
-	"This setting does not sync across browsers or devices.": "Această setare nu se sincronizează între browsere sau dispozitive.",
 	"This will delete": "Aceasta va șterge",
 	"Thorough explanation": "Explicație detaliată",
 	"Tika": "Tika",
@@ -693,14 +689,12 @@
 	"Web": "Web",
 	"Web API": "API Web",
 	"Web Loader Settings": "Setări Încărcător Web",
-	"Web Params": "Parametri Web",
 	"Web Search": "Căutare Web",
 	"Web Search Engine": "Motor de Căutare Web",
 	"Webhook URL": "URL Webhook",
 	"WebUI Settings": "Setări WebUI",
 	"WebUI will make requests to": "WebUI va face cereri către",
 	"What’s New in": "Ce e Nou în",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Când istoricul este dezactivat, conversațiile noi din acest browser nu vor apărea în istoricul dvs. pe niciunul dintre dispozitivele dvs.",
 	"Whisper (Local)": "Whisper (Local)",
 	"Widescreen Mode": "Mod Ecran Larg",
 	"Workspace": "Spațiu de Lucru",

+ 1 - 7
src/lib/i18n/locales/ru-RU/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Bubble UI чат",
 	"Chat Controls": "",
 	"Chat direction": "Направление чат",
-	"Chat History": "История чат",
-	"Chat History is off for this browser.": "История чат отключен для этого браузера.",
 	"Chats": "Чаты",
 	"Check Again": "Перепроверять",
 	"Check for updates": "Проверить обновления",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Документ",
-	"Document Settings": "Настройки документа",
 	"Documentation": "",
 	"Documents": "Документы",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "не устанавливает никаких внешних соединений, и ваши данные остаются безопасно на вашем локальном сервере.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Модель эмбеддинга",
 	"Embedding Model Engine": "Модель эмбеддинга",
 	"Embedding model set to \"{{embedding_model}}\"": "Эмбеддинг-модель установлена в \"{{embedding_model}}\"",
-	"Enable Chat History": "Включить историю чата",
 	"Enable Community Sharing": "Включить общий доступ к сообществу",
 	"Enable New Sign Ups": "Разрешить новые регистрации",
 	"Enable Web Search": "Включить поиск в Интернете",
@@ -602,6 +598,7 @@
 	"Tell us more:": "Пожалуйста, расскажите нам больше:",
 	"Temperature": "Температура",
 	"Template": "Шаблон",
+	"Temporary Chat": "",
 	"Text Completion": "Завершение текста",
 	"Text-to-Speech Engine": "Система синтеза речи",
 	"Tfs Z": "Tfs Z",
@@ -613,7 +610,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Это обеспечивает сохранение ваших ценных разговоров в безопасной базе данных на вашем сервере. Спасибо!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "Эта настройка не синхронизируется между браузерами или устройствами.",
 	"This will delete": "",
 	"Thorough explanation": "Повнимательнее",
 	"Tika": "",
@@ -694,14 +690,12 @@
 	"Web": "Веб",
 	"Web API": "",
 	"Web Loader Settings": "Настройки загрузчика Web",
-	"Web Params": "Параметры Web",
 	"Web Search": "Веб-поиск",
 	"Web Search Engine": "Поисковая система",
 	"Webhook URL": "URL-адрес веб-хука",
 	"WebUI Settings": "Настройки WebUI",
 	"WebUI will make requests to": "WebUI будет отправлять запросы на",
 	"What’s New in": "Что нового в",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Когда история отключена, новые чаты в этом браузере не будут отображаться в вашей истории на любом из ваших устройств.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "Рабочая область",

+ 1 - 7
src/lib/i18n/locales/sr-RS/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Интерфејс балона ћаскања",
 	"Chat Controls": "",
 	"Chat direction": "Смер ћаскања",
-	"Chat History": "Историја ћаскања",
-	"Chat History is off for this browser.": "Историја ћаскања је искључена за овај прегледач.",
 	"Chats": "Ћаскања",
 	"Check Again": "Провери поново",
 	"Check for updates": "Потражи ажурирања",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Документ",
-	"Document Settings": "Подешавања документа",
 	"Documentation": "",
 	"Documents": "Документи",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "не отвара никакве спољне везе и ваши подаци остају сигурно на вашем локално хостованом серверу.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Модел уградње",
 	"Embedding Model Engine": "Мотор модела уградње",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел уградње подешен на \"{{embedding_model}}\"",
-	"Enable Chat History": "Омогући историју ћаскања",
 	"Enable Community Sharing": "Омогући дељење заједнице",
 	"Enable New Sign Ups": "Омогући нове пријаве",
 	"Enable Web Search": "Омогући Wеб претрагу",
@@ -601,6 +597,7 @@
 	"Tell us more:": "Реците нам више:",
 	"Temperature": "Температура",
 	"Template": "Шаблон",
+	"Temporary Chat": "",
 	"Text Completion": "Допуна текста",
 	"Text-to-Speech Engine": "Мотор за текст у говор",
 	"Tfs Z": "Tfs Z",
@@ -612,7 +609,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ово осигурава да су ваши вредни разговори безбедно сачувани у вашој бекенд бази података. Хвала вам!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "Ово подешавање се не усклађује преко прегледача или уређаја.",
 	"This will delete": "",
 	"Thorough explanation": "Детаљно објашњење",
 	"Tika": "",
@@ -693,14 +689,12 @@
 	"Web": "Веб",
 	"Web API": "",
 	"Web Loader Settings": "Подешавања веб учитавача",
-	"Web Params": "Веб параметри",
 	"Web Search": "Wеб претрага",
 	"Web Search Engine": "Wеб претраживач",
 	"Webhook URL": "Адреса веб-куке",
 	"WebUI Settings": "Подешавања веб интерфејса",
 	"WebUI will make requests to": "Веб интерфејс ће слати захтеве на",
 	"What’s New in": "Шта је ново у",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Када је историја искључена, нова ћаскања у овом прегледачу неће се појавити у вашој историји на било ком вашем уређају.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "Радни простор",

+ 1 - 7
src/lib/i18n/locales/sv-SE/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Chatbubblar UI",
 	"Chat Controls": "",
 	"Chat direction": "Chattriktning",
-	"Chat History": "Chatthistorik",
-	"Chat History is off for this browser.": "Chatthistoriken är avstängd för denna webbläsare.",
 	"Chats": "Chattar",
 	"Check Again": "Kontrollera igen",
 	"Check for updates": "Sök efter uppdateringar",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Dokument",
-	"Document Settings": "Dokumentinställningar",
 	"Documentation": "Dokumentation",
 	"Documents": "Dokument",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "gör inga externa anslutningar, och dina data förblir säkra på din lokalt värdade server.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Inbäddningsmodell",
 	"Embedding Model Engine": "Motor för inbäddningsmodell",
 	"Embedding model set to \"{{embedding_model}}\"": "Inbäddningsmodell inställd på \"{{embedding_model}}\"",
-	"Enable Chat History": "Aktivera chatthistorik",
 	"Enable Community Sharing": "Aktivera community-delning",
 	"Enable New Sign Ups": "Aktivera nya registreringar",
 	"Enable Web Search": "Aktivera webbsökning",
@@ -600,6 +596,7 @@
 	"Tell us more:": "Berätta mer:",
 	"Temperature": "Temperatur",
 	"Template": "Mall",
+	"Temporary Chat": "",
 	"Text Completion": "Textslutförande",
 	"Text-to-Speech Engine": "Text-till-tal-motor",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Detta säkerställer att dina värdefulla samtal sparas säkert till din backend-databas. Tack!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Detta är en experimentell funktion som kanske inte fungerar som förväntat och som kan komma att ändras när som helst.",
-	"This setting does not sync across browsers or devices.": "Denna inställning synkroniseras inte mellan webbläsare eller enheter.",
 	"This will delete": "",
 	"Thorough explanation": "Djupare förklaring",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "Webb",
 	"Web API": "Webb-API",
 	"Web Loader Settings": "Web Loader-inställningar",
-	"Web Params": "Web-parametrar",
 	"Web Search": "Webbsökning",
 	"Web Search Engine": "Webbsökmotor",
 	"Webhook URL": "Webhook-URL",
 	"WebUI Settings": "WebUI-inställningar",
 	"WebUI will make requests to": "WebUI kommer att skicka förfrågningar till",
 	"What’s New in": "Vad är nytt i",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "När historiken är avstängd visas inte nya chattar i denna webbläsare i din historik på någon av dina enheter.",
 	"Whisper (Local)": "Whisper (lokal)",
 	"Widescreen Mode": "Bredbildsläge",
 	"Workspace": "Arbetsyta",

+ 1 - 7
src/lib/i18n/locales/th-TH/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "UI ฟองแชท",
 	"Chat Controls": "การควบคุมแชท",
 	"Chat direction": "ทิศทางการแชท",
-	"Chat History": "ประวัติการแชท",
-	"Chat History is off for this browser.": "ประวัติการแชทปิดอยู่สำหรับเบราว์เซอร์นี้",
 	"Chats": "แชท",
 	"Check Again": "ตรวจสอบอีกครั้ง",
 	"Check for updates": "ตรวจสอบการอัปเดต",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "อย่าติดตั้งฟังก์ชันจากแหล่งที่คุณไม่ไว้วางใจอย่างเต็มที่",
 	"Do not install tools from sources you do not fully trust.": "อย่าติดตั้งเครื่องมือจากแหล่งที่คุณไม่ไว้วางใจอย่างเต็มที่",
 	"Document": "เอกสาร",
-	"Document Settings": "การตั้งค่าเอกสาร",
 	"Documentation": "เอกสารประกอบ",
 	"Documents": "เอกสาร",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "ไม่เชื่อมต่อภายนอกใดๆ และข้อมูลของคุณจะอยู่บนเซิร์ฟเวอร์ที่โฮสต์ในท้องถิ่นของคุณอย่างปลอดภัย",
@@ -222,7 +219,6 @@
 	"Embedding Model": "โมเดลการฝัง",
 	"Embedding Model Engine": "เครื่องยนต์โมเดลการฝัง",
 	"Embedding model set to \"{{embedding_model}}\"": "ตั้งค่าโมเดลการฝังเป็น \"{{embedding_model}}\"",
-	"Enable Chat History": "เปิดใช้งานประวัติการแชท",
 	"Enable Community Sharing": "เปิดใช้งานการแชร์ในชุมชน",
 	"Enable New Sign Ups": "เปิดใช้งานการสมัครใหม่",
 	"Enable Web Search": "เปิดใช้งานการค้นหาเว็บ",
@@ -600,6 +596,7 @@
 	"Tell us more:": "บอกเรามากขึ้น:",
 	"Temperature": "อุณหภูมิ",
 	"Template": "แม่แบบ",
+	"Temporary Chat": "",
 	"Text Completion": "การเติมข้อความ",
 	"Text-to-Speech Engine": "เครื่องมือแปลงข้อความเป็นเสียง",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "การกระทำนี้ไม่สามารถย้อนกลับได้ คุณต้องการดำเนินการต่อหรือไม่?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "สิ่งนี้ทำให้มั่นใจได้ว่าการสนทนาที่มีค่าของคุณจะถูกบันทึกอย่างปลอดภัยในฐานข้อมูลแบ็กเอนด์ของคุณ ขอบคุณ!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "นี่เป็นฟีเจอร์ทดลอง อาจไม่ทำงานตามที่คาดไว้และอาจมีการเปลี่ยนแปลงได้ตลอดเวลา",
-	"This setting does not sync across browsers or devices.": "การตั้งค่านี้ไม่ซิงค์ข้ามเบราว์เซอร์หรืออุปกรณ์",
 	"This will delete": "สิ่งนี้จะลบ",
 	"Thorough explanation": "คำอธิบายอย่างละเอียด",
 	"Tika": "Tika",
@@ -692,14 +688,12 @@
 	"Web": "เว็บ",
 	"Web API": "เว็บ API",
 	"Web Loader Settings": "การตั้งค่าเว็บโหลดเดอร์",
-	"Web Params": "พารามิเตอร์เว็บ",
 	"Web Search": "การค้นหาเว็บ",
 	"Web Search Engine": "เครื่องมือค้นหาเว็บ",
 	"Webhook URL": "URL ของ Webhook",
 	"WebUI Settings": "การตั้งค่า WebUI",
 	"WebUI will make requests to": "WebUI จะทำการร้องขอไปที่",
 	"What’s New in": "มีอะไรใหม่ใน",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "เมื่อปิดประวัติการใช้งาน แชทใหม่ในเบราว์เซอร์นี้จะไม่ปรากฏในประวัติของคุณในอุปกรณ์ใด ๆ",
 	"Whisper (Local)": "Whisper (โลคอล)",
 	"Widescreen Mode": "โหมดหน้าจอกว้าง",
 	"Workspace": "พื้นที่ทำงาน",

+ 1 - 7
src/lib/i18n/locales/tk-TW/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "",
 	"Chat Controls": "",
 	"Chat direction": "",
-	"Chat History": "",
-	"Chat History is off for this browser.": "",
 	"Chats": "",
 	"Check Again": "",
 	"Check for updates": "",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "",
-	"Document Settings": "",
 	"Documentation": "",
 	"Documents": "",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "",
@@ -222,7 +219,6 @@
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable Chat History": "",
 	"Enable Community Sharing": "",
 	"Enable New Sign Ups": "",
 	"Enable Web Search": "",
@@ -600,6 +596,7 @@
 	"Tell us more:": "",
 	"Temperature": "",
 	"Template": "",
+	"Temporary Chat": "",
 	"Text Completion": "",
 	"Text-to-Speech Engine": "",
 	"Tfs Z": "",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "",
-	"This setting does not sync across browsers or devices.": "",
 	"This will delete": "",
 	"Thorough explanation": "",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "",
 	"Web API": "",
 	"Web Loader Settings": "",
-	"Web Params": "",
 	"Web Search": "",
 	"Web Search Engine": "",
 	"Webhook URL": "",
 	"WebUI Settings": "",
 	"WebUI will make requests to": "",
 	"What’s New in": "",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "",
 	"Workspace": "",

+ 1 - 7
src/lib/i18n/locales/tr-TR/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Sohbet Balonu UI",
 	"Chat Controls": "",
 	"Chat direction": "Sohbet Yönü",
-	"Chat History": "Sohbet Geçmişi",
-	"Chat History is off for this browser.": "Bu tarayıcı için sohbet geçmişi kapalı.",
 	"Chats": "Sohbetler",
 	"Check Again": "Tekrar Kontrol Et",
 	"Check for updates": "Güncellemeleri kontrol et",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "",
 	"Do not install tools from sources you do not fully trust.": "",
 	"Document": "Belge",
-	"Document Settings": "Belge Ayarları",
 	"Documentation": "Dökümantasyon",
 	"Documents": "Belgeler",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "herhangi bir harici bağlantı yapmaz ve verileriniz güvenli bir şekilde yerel olarak barındırılan sunucunuzda kalır.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Gömme Modeli",
 	"Embedding Model Engine": "Gömme Modeli Motoru",
 	"Embedding model set to \"{{embedding_model}}\"": "Gömme modeli \"{{embedding_model}}\" olarak ayarlandı",
-	"Enable Chat History": "Sohbet Geçmişini Etkinleştir",
 	"Enable Community Sharing": "Topluluk Paylaşımını Etkinleştir",
 	"Enable New Sign Ups": "Yeni Kayıtları Etkinleştir",
 	"Enable Web Search": "Web Aramasını Etkinleştir",
@@ -600,6 +596,7 @@
 	"Tell us more:": "Bize daha fazlasını anlat:",
 	"Temperature": "Temperature",
 	"Template": "Şablon",
+	"Temporary Chat": "",
 	"Text Completion": "Metin Tamamlama",
 	"Text-to-Speech Engine": "Metinden Sese Motoru",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Bu eylem geri alınamaz. Devam etmek istiyor musunuz?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Bu, önemli konuşmalarınızın güvenli bir şekilde arkayüz veritabanınıza kaydedildiğini garantiler. Teşekkür ederiz!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Bu deneysel bir özelliktir, beklendiği gibi çalışmayabilir ve her an değişiklik yapılabilir.",
-	"This setting does not sync across browsers or devices.": "Bu ayar tarayıcılar veya cihazlar arasında senkronize edilmez.",
 	"This will delete": "Bu silinecek",
 	"Thorough explanation": "Kapsamlı açıklama",
 	"Tika": "",
@@ -692,14 +688,12 @@
 	"Web": "Web",
 	"Web API": "Web API",
 	"Web Loader Settings": "Web Yükleyici Ayarları",
-	"Web Params": "Web Parametreleri",
 	"Web Search": "Web Araması",
 	"Web Search Engine": "Web Arama Motoru",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "WebUI Ayarları",
 	"WebUI will make requests to": "WebUI, isteklerde bulunacak:",
 	"What’s New in": "Yenilikler:",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Geçmiş kapatıldığında, bu tarayıcıdaki yeni sohbetler hiçbir cihazınızdaki geçmişinizde görünmez.",
 	"Whisper (Local)": "Whisper (Yerel)",
 	"Widescreen Mode": "Geniş Ekran Modu",
 	"Workspace": "Çalışma Alanı",

+ 1 - 7
src/lib/i18n/locales/uk-UA/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Чат у вигляді бульбашок",
 	"Chat Controls": "Керування чатом",
 	"Chat direction": "Напрям чату",
-	"Chat History": "Історія чату",
-	"Chat History is off for this browser.": "Історія чату вимкнена для цього браузера.",
 	"Chats": "Чати",
 	"Check Again": "Перевірити ще раз",
 	"Check for updates": "Перевірити оновлення",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "Не встановлюйте функції з джерел, яким ви не повністю довіряєте.",
 	"Do not install tools from sources you do not fully trust.": "Не встановлюйте інструменти з джерел, яким ви не повністю довіряєте.",
 	"Document": "Документ",
-	"Document Settings": "Налаштування документа",
 	"Documentation": "Документація",
 	"Documents": "Документи",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "не встановлює жодних зовнішніх з'єднань, і ваші дані залишаються в безпеці на вашому локальному сервері.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Модель вбудовування",
 	"Embedding Model Engine": "Рушій моделі вбудовування ",
 	"Embedding model set to \"{{embedding_model}}\"": "Встановлена модель вбудовування \"{{embedding_model}}\"",
-	"Enable Chat History": "Увімкнути історію чату",
 	"Enable Community Sharing": "Увімкнути спільний доступ",
 	"Enable New Sign Ups": "Дозволити нові реєстрації",
 	"Enable Web Search": "Увімкнути веб-пошук",
@@ -602,6 +598,7 @@
 	"Tell us more:": "Розкажи нам більше:",
 	"Temperature": "Температура",
 	"Template": "Шаблон",
+	"Temporary Chat": "",
 	"Text Completion": "Завершення тексту",
 	"Text-to-Speech Engine": "Система синтезу мови",
 	"Tfs Z": "Tfs Z",
@@ -613,7 +610,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Цю дію не можна скасувати. Ви бажаєте продовжити?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Це забезпечує збереження ваших цінних розмов у безпечному бекенд-сховищі. Дякуємо!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Це експериментальна функція, вона може працювати не так, як очікувалося, і може бути змінена в будь-який час.",
-	"This setting does not sync across browsers or devices.": "Це налаштування не синхронізується між браузерами або пристроями.",
 	"This will delete": "Це призведе до видалення",
 	"Thorough explanation": "Детальне пояснення",
 	"Tika": "Tika",
@@ -694,14 +690,12 @@
 	"Web": "Веб",
 	"Web API": "Веб-API",
 	"Web Loader Settings": "Налаштування веб-завантажувача",
-	"Web Params": "Налаштування веб-завантажувача",
 	"Web Search": "Веб-пошук",
 	"Web Search Engine": "Веб-пошукова система",
 	"Webhook URL": "URL веб-запиту",
 	"WebUI Settings": "Налаштування WebUI",
 	"WebUI will make requests to": "WebUI буде робити запити до",
 	"What’s New in": "Що нового в",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Коли історія вимкнена, нові чати в цьому браузері не будуть відображатися в історії на жодному з ваших пристроїв.",
 	"Whisper (Local)": "Whisper (Локально)",
 	"Widescreen Mode": "Широкоекранний режим",
 	"Workspace": "Робочий простір",

+ 1 - 7
src/lib/i18n/locales/vi-VN/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "Bảng chat",
 	"Chat Controls": "",
 	"Chat direction": "Hướng chat",
-	"Chat History": "Lịch sử chat",
-	"Chat History is off for this browser.": "Lịch sử chat đã tắt cho trình duyệt này.",
 	"Chats": "Chat",
 	"Check Again": "Kiểm tra Lại",
 	"Check for updates": "Kiểm tra cập nhật",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "Không cài đặt các functions từ các nguồn mà bạn không hoàn toàn tin tưởng.",
 	"Do not install tools from sources you do not fully trust.": "Không cài đặt các tools từ những nguồn mà bạn không hoàn toàn tin tưởng.",
 	"Document": "Tài liệu",
-	"Document Settings": "Cấu hình kho tài liệu",
 	"Documentation": "Tài liệu",
 	"Documents": "Tài liệu",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "không thực hiện bất kỳ kết nối ngoài nào, và dữ liệu của bạn vẫn được lưu trữ an toàn trên máy chủ lưu trữ cục bộ của bạn.",
@@ -222,7 +219,6 @@
 	"Embedding Model": "Mô hình embedding",
 	"Embedding Model Engine": "Trình xử lý embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Mô hình embedding đã được thiết lập thành \"{{embedding_model}}\"",
-	"Enable Chat History": "Bật Lịch sử chat",
 	"Enable Community Sharing": "Kích hoạt Chia sẻ Cộng đồng",
 	"Enable New Sign Ups": "Cho phép đăng ký mới",
 	"Enable Web Search": "Kích hoạt tìm kiếm Web",
@@ -599,6 +595,7 @@
 	"Tell us more:": "Hãy cho chúng tôi hiểu thêm về chất lượng của câu trả lời:",
 	"Temperature": "Mức độ sáng tạo",
 	"Template": "Mẫu",
+	"Temporary Chat": "",
 	"Text Completion": "Hoàn tất Văn bản",
 	"Text-to-Speech Engine": "Công cụ Chuyển Văn bản thành Giọng nói",
 	"Tfs Z": "Tfs Z",
@@ -610,7 +607,6 @@
 	"This action cannot be undone. Do you wish to continue?": "Hành động này không thể được hoàn tác. Bạn có muốn tiếp tục không?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Điều này đảm bảo rằng các nội dung chat có giá trị của bạn được lưu an toàn vào cơ sở dữ liệu backend của bạn. Cảm ơn bạn!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "Đây là tính năng thử nghiệm, có thể không hoạt động như mong đợi và có thể thay đổi bất kỳ lúc nào.",
-	"This setting does not sync across browsers or devices.": "Cài đặt này không đồng bộ hóa trên các trình duyệt hoặc thiết bị.",
 	"This will delete": "Chat này sẽ bị xóa",
 	"Thorough explanation": "Giải thích kỹ lưỡng",
 	"Tika": "",
@@ -691,14 +687,12 @@
 	"Web": "Web",
 	"Web API": "",
 	"Web Loader Settings": "Cài đặt Web Loader",
-	"Web Params": "Web Params",
 	"Web Search": "Tìm kiếm Web",
 	"Web Search Engine": "Chức năng Tìm kiếm Web",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "Cài đặt WebUI",
 	"WebUI will make requests to": "WebUI sẽ thực hiện các yêu cầu đến",
 	"What’s New in": "Thông tin mới về",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Khi chế độ lịch sử chat đã tắt, các nội dung chat mới trên trình duyệt này sẽ không xuất hiện trên bất kỳ thiết bị nào của bạn.",
 	"Whisper (Local)": "",
 	"Widescreen Mode": "Chế độ màn hình rộng",
 	"Workspace": "Workspace",

+ 1 - 7
src/lib/i18n/locales/zh-CN/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "气泡样式对话",
 	"Chat Controls": "对话高级设置",
 	"Chat direction": "对话样式方向",
-	"Chat History": "对话历史记录",
-	"Chat History is off for this browser.": "此浏览器已关闭对话历史记录功能。",
 	"Chats": "对话",
 	"Check Again": "刷新重试",
 	"Check for updates": "检查更新",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "切勿安装来源不完全可信的函数。",
 	"Do not install tools from sources you do not fully trust.": "切勿安装来源不完全可信的工具。",
 	"Document": "文档",
-	"Document Settings": "文档设置",
 	"Documentation": "帮助文档",
 	"Documents": "文档",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "不会与外部建立任何连接,您的数据会安全地存储在本地托管的服务器上。",
@@ -222,7 +219,6 @@
 	"Embedding Model": "语义向量模型",
 	"Embedding Model Engine": "语义向量模型引擎",
 	"Embedding model set to \"{{embedding_model}}\"": "语义向量模型设置为 \"{{embedding_model}}\"",
-	"Enable Chat History": "启用对话历史记录",
 	"Enable Community Sharing": "启用分享至社区",
 	"Enable New Sign Ups": "允许新用户注册",
 	"Enable Web Search": "启用网络搜索",
@@ -599,6 +595,7 @@
 	"Tell us more:": "请告诉我们更多细节",
 	"Temperature": "温度 (Temperature)",
 	"Template": "模板",
+	"Temporary Chat": "",
 	"Text Completion": "文本完成",
 	"Text-to-Speech Engine": "文本转语音引擎",
 	"Tfs Z": "Tfs Z",
@@ -610,7 +607,6 @@
 	"This action cannot be undone. Do you wish to continue?": "此操作无法撤销。是否确认继续?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "这将确保您的宝贵对话被安全地保存到后台数据库中。感谢!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "这是一个实验功能,可能不会如预期那样工作,而且可能随时发生变化。",
-	"This setting does not sync across browsers or devices.": "此设置不会在浏览器或设备之间同步。",
 	"This will delete": "这将删除",
 	"Thorough explanation": "解释较为详细",
 	"Tika": "Tika",
@@ -691,14 +687,12 @@
 	"Web": "网页",
 	"Web API": "网页 API",
 	"Web Loader Settings": "网页爬取设置",
-	"Web Params": "网络爬取设置",
 	"Web Search": "网络搜索",
 	"Web Search Engine": "网络搜索引擎",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "WebUI 设置",
 	"WebUI will make requests to": "WebUI 将请求",
 	"What’s New in": "最近更新内容于",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "当关闭历史记录功能时,在此浏览器上新的对话记录将不会同步到您其他设备的历史记录中。",
 	"Whisper (Local)": "Whisper (本地)",
 	"Widescreen Mode": "宽屏模式",
 	"Workspace": "工作空间",

+ 1 - 7
src/lib/i18n/locales/zh-TW/translation.json

@@ -92,8 +92,6 @@
 	"Chat Bubble UI": "對話氣泡介面",
 	"Chat Controls": "對話控制項",
 	"Chat direction": "對話方向",
-	"Chat History": "對話紀錄",
-	"Chat History is off for this browser.": "此瀏覽器已關閉對話紀錄。",
 	"Chats": "對話",
 	"Check Again": "再次檢查",
 	"Check for updates": "檢查更新",
@@ -197,7 +195,6 @@
 	"Do not install functions from sources you do not fully trust.": "請勿從您無法完全信任的來源安裝函式。",
 	"Do not install tools from sources you do not fully trust.": "請勿從您無法完全信任的來源安裝工具。",
 	"Document": "文件",
-	"Document Settings": "文件設定",
 	"Documentation": "文件",
 	"Documents": "文件",
 	"does not make any external connections, and your data stays securely on your locally hosted server.": "不會建立任何外部連線,而且您的資料會安全地儲存在您本機伺服器上。",
@@ -222,7 +219,6 @@
 	"Embedding Model": "嵌入模型",
 	"Embedding Model Engine": "嵌入模型引擎",
 	"Embedding model set to \"{{embedding_model}}\"": "嵌入模型已設定為 \"{{embedding_model}}\"",
-	"Enable Chat History": "啟用對話紀錄",
 	"Enable Community Sharing": "啟用社群分享",
 	"Enable New Sign Ups": "允許新使用者註冊",
 	"Enable Web Search": "啟用網頁搜尋",
@@ -600,6 +596,7 @@
 	"Tell us more:": "告訴我們更多:",
 	"Temperature": "溫度",
 	"Template": "範本",
+	"Temporary Chat": "",
 	"Text Completion": "文字補全",
 	"Text-to-Speech Engine": "文字轉語音 (TTS) 引擎",
 	"Tfs Z": "Tfs Z",
@@ -611,7 +608,6 @@
 	"This action cannot be undone. Do you wish to continue?": "此操作無法復原。您確定要繼續進行嗎?",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "這確保您寶貴的對話會安全地儲存到您的後端資料庫。謝謝!",
 	"This is an experimental feature, it may not function as expected and is subject to change at any time.": "這是一個實驗性功能,它有可能無法按預期運作,並且可能會隨時變更。",
-	"This setting does not sync across browsers or devices.": "此設定不會在瀏覽器或裝置間同步。",
 	"This will delete": "這將會刪除",
 	"Thorough explanation": "詳細解釋",
 	"Tika": "Tika",
@@ -692,14 +688,12 @@
 	"Web": "網頁",
 	"Web API": "網頁 API",
 	"Web Loader Settings": "網頁載入器設定",
-	"Web Params": "網頁參數",
 	"Web Search": "網頁搜尋",
 	"Web Search Engine": "網頁搜尋引擎",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "WebUI 設定",
 	"WebUI will make requests to": "WebUI 將會對以下網址發出請求",
 	"What’s New in": "新功能",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "當歷史記錄關閉時,此瀏覽器上的新對話將不會出現在您任何裝置的歷史記錄中。",
 	"Whisper (Local)": "Whisper(本地)",
 	"Widescreen Mode": "寬螢幕模式",
 	"Workspace": "工作區",

+ 1 - 1
src/lib/stores/index.ts

@@ -42,6 +42,7 @@ export const showArchivedChats = writable(false);
 export const showChangelog = writable(false);
 export const showCallOverlay = writable(false);
 
+export const temporaryChatEnabled = writable(false);
 export const scrollPaginationEnabled = writable(false);
 export const currentChatPage = writable(1);
 
@@ -83,7 +84,6 @@ type Settings = {
 	responseAutoPlayback?: boolean;
 	audio?: AudioSettings;
 	showUsername?: boolean;
-	saveChatHistory?: boolean;
 	notificationEnabled?: boolean;
 	title?: TitleSettings;
 	splitLargeDeltas?: boolean;

+ 17 - 34
src/lib/utils/index.ts

@@ -23,39 +23,6 @@ const convertLatexToSingleLine = (content) => {
 	return content;
 };
 
-export const sanitizeResponseContent = (content: string) => {
-	// replace single backslash with double backslash
-	content = content.replace(/\\\\/g, '\\\\\\\\');
-
-	content = convertLatexToSingleLine(content);
-
-	// First, temporarily replace valid <video> tags with a placeholder
-	const videoTagRegex = /<video\s+src="([^"]+)"\s+controls><\/video>/gi;
-	const placeholders: string[] = [];
-	content = content.replace(videoTagRegex, (_, src) => {
-		const placeholder = `{{VIDEO_${placeholders.length}}}`;
-		placeholders.push(`<video src="${src}" controls></video>`);
-		return placeholder;
-	});
-
-	// Now apply the sanitization to the rest of the content
-	content = content
-		.replace(/<\|[a-z]*$/, '')
-		.replace(/<\|[a-z]+\|$/, '')
-		.replace(/<$/, '')
-		.replaceAll(/<\|[a-z]+\|>/g, ' ')
-		.replaceAll('<', '&lt;')
-		.replaceAll('>', '&gt;')
-		.trim();
-
-	// Replace placeholders with original <video> tags
-	placeholders.forEach((placeholder, index) => {
-		content = content.replace(`{{VIDEO_${index}}}`, placeholder);
-	});
-
-	return content.trim();
-};
-
 export const replaceTokens = (content, char, user) => {
 	const charToken = /{{char}}/gi;
 	const userToken = /{{user}}/gi;
@@ -87,8 +54,24 @@ export const replaceTokens = (content, char, user) => {
 	return content;
 };
 
+export const sanitizeResponseContent = (content: string) => {
+	return content
+		.replace(/<\|[a-z]*$/, '')
+		.replace(/<\|[a-z]+\|$/, '')
+		.replace(/<$/, '')
+		.replaceAll(/<\|[a-z]+\|>/g, ' ')
+		.replaceAll('<', '&lt;')
+		.replaceAll('>', '&gt;')
+		.trim();
+};
+
+export const processResponseContent = (content: string) => {
+	content = convertLatexToSingleLine(content);
+	return content.trim();
+};
+
 export const revertSanitizedResponseContent = (content: string) => {
-	return content.replaceAll('&lt;', '<').replaceAll('&gt;', '>').replaceAll('\\\\', '\\');
+	return content.replaceAll('&lt;', '<').replaceAll('&gt;', '>');
 };
 
 export function unescapeHtml(html: string) {