fix: 修复继续对话时消息覆盖问题并添加波形追踪工具

- 修复继续对话时 AI 消息被覆盖的问题
- 用户发送新消息时重置分段消息容器
- 继续对话时复用未完成的消息容器
- 添加 waveform_trace.exe 工具到仓库
- 更新 .gitignore 规则
This commit is contained in:
Roe-xin
2026-03-04 11:43:45 +08:00
parent a1bfa62796
commit c8e9a5b897
4 changed files with 16 additions and 5 deletions

3
.gitignore vendored
View File

@ -4,8 +4,7 @@ node_modules
.vscode-test/
*.vsix
# waveform_trace 打包产物exe 太大,通过 Release 发布)
tools/waveform_trace/bin/
# waveform_trace 打包产物
tools/waveform_trace/src/build/
tools/waveform_trace/src/dist/
tools/waveform_trace/src/*.spec

View File

@ -446,6 +446,9 @@ export function getInputAreaScript(): string {
addMessage(displayText, 'user');
// 重置分段消息容器,强制下次创建新容器
currentSegmentedMessage = null;
// 标记已有消息,切换布局到底部
hasMessages = true;
updateInputAreaLayout();

View File

@ -1031,9 +1031,18 @@ export function getMessageAreaScript(): string {
el.remove();
});
currentSegmentedMessage = document.createElement('div');
currentSegmentedMessage.className = 'message bot-message segmented-message';
messagesEl.appendChild(currentSegmentedMessage);
// 检查最后一个容器是否是未完成的对话(没有操作按钮)
const lastSegmented = messagesEl.querySelector('.segmented-message:last-child');
if (lastSegmented && !lastSegmented.querySelector('.message-actions')) {
// 复用未完成的容器
currentSegmentedMessage = lastSegmented;
} else {
// 创建新容器
currentSegmentedMessage = document.createElement('div');
currentSegmentedMessage.className = 'message bot-message segmented-message';
messagesEl.appendChild(currentSegmentedMessage);
}
renderedSegmentCount = 0;
}
// 保存当前所有工具的展开/折叠状态

Binary file not shown.