From 3850bc7f9e8721503a6acae8d45db303eff455d5 Mon Sep 17 00:00:00 2001 From: thzxx Date: Sat, 11 Jul 2026 21:14:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DAI=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=B8=B2=E6=9F=93(=E7=BA=AF=E6=96=87?= =?UTF-8?q?=E6=9C=AC+markdown=E4=B8=A4=E4=B8=AA=E5=8D=A1=E7=89=87=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E5=AD=98=E5=9C=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit onDone回调中renderMessages前未移除流式placeholder导致DOM重复; onNewIteration中移除placeholder顺序修正为先移除再渲染 --- src/renderer/components/input-area.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/renderer/components/input-area.ts b/src/renderer/components/input-area.ts index e3b1698..3a7267d 100644 --- a/src/renderer/components/input-area.ts +++ b/src/renderer/components/input-area.ts @@ -1291,9 +1291,8 @@ async function sendMessageWithAgentLoop(text: string, currentSession: ChatSessio messages: [...session.messages, prevMsg], updatedAt: Date.now() })); - renderMessages(); - removeCurrentPlaceholder(); + renderMessages(); appendAssistantPlaceholder(); assistantContent = ''; thinkContent = ''; @@ -1376,6 +1375,8 @@ async function sendMessageWithAgentLoop(text: string, currentSession: ChatSessio updatedAt: Date.now() })); + // 先移除流式 placeholder 再 renderMessages,避免未渲染(纯文本)和已渲染(markdown)两个卡片同时存在 + removeCurrentPlaceholder(); renderMessages(); // ── 消费 _lastPlanStatus(不再保存为 session 消息,避免 system 消息渲染到聊天界面)──