zai-org / zai-org/feedback

[Bug] 多个会话之间来回切换时,对话不自动定位到最新消息,而是停在顶部或卡在中间

Open
#488 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: P2
Dominant language
No language data
Stars
22
Forks
1
PR merge metrics
No merged PRs in 30d

Description

使用环境
  • 客户端:ZCode Desktop 3.10.2.6414
  • 系统:Windows 11 x64
  • 模型通道:Z.ai / API Key(GLM Coding Plan)
问题描述

我在右侧同时管理着很多会话(比如 30 多个,来自不同的项目/任务)。当我在这些会话之间来回切换、挨个查看它们的任务进度时,每次点进一个会话,对话视图都不会自动定位到最新的消息,而是停在顶部,或者卡在中间某条历史消息上。

也就是说,每次切换会话后,我都得手动往下滚一大段才能看到这个会话最新的进度。会话多的时候,这个操作一天要重复几十次,很影响效率。

补充一点:我自己手动往上翻过历史的会话,切走再切回来,有时也会直接掉回顶部,而不是回到我之前翻到的位置。

复现步骤
  1. 让一个会话的内容超过一屏(几十条消息、有工具调用过程)
  2. 在右侧会话列表点开另一个会话,来回切换
  3. 观察每次点进会话后视口的位置
实际行为

切回/点开会话时,视口经常停在顶部,或卡在中间的历史消息上,而不是最底部的最新消息。如果会话还在持续输出,也不会自动跟随到底部的最新内容。

期望行为
  1. 点开/切回一个会话时,如果能确定它在“底部”状态,直接定位到最新一条消息;不能确定时,恢复到上次离开时的滚动位置;
  2. 正在输出的会话,视口应自动跟随到最新内容,而不是停在半路。
补充信息
  • 短会话(内容不足一屏)不受影响,问题主要出在长会话上;
  • 感觉像是切换会话时没有正确判断“这个会话本来是不是贴在底部”,导致滚动位置被重置到了顶部/中间;
  • 相关问题:#422(多轮会话切标签再切回,视口跳到第一条而非最新),应该是同一处滚动定位逻辑的问题,我在 #422 的场景外又遇到了“卡在中间、不跟随最新输出”的变体,所以单独提出来方便一起排查。

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

First reproduce the viewport behavior using the listed steps with a long session, repeated session switching, and ongoing output. Compare the scenario with related issue #422; done means switching sessions restores the prior position when appropriate, reaches the latest message when at the bottom, and follows new output without jumping to the top.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.