Repository navigation
fix(bots): 补齐三端伙伴过程与回复头像 - #8864
Conversation
Assisted-by: Cindy (https://cindy.app) Signed-off-by: Chris <4436110+zqchris@users.noreply.github.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
[Low impact] 本次头像呈现改动看起来可以合并,未发现阻塞问题。
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a95590b1cf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Assisted-by: Cindy (https://cindy.app) Signed-off-by: Chris <4436110+zqchris@users.noreply.github.com>
Resolve DESIGN.md by retaining the main branch language wording and the partner process/reply avatar contract. Assisted-by: Cindy (https://cindy.app) Signed-off-by: Chris <4436110+zqchris@users.noreply.github.com>
|
已在 3613066 合并最新主干并解决 DESIGN.md 的唯一冲突:保留主干「各语言」措辞及本 PR 的过程/回复头像规则。六个代码与测试文件逐字未变,PR 仍仅七个原范围文件。 |
xd-bobo
left a comment
There was a problem hiding this comment.
Approved by compliance check: CI passed and no blocking reviews.
PR #8864 独立代码审查报告(auto 重档)PR:fix(bots): 补齐三端伙伴过程与回复头像(https://github.com/makecindy/cindy/pull/8864) Findings
Rule coverage — 读取的规则文件及逐项结论
Verification — 实际运行的命令、结果、未执行项及原因工作树内复跑(完整日志与退出码落在本轮目录):
Intent alignment
Overallpass(没有 P0/P1)。 附带说明:机器人静默期超时放行 —— |
这次改了什么
摘要
伙伴私聊的工作过程此前只留了透明头像占位,无法直接看出是谁在处理。Desktop、iOS、Android 现在在过程区和最终回复各显示一个当前伙伴头像,展开的中间文字和工具明细不重复显示。
变更类型
fix缺陷修复范围
UI 变化
docs/design-rules/DESIGN.md§5、§7、§14「伙伴私聊消息下操作」;复用现有头像、间距及正文列,两种主题使用现有语义样式,不新增颜色或尺寸。pnpm ui:check --changed --theme all,macOS · Electron 42.11.12(Chromium 148.0.7778.280,与 Cindy 同一渲染内核);真实组件与主题,场景数据,不是登录账号下的完整 Cindy3568430ec375(含未提交改动)mcp-inline-form:light / dark · zh-CN · 600×1000 / 320×1100 / 600×600default:The existing Settings form expanded in the message flownarrow:Inline form at 320 pxinvalid:Original validation and focus in the embedded formresult-error:Saved configuration remains saved when result delivery fails; retry and cancel remain availablesettings:Original modal remains a modallayout:Production message scrollport carries the entire form; composer stays fixedsrc/renderer/components/chat/GhostToolCardmessage-focus:light / dark · zh-CN · 900×600default:Ordinary task message navigationcompact:Companion message navigationsrc/renderer/components/chat/GhostToolCardteammate-process:light / dark · zh-CN · 720×850 / 320×850 / 640×950default:Live private turn with stage notes and initial thinkingfinished:Completed private turn with final answer outsideretry:Two failed attempts followed by a running read: current action stays visibleartifacts-wide:Avatar, long reply, Excel preview and related file align in the production streamartifacts-narrow:A narrow companion column preserves card sizingartifacts-thread:The production topic panel and compact styles retain reply/artifact alignmentartifacts-no-avatar:No avatar means no additional insetartifacts-task:Ordinary task layout stays unchangedartifacts-cached:Cached cards keep their height while remount stats are pending; confirmation enables them and deletion removes the entire rowartifacts-missing:Missing files leave no empty avatar rowsrc/renderer/components/chat/GhostToolCard、src/renderer/contexts/AuthContextiOS 与 Android 实机截图
手机真实组件,免登录合成数据:iOS 完成/展开与 Android 展开/运行中。




怎么验证的
自动验证
pnpm --filter desktop exec vitest run src/renderer/__tests__/streamingWorkGroupRender.test.tsx src/renderer/features/bots/__tests__/botChatSurface.test.ts:21/21 通过。pnpm --filter mobile exec vitest run src/__tests__/pluginAttachmentBubble.test.tsx:20/20 通过;与 subagentRender 的 5 项合计 25/25,墙钟 3.01 秒。pnpm --filter desktop typecheck、pnpm --filter mobile typecheck:通过。pnpm ui:check --changed --theme all:36/36 通过,无 uncovered,已目检相关过程、窄栏、话题、成果卡截图。pnpm check:dev-docs、pnpm check:dco、git diff --check:通过。测试价值:
pluginAttachmentBubble.test.tsx通过生产消息投影及 MessageRenderer 渲染「用户→过程文字→工具→最终回复」,覆盖过去缺失的过程头像及展开后的头像总数。原先断言仅一个头像,现在要求过程和回复各一个;unit,3.45 秒。teammate-process/ui-page.mjs通过真实 MessageStream / BotAvatar,在运行、完成、展开状态断言头像可见性和数量,防止透明占位冒充头像。复用现有 Electron UI integration 场景;含 36 个变体的整轮运行见上方 UI 报告。botChatSurface.test.ts仅同步既有接线 guard 的过期预期,不将源码断言作为视觉正确性证据;与 streamingWorkGroupRender 共 5.24 秒。实际头像由上面的真实组件验证。手工验证
emulator-5554。本工作树 Metro 有新的 Android Bundled 记录;运行中、完成后、展开、B2B,深浅色均已查看。companion-process-avatar,基线3568430ec3加本提交七文件;Metro 来自同名工作树,sim-up 核验来源身份。手机界面截图未单独记录 DEV build label,来源以启动回执、包校验和本工作树 bundle 日志交叉核验。未执行的验证
setLayoutAnimationEnabledExperimental在新架构下无效果的既有调用警告;不声称所有日志完全无警告。风险
风险分类
影响与回滚
提交前检查
Assisted-by: Cindy (https://cindy.app)
子 Agent 嵌套头像回归与补充验收
已采纳并在 876c8c4 修复。
SubagentCard现在在递归前清空companionAvatar,其余 actions 保留;子任务工具、正文和摘要仍可正常展开。新增真实消息投影 → MessageRenderer 回归,旧代码因多出
companion.processRow失败,修复后通过。pluginAttachmentBubble.test.tsx与subagentRender.test.ts共 25/25 通过(3.01 秒),Mobile typecheck 与 DCO 通过。iOS、Android 已补测子 Agent → 内部工作组两层展开:内部不再重复主伙伴头像,主回复仍保留头像。临时模拟数据已恢复,测试实例已退出。Android logcheck 通过,保留既有 LayoutAnimation no-op 警告。
子 Agent 递归展开补充验收:iOS 与 Android 真实组件、合成数据,内部工具和摘要不重复主伙伴头像。

