Files
cc-web/.trellis/spec/frontend/state-management.md
shiyue 69b6db0f5b 修复完整会话历史与长气泡交互并更新 CentOS 7 发布包
提交当前工作区全部源码、回归脚本、任务记录及重新构建的 Bun baseline 发布包。发布单文件 MCP 初始化及前端资源一致性验证通过。
2026-10-10 23:40:16 +08:00

2.4 KiB
Raw Blame History

State Management

How state is managed in this project.


Overview

(To be filled by the team)


State Categories

(To be filled by the team)


When to Use Global State

(To be filled by the team)


Server State

  • 历史游标表示服务端当前记录中尚未展示的消息数量。正数游标可以分页,与外部原始记录是否可确认恢复分开判断。
  • historyAvailable=false 只用于旧历史来源的核实说明,不能阻断已保存消息的正文或用户提问目录请求,也不能据此宣称消息已丢失或无法恢复。
  • 读取完已保存消息后,游标归零应停止请求;确有旧来源待核实时保留准确说明,正常完整历史不显示该说明。
  • resume_generating是完整运行态快照,以正文及全部工具权威替换当前流式状态,并复用同一逻辑助手气泡;不盲目拼接不同用户任务。
  • 长气泡折叠只改变显示。完整正文保留在原始消息和DOM中;多次原生回复默认收起较早段,末段可见;单次超长回复可展开完整内容。
  • 折叠状态按会话与稳定消息身份记录;完成、切换和重新渲染不得把被折叠的内容当作已删除内容保存。
  • 复制按钮与定位、分支同排,仅从完整原始正文中复制最后一个原生回复段。按围栏外的 agent-message-divider切分,不以最后自然段或DOM的最后一个p元素判断;代码块、列表保留,时间分隔、工具和按钮不进入剪贴板。没有原生分界时复制整条回复。
  • 单测覆盖末段边界、代码围栏伪分界、流式分界尚未传完、文本块、短消息与长消息。隔离浏览器须实际检查展开完整内容、末段复制、刷新与重连,以及手机44px触控范围。
  • 单条长回复收起时,定位按钮先调用折叠开关展开并更新记忆状态,再计算末段坐标;不能定位到高度裁剪区中仍不可见的文本。

Common Mistakes

(To be filled by the team)