From 1822784e99dfe8d2a701ec81d9340dc02ac5ba9c Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Fri, 16 Aug 2024 01:32:53 +0800 Subject: [PATCH] fix: streaming issue Signed-off-by: Neko Ayaka --- components/MainStage.vue | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/components/MainStage.vue b/components/MainStage.vue index 5e849473c..6b9c2eafd 100644 --- a/components/MainStage.vue +++ b/components/MainStage.vue @@ -187,11 +187,12 @@ async function onSendMessage(sendingMessage: string) { let buffer = '' for await (const textPart of res.textStream) { + for (const textSingleChar of textPart) { let newState: States = state - if (textPart === '<') + if (textSingleChar === '<') newState = States.Special - else if (textPart === '>') + else if (textSingleChar === '>') newState = States.Literal if (state === States.Literal && newState === States.Special) { @@ -203,12 +204,14 @@ async function onSendMessage(sendingMessage: string) { buffer = '' // Clear buffer when exiting Special state if (state === States.Literal && newState === States.Literal) { - streamingMessage.value.content += textPart + streamingMessage.value.content += textSingleChar buffer = '' } - await delaysQueue.add(textPart) + await delaysQueue.add(textSingleChar) state = newState + buffer += textSingleChar + } } if (buffer)