聊天记录要从底部锚定加载

**进入聊天会话时应该「直接定位到最下方、向上翻才加载更早消息」,而不是「先全屏 loading、加载完再滚到底」。** 后者会表现为:每次点击先黑屏,再从上往下刷内容,和微信 / Codex 这类成熟产品的方向相反。

两个独立毛病

现象根因修法
点进去先黑屏聊天页有一个全屏 loading 门闩,要等「读最近消息 + 读 session + 读 file tree + 检查是否还有更早消息 + 设置顶部滚动目标」全做完才渲染永不显示全屏 loading:先渲染空聊天框架和输入栏,再后台查
内容从上往下刷加载方向反了底部锚定:进入即定位最下方,上滑才加载旧消息

正确顺序

  1. 进入会话永远不黑屏、不显示全屏 loading。
  2. 先渲染空聊天框架 + 输入栏。
  3. 本地最近若干条(如 5 条)读到后立即显示。
  4. 旧消息、文件树、历史列表全部后台查。
  5. 上滑才加载旧消息。
  6. 不再用「加载完再滚到底部」,改为底部锚定。

判据:「加载」是后台行为,不该挡住首屏。 任何需要「等一堆 IO 完再显示」的列表页,都该先出一个骨架/容器。

相关

  • 列表切换要用master-detail而非重建列表 —— 同为「不要为了数据把整个视图重建/清空」
  • 折叠动画要有收起态过渡 —— 同族:交互状态缺失导致观感断裂