Timothy J. Baek преди 11 месеца
родител
ревизия
78b279cabc
променени са 2 файла, в които са добавени 17 реда и са изтрити 18 реда
  1. 14 15
      src/lib/components/chat/Chat.svelte
  2. 3 3
      src/lib/components/chat/Messages/ResponseMessage.svelte

+ 14 - 15
src/lib/components/chat/Chat.svelte

@@ -680,8 +680,10 @@
 									responseMessage.done = true;
 									responseMessage.done = true;
 
 
 									if (responseMessage.content == '') {
 									if (responseMessage.content == '') {
-										responseMessage.error = true;
-										responseMessage.errorContent = 'Oops! No text generated from Ollama, Please try again.';
+										responseMessage.error = {
+											code: 400,
+											content: `Oops! No text generated from Ollama, Please try again.`
+										};
 									}
 									}
 
 
 									responseMessage.context = data.context ?? null;
 									responseMessage.context = data.context ?? null;
@@ -753,24 +755,21 @@
 				console.log(error);
 				console.log(error);
 				if ('detail' in error) {
 				if ('detail' in error) {
 					toast.error(error.detail);
 					toast.error(error.detail);
-					responseMessage.errorContent = error.detail;
+					responseMessage.error = { content: error.detail };
 				} else {
 				} else {
 					toast.error(error.error);
 					toast.error(error.error);
-					responseMessage.errorContent = error.error;
+					responseMessage.error = { content: error.error };
 				}
 				}
 			} else {
 			} else {
 				toast.error(
 				toast.error(
 					$i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, { provider: 'Ollama' })
 					$i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, { provider: 'Ollama' })
 				);
 				);
-				responseMessage.errorContent = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
-					provider: 'Ollama'
-				});
+				responseMessage.error = {
+					content: $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
+						provider: 'Ollama'
+					})
+				};
 			}
 			}
-
-			responseMessage.error = true;
-			responseMessage.errorContent = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
-				provider: 'Ollama'
-			});
 			responseMessage.done = true;
 			responseMessage.done = true;
 			messages = messages;
 			messages = messages;
 		}
 		}
@@ -1034,13 +1033,13 @@
 			errorMessage = innerError.message;
 			errorMessage = innerError.message;
 		}
 		}
 
 
-		responseMessage.error = true;
-		responseMessage.errorContent =
-			$i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
+		responseMessage.error = {
+			content: $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
 				provider: model.name ?? model.id
 				provider: model.name ?? model.id
 			}) +
 			}) +
 			'\n' +
 			'\n' +
 			errorMessage;
 			errorMessage;
+		};
 		responseMessage.done = true;
 		responseMessage.done = true;
 
 
 		messages = messages;
 		messages = messages;

+ 3 - 3
src/lib/components/chat/Messages/ResponseMessage.svelte

@@ -453,7 +453,7 @@
 						<div class="w-full">
 						<div class="w-full">
 							{#if message.content === '' && !message.error}
 							{#if message.content === '' && !message.error}
 								<Skeleton />
 								<Skeleton />
-							{:else if !message.error || message.errorContent}
+							{:else if !message.error}
 								{#each tokens as token, tokenIdx}
 								{#each tokens as token, tokenIdx}
 									{#if token.type === 'code'}
 									{#if token.type === 'code'}
 										<CodeBlock
 										<CodeBlock
@@ -471,7 +471,7 @@
 									{/if}
 									{/if}
 								{/each}
 								{/each}
 							{/if}
 							{/if}
-							{#if message.error === true}
+							{#if message.error}
 								<div
 								<div
 									class="flex mt-2 mb-4 space-x-2 border px-4 py-3 border-red-800 bg-red-800/30 font-medium rounded-lg"
 									class="flex mt-2 mb-4 space-x-2 border px-4 py-3 border-red-800 bg-red-800/30 font-medium rounded-lg"
 								>
 								>
@@ -491,7 +491,7 @@
 									</svg>
 									</svg>
 
 
 									<div class=" self-center">
 									<div class=" self-center">
-										{message.errorContent ?? message.content}
+										{message?.error?.content ?? message.content}
 									</div>
 									</div>
 								</div>
 								</div>
 							{/if}
 							{/if}