diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 081415bc8..937b62ffb 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -1043,6 +1043,13 @@ }; } responseMessage.done = true; + + if (responseMessage.statusHistory) { + responseMessage.statusHistory = responseMessage.statusHistory.filter( + (status) => status.action !== 'knowledge_search' + ); + } + messages = messages; } @@ -1405,6 +1412,12 @@ }; responseMessage.done = true; + if (responseMessage.statusHistory) { + responseMessage.statusHistory = responseMessage.statusHistory.filter( + (status) => status.action !== 'knowledge_search' + ); + } + messages = messages; }; diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index a703375a4..2cfadf9d2 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -346,7 +346,7 @@ {@const status = ( message?.statusHistory ?? [...(message?.status ? [message?.status] : [])] ).at(-1)} -
+
{#if status?.done === false}
@@ -356,14 +356,16 @@ {#if status?.action === 'web_search' && status?.urls}
-
+
{status?.description}
{:else}
-
+
{status?.description}
@@ -1027,4 +1029,47 @@ -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ } + @keyframes shimmer { + 0% { + background-position: 200% 0; + } + 100% { + background-position: -200% 0; + } + } + + .shimmer { + background: linear-gradient(90deg, #9a9b9e 25%, #2a2929 50%, #9a9b9e 75%); + background-size: 200% 100%; + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + animation: shimmer 4s linear infinite; + color: #818286; /* Fallback color */ + } + + :global(.dark) .shimmer { + background: linear-gradient(90deg, #818286 25%, #eae5e5 50%, #818286 75%); + background-size: 200% 100%; + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + animation: shimmer 4s linear infinite; + color: #a1a3a7; /* Darker fallback color for dark mode */ + } + + @keyframes smoothFadeIn { + 0% { + opacity: 0; + transform: translateY(-10px); + } + 100% { + opacity: 1; + transform: translateY(0); + } + } + + .status-description { + animation: smoothFadeIn 0.2s forwards; + }