Skip to content

[Bug] 会话切换后视口不定位到最新消息:三条独立同族反馈综合(#488 #422 #883),建议提升跟进优先级 #910

Description

@Aafff623

提交前确认

问题类别

UI / 界面体验 · UI / UX

涉及的 Agent 框架

ZCode Agent(自研)

严重程度

影响体验 · Major

复现频率

必现 · Always(长会话场景下稳定复现)

问题描述

会话切换后的视口定位问题,已有三条独立报告,症状同族、根因同域(packages/ui/src/v4/ConversationTimeline.tsx 的滚动记忆恢复与 prepend 锚定逻辑),时间跨度一个月、跨 Windows/macOS 双平台、跨 3.10 → 3.14 三个大版本仍未收敛:

  1. [Bug] Desktop: 多轮会话切换标签页再切回后,视口跳到第一条消息而非最新消息 #422(3.10.1,macOS Apple Silicon,8/30,@Thekshy):切走再切回,视口跳到第一条消息,需手动滚动很久才能回到最新消息;
  2. [Bug] 多个会话之间来回切换时,对话不自动定位到最新消息,而是停在顶部或卡在中间 #488(3.10.2,Windows 11,9/2,本人):来回切换会话,视口停在顶部或卡在中间历史消息,输出中的会话不自动跟随最新内容;手动翻过历史的位置,切回后也会丢失;
  3. [Bug] 重进会话后轻微上滚被「滚动记忆延迟恢复」拽到很早的历史位置:pending restore 无视用户输入 + 前插锚定被抑制 + 陈旧位置被反复回写(v3.14.4) #883(3.14.4,macOS,9/30,@guodage):重进会话后轻微上滑,被「滚动记忆延迟恢复」拽到很早的历史位置,且已给出源码级根因分析(pending restore 无视用户输入、prepend 锚定被抑制、陈旧位置被反复回写)。

用户视角的共同后果:每次切换会话都要手动滚动(或按住「滚动到底部」)才能看到最新进度,多会话并行工作流下一天要重复几十次。

为什么建议提升跟进优先级

  1. 路径高频:多会话并行是桌面端的核心使用方式,长会话用户每次切换都受影响;
  2. 三条独立报告、一个月未收敛:8/30 → 9/30,跨三个大版本,3.14 仍出现新变体,说明该模块存在系统性竞态而非单点回归;
  3. 修复线索已齐:[Bug] 重进会话后轻微上滚被「滚动记忆延迟恢复」拽到很早的历史位置:pending restore 无视用户输入 + 前插锚定被抑制 + 陈旧位置被反复回写(v3.14.4) #883 已定位到具体竞态并给出四条修复建议;timelineScrollAnchor.ts 注释显示滚动域此前已修过三轮回归,属于同一模块的收尾工作;
  4. 可感知度高:视口"自己动"直接打断阅读,用户无法确认当前看到的就是最新输出。

复现步骤

以 #488 场景为例(#422 / #883 见各自 issue):

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

期望表现

  1. 切回 / 点开会话时:若离开时贴底,直接定位到最新一条消息;否则恢复离开时的滚动位置;
  2. 正在输出的会话,视口自动跟随最新内容;
  3. 用户落地后的滚动输入拥有最高滚动权,程序化的位置恢复不得在其后夺走视口([Bug] 重进会话后轻微上滚被「滚动记忆延迟恢复」拽到很早的历史位置:pending restore 无视用户输入 + 前插锚定被抑制 + 陈旧位置被反复回写(v3.14.4) #883)。

实际表现

视口停在顶部或中间历史消息,或被迟到的滚动记忆恢复拽到很早的历史对话;输出中的会话不跟随最新内容。

ZCode 版本

3.10.1 ~ 3.14.4(三条原始报告各自的版本,3.14.4 仍复现)

设备 / 系统

Windows 11 x64(#488)、macOS Apple Silicon(#422、#883)

相关 issue

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions