Skip to content

TUI对话框在流式响应结束后消息不自动刷新,需切换对话框才能看到最新对话 #1

Description

@Fyswys

Bug 描述

TUI 对话框在流式响应结束后不会自动刷新消息列表,需要手动切换对话框再切回来才能看到完整对话。

根因分析

apps/cli/src/tui/core/app.rsrefresh_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.rsrefresh_runtime_status() 方法
  • apps/cli/src/tui/transcript/response_stream.rs — 流式响应处理
  • apps/cli/src/tui/core/app.rsrun_loop() 事件循环

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions