diff --git a/src/lib/components/chat/Messages/Markdown/ConsecutiveDetailsGroup.svelte b/src/lib/components/chat/Messages/Markdown/ConsecutiveDetailsGroup.svelte index e19fe35dd..0c90c64bc 100644 --- a/src/lib/components/chat/Messages/Markdown/ConsecutiveDetailsGroup.svelte +++ b/src/lib/components/chat/Messages/Markdown/ConsecutiveDetailsGroup.svelte @@ -29,7 +29,7 @@ $: toolCallCount = tokens.filter((t) => t?.attributes?.type === 'tool_calls').length; $: reasoningCount = tokens.filter((t) => t?.attributes?.type === 'reasoning').length; - $: hasPending = tokens.some( + $: hasPending = !messageDone && tokens.some( (t) => t?.attributes?.done !== undefined && t?.attributes?.done !== 'true' ); diff --git a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte index 2c6df670d..b353f5e5b 100644 --- a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte +++ b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte @@ -384,6 +384,7 @@ title={detailToken.summary} open={$settings?.expandDetails ?? false} attributes={detailToken?.attributes} + messageDone={done} className="w-full space-y-1" dir="auto" > @@ -406,6 +407,7 @@ open={false} disabled={true} attributes={detailToken?.attributes} + messageDone={done} className="w-full space-y-1" dir="auto" /> @@ -429,6 +431,7 @@ title={token.summary} open={$settings?.expandDetails ?? false} attributes={token?.attributes} + messageDone={done} className="w-full space-y-1" dir="auto" > @@ -451,6 +454,7 @@ open={false} disabled={true} attributes={token?.attributes} + messageDone={done} className="w-full space-y-1" dir="auto" /> diff --git a/src/lib/components/common/Collapsible.svelte b/src/lib/components/common/Collapsible.svelte index e8678846a..f1ca8571a 100644 --- a/src/lib/components/common/Collapsible.svelte +++ b/src/lib/components/common/Collapsible.svelte @@ -50,6 +50,7 @@ export let grow = false; export let disabled = false; + export let messageDone = false; export let hide = false; export let onChange: Function = () => {}; @@ -73,12 +74,12 @@ >
- {#if attributes?.done && attributes?.done !== 'true'} + {#if attributes?.done && attributes?.done !== 'true' && !messageDone}
@@ -86,7 +87,7 @@
{#if attributes?.type === 'reasoning'} - {#if attributes?.done === 'true' && attributes?.duration} + {#if (attributes?.done === 'true' || messageDone) && attributes?.duration} {#if attributes.duration < 1} {$i18n.t('Thought for less than a second')} {:else if attributes.duration < 60} @@ -98,11 +99,13 @@ DURATION: dayjs.duration(attributes.duration, 'seconds').humanize() })} {/if} + {:else if attributes?.done === 'true' || messageDone} + {$i18n.t('Thought')} {:else} {$i18n.t('Thinking...')} {/if} {:else if attributes?.type === 'code_interpreter'} - {#if attributes?.done === 'true'} + {#if attributes?.done === 'true' || messageDone} {$i18n.t('Analyzed')} {:else} {$i18n.t('Analyzing...')}