diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 87a40296f6..b511941507 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -1616,23 +1616,21 @@ messageContentParts.pop(); } - const nextContentPart = messageContentParts.at(-1) ?? ''; - if (!nextContentPart || (!final && nextContentPart === message.lastSentence)) { - return; + let n = message.ttsSent ?? 0; + for (; n < messageContentParts.length; n++) { + const part = messageContentParts[n]; + if (!part) continue; + if (!final && (part.split(/\s+/).length < 4 || part.length < 50)) break; + eventTarget.dispatchEvent( + new CustomEvent('chat', { + detail: { + id: message.id, + content: part + } + }) + ); } - - if (!final) { - message.lastSentence = nextContentPart; - } - - eventTarget.dispatchEvent( - new CustomEvent('chat', { - detail: { - id: message.id, - content: nextContentPart - } - }) - ); + message.ttsSent = n; }; const getContents = () => {