# 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)