Bug 描述
TUI 对话框在流式响应结束后不会自动刷新消息列表,需要手动切换对话框再切回来才能看到完整对话。
根因分析
在 apps/cli/src/tui/core/app.rs 的 refresh_runtime_status() 方法中(约第2274行),
当流式响应完成时(last_current_chat_loading 从 true 变为 false),
只调用了 refresh_chats().await(刷新聊天列表元数据),
但没有调用 refresh_core_snapshot().await(拉取最新消息内容)。
而 refresh_core_snapshot() 仅在切换聊天、新建聊天、提交消息时被调用,
主循环中没有任何定期触发。
修复方案
将 apps/cli/src/tui/core/app.rs 第2274行:
self.refresh_chats().await;
改为:
self.refresh_core_snapshot().await?;
self.refresh_chats().await;
涉及文件
apps/cli/src/tui/core/app.rs — refresh_runtime_status() 方法
apps/cli/src/tui/transcript/response_stream.rs — 流式响应处理
apps/cli/src/tui/core/app.rs — run_loop() 事件循环
Bug 描述
TUI 对话框在流式响应结束后不会自动刷新消息列表,需要手动切换对话框再切回来才能看到完整对话。
根因分析
在
apps/cli/src/tui/core/app.rs的refresh_runtime_status()方法中(约第2274行),当流式响应完成时(
last_current_chat_loading从 true 变为 false),只调用了
refresh_chats().await(刷新聊天列表元数据),但没有调用
refresh_core_snapshot().await(拉取最新消息内容)。而
refresh_core_snapshot()仅在切换聊天、新建聊天、提交消息时被调用,主循环中没有任何定期触发。
修复方案
将
apps/cli/src/tui/core/app.rs第2274行:改为:
涉及文件
apps/cli/src/tui/core/app.rs—refresh_runtime_status()方法apps/cli/src/tui/transcript/response_stream.rs— 流式响应处理apps/cli/src/tui/core/app.rs—run_loop()事件循环