Repository navigation
feat(chat): collapse completed response activity - #1483
Open
CATMIAOZHI wants to merge 3 commits into
Open
CATMIAOZHI wants to merge 3 commits into
CATMIAOZHI wants to merge 3 commits into
Conversation
2 of 5 tasks
5 tasks done
CATMIAOZHI
marked this pull request as ready for review
November 10, 2026 22:12
CATMIAOZHI
commented
Nov 11, 2026
CATMIAOZHI
left a comment
Collaborator
Author
There was a problem hiding this comment.
审计结论:💬 意见
自审:本 PR 作者为 CATMIAOZHI(本人),本次为自审。
改动(本层 1 个提交,22 个文件,+746/−102;累计差异含父层 #1482,共 192 个文件,+16782/−1379):长回复收起已完成的思考、工具过程和中间消息,最终答复保持可见;气泡、Cursor、浮窗共用折叠规则,设置可关闭自动折叠。
审计范围说明:本层为堆叠在 #1482 之上的单提交 6af1858(97f2d49..6af1858),本次审计只审本层改动;父层内容与 #1482 的 head(97f2d4996)一致,留待 #1482 审计覆盖,不在此重复审。
通过的检查:
- 目标分支为
dev,本层无数据库迁移、无新增权限、无 token/密钥相关改动;只改呈现方式,不改写持久化聊天内容。 - 折叠边界正确:纯工具回复、空终稿、仅有推理无答复时不折叠(
completedProcessEnd返回 -1),最终答复的标题与多段落完整保留;三个回归测试(CompletedProcessTest、AssistantContinuationTest、ResponseProcessMessagesTest,作者称 13 项通过)的断言与实现逐项核对一致。 - 生成中的回复不折叠(终稿
contentStream != null时不成组);图片导出与 Markdown 预览不折叠(无 transcript 身份时processEnd为 -1)。 - 展开状态按聊天保留,
TranscriptExpansionState以mutableStateMapOf驱动重组,删除聊天时清理;定位到折叠内的消息时先展开再滚动(ChatArea)。 - 中英文文案齐全(8 条 × 2),开关默认开启、重置后恢复开启,与协议文档一致;设置页开关接线正确。
问题:
- [P1] 合并顺序与 Draft 状态需 maintainer 确认:本层自身无数据库改动,但累计差异包含 #1482 的数据库改动(新增
SubagentMigration.kt,改动AppDatabase.kt、ChatEntity.kt);PR 描述称“Operit2 导入支持协调完成前保持 Draft”,而当前 PR 并非 draft。直接合入会把父层的数据库改动一并带入,绕过所述协调。请确认是转回 draft、还是协调已完成可正常合入;合并决定留待 @AAswordman。 - [P3] 未运行本地 Lint(作者已在 PR 描述中披露),建议合入前跑一次。
- [P3] 真机未验证:checklist 中“补充真机画面或录屏”未完成,两种聊天样式与浮窗下的手动展开、定位隐藏消息、关闭自动折叠、返回聊天后展开状态待真机确认。
- [P3] 折叠 key 取
sentAt(ResponseProcessGroup.key = message.sentAt):理论上两轮回复sentAt相同会共用折叠状态;实际中sentAt为单轮请求时间戳,碰撞概率极低,可接受。 - [P3] 流式输出期间每次消息更新都会全量重算
responseProcessGroups(remember依赖整个消息快照);长对话下可考虑只在成组条件变化时重算,目前线性扫描成本可接受。
后续可跟进(不阻塞):无。
由 水晴喵的muse 审计
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat(chat): collapse completed response activity
变更说明 / Description
长回复可以收起已完成的思考、工具过程和中间消息,最终答复保持可见。
背景与动机 / Context and motivation
本层堆叠在子代理核心 #1482 之上。目标为最新
dev(ca968ce95),当前差异包含父层;父层合并后会重放本层并缩小差异。改动范围 / Changes
兼容性与风险 / Compatibility and risks
本层只改变呈现方式,不额外迁移数据库或删除聊天内容。累计分支继承 #1482 的数据库迁移范围与预览版兼容性限制。
维护者已在协调回复中确认本次改动不受此前对话树层级问题影响。PR 已转为 Ready,仍按父层依赖顺序审阅;该回复不代替数据库升级及备份导入验证。
关联 Issue / Related issue
相关背景:#319(已关闭)。本次仅折叠已完成的回复过程。
验证方式 / Verification
:app:testDebugUnitTest --tests '*CompletedProcessTest' --tests '*AssistantContinuationTest' --tests '*ResponseProcessMessagesTest',13 项全部通过。证据 / Evidence
本地测试报告:
app/build/reports/tests/testDebugUnitTest/index.html。真机画面尚未采集。检查清单 / Checklist
dev。