fix: 修复用户消息不显示和思考气泡残留

renderMessages() 中 existingCount 使用 children.length 计算,
包含了 currentPlaceholder(正在思考...)元素,导致:
1. 新用户消息被误判为已渲染而跳过
2. 旧 placeholder 残留 DOM 变成独立消息气泡

修复:existingCount 改用 querySelectorAll('.message') 只计算实际消息元素
This commit is contained in:
thzxx
2026-04-20 21:00:42 +08:00
parent 6656f16d30
commit 2496e04685
+2 -1
View File
@@ -89,7 +89,8 @@ export function renderMessages(): void {
emptyStateEl.style.display = 'none';
messagesContainerEl.style.display = '';
const existingCount = messagesContainerEl.children.length;
// 只计算已渲染的 .message 元素(排除 placeholder 和其他非消息元素)
const existingCount = messagesContainerEl.querySelectorAll('.message').length;
const isNewMessage = existingCount > 0 && existingCount < msgs.length;
for (let i = existingCount; i < msgs.length; i++) {
appendMessageDOM(msgs[i], i);