Skip to content

fix(dashboard): 委派原对话保留图片附件 - #7529

Merged
loopx-agent merged 2 commits into
mainfrom
codex/delegation-original-media-20261028
Oct 27, 2026
Merged

loopx-agent merged 2 commits into
mainfrom
codex/delegation-original-media-20261028

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

委派详情的“原对话”只渲染文字,原消息已有的图片附件被遗漏。现在沿同一 Session/Turn 显示原图并保留比例,图片解码失败时显示带文件名的失败状态;原会话身份不匹配时拒绝展示。

这是一处现有读取界面的修复,不新增消息存储、消费者或执行入口。完整 App/Lark 双向发送、回复线程及卡片的验收仍是后续工作。

用户任务与边界

用户要在已有委派中核对原请求及其图片。仍从“委派 → 请求 → 原对话”原位读取,不新增配置、复制或确认。列表、责任分组、待回传状态、正文与原接收者回复保留。图片不裁切成预览缩略图;文本较长时继续在同一阅读区滚动。

验证

  • Chat 正式打包(含 TypeScript 检查)和 CSS token 校验通过。
  • 相同合成输入在旧包中有完整正文但 0 张图,新包可读两张完整图。
  • 打包浏览器旅程通过:长正文、同 Turn 过滤、纯文字、坏图、读取失败/重试、错误 Session、关闭后的迟到响应、Escape/焦点返回、390px 窄屏比例及英文入口;原 SQLite/Inbox 不变,无 POST 或模型执行。
  • 合成图片只在测试响应中补入,真实 SQLite/Inbox/HTTP 复用现有 fixture;该测试不证明多模态推理或投递。实际桌面采用将在正常安装后另验。

页面证据

以下为同一合成工作区、13 条交办、已打包资源的浏览器截图,执行器离线且无外部副作用。第一屏仍按负责人浏览交办,完整原文和图片留在现有展开层;不把列表状态当作成果验收。原生私聊截图不公开。

默认第一屏(桌面与窄屏):

默认委派列表

窄屏默认委派列表

旧包展开后只见正文;新包保留完整原图(两图相同仅用于合成测试):

旧包 修复后
旧包原对话 修复后原图

窄屏图形完整、未裁切;坏图保留明确失败及正文:

390px 窄屏 图片不可读
窄屏原图 图片失败

已逐图检查默认列表、长正文、两张图和失败状态。列表主次未改,图片在需要时直接可读;窄屏无横向溢出,角色和回复次序保留。截图中的长重复文字是全文保留反例,不代表模型输出质量。尚未认证完整双端同步、文件下载、卡片或所有图片格式。

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · reasoning_effort=max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

未发现阻塞此精确头的缺陷。审查的是 8487029bc93213208cdd10ad57d1fca095aac5e0 的完整九文件 diff;这是作者自审,不能冒充独立审核或正式 GitHub approval。

动机 / Motivation

用户从已有委派核对原请求时,文字完整,但原来随消息发来的图片消失。同一条带两张图的原请求,旧界面只有正文;新界面在原位置读到两张未裁切的图。精确旧版在同一图片数量断言上得到0而非2,当前版通过完整阅读及失败恢复旅程。本修复不认证多模态推理、消息投递、文件下载、卡片或全部App/Lark双向同步。正式桌面安装采用、真实原图回验与完整双端同步仍要分别核验。原图片已存在,重新发送、复制历史或要求主人找文件都会增加不必要的工作;修正原阅读器即可恢复本次核对所需的视觉上下文。

改动思路 / Approach

附件已经是原Chat消息的规范字段;在既有详情消费它比增加桥接、复制历史或新媒体状态更小。当前PR只交付委派原对话的图片读取、失败反馈与响应身份核对,不改变交办和回传状态。入口仍是委派列表中的原请求,OriginalRequest 从原 Session 的规范消息中选择原 Turn,正文和接收者回复继续完整呈现;新的 OriginalImage 只处理浏览器图片解码反馈。失败是本地显示观测,不是请求、回传或验收状态,也不产生新的 Core 事实。

同一带图原请求 精确旧版 本次 head
完整正文 保留 保留
两张原图 0,图片断言失败 2,完整比例
存储与对外执行 无写入要求 SQLite/Inbox 不变,0 POST

该表解释已运行的对照;未另绘或声称验证流程图。现有主时间线用 cover 缩略图,直接复制会裁掉原证据,所以此处只增加两条作用域内样式,不建设另一套媒体存储或图片框架。普通查看沿原三次导航,无额外声明、确认、配置或复制工作。

具体改动 / Changes

关键代码讲解

OriginalRequest(apps/presentation/dashboard/src/features/personal-workspace/conversation-requests.tsx:139)保留原 AbortController、重开重试、焦点/滚动及精确 Turn 过滤。获取完整快照后先检查返回的 Session 是否等于原请求 Session,随后仍按每条原消息的顺序渲染 Markdown,再读取已有 attachments。错误 Session 即使带着相同 Turn 字段也不会展示;关闭后迟到的响应不能把图片重新挂载。纯文字消息不产生额外图区,正文没有改写或摘要化。

OriginalImage(apps/presentation/dashboard/src/features/personal-workspace/conversation-requests.tsx:133)直接消费既有 ChatImageAttachment.data_url/name,成功时保留可访问名称和原比例;img.onError 才生成局部失败提示。名称由 React 转义,局部状态不写回原消息。CSS(apps/presentation/dashboard/src/features/personal-workspace/conversation-requests.css:30)限制最大宽度并保留自然高度,没有 cover 裁切或新增导航。生产 +16/-2 行,另152行耐久 smoke 复用现有真实 SQLite/Inbox/HTTP fixture;合成 raster 只补入测试响应,不替代实际多模态执行或投递。

规范:docs/development/design.md,不可变 spec_revision=78bd4ff8c5c41a963b2331ee05b813c843b4ea03。原条款没有编号,此处用描述性定位:original-evidence 对应完整原始证据;asynchronous-detail 对应异步阅读焦点、关闭与迟到响应;responsive-reader 对应键盘及窄屏完整阅读;honest-failure 对应真实失败和未知。四项在本地读取边界 implemented,父任务的完整双端消息同步不在本次评审中结清。

对主干的风险 / Risks

最强反例是测试补入图片就宣称生产同步完成。当前证据仅证明生产打包阅读器消费这些既有字段;真实私聊来源/原生桌面的安装采用必须另验。另一风险是显示别的 Turn 或关闭后的迟到图:现有 Turn 过滤与 AbortController 保留,新增 Session 比较使错误来源失败关闭。坏图保留文件名及失败,不能伪装为无附件或成功;重新打开合法来源可以恢复,无消息重放。

PASS:当前打包长文/两图、纯文字、坏图、503重试、外国 Session、其他 Turn、迟到关闭、焦点返回、英文与390px比例;TypeScript/正式构建、CSS token 校验;premerge 四项 direct、两项 catalog、八项风险 smoke 和文本公开边界检查。FAIL(预期回归证据):精确旧包同一断言 0 !== 2。最初混合旧包未作为精确基线,已重建并核验652个 source digest;当前 head 亦逐项匹配。早期 fixture admission、语言重置及隐藏重名定位错误保留于本地,最终修正后的完整旅程两次通过,不靠放松图片、来源或无写入断言过关。

premerge 整体仍报告六项 visual_evidence 人工项;本评审已逐张检查公开合成来源、像素及 PNG chunk,仅 IHDR/IDAT/IEND,无文字/EXIF私密元数据。这是当前精确头的人工处置,不称扫描器自动通过。此 Goal 的 change-quality policy 为 disabled;遵循 wait_for_ci=false,没有查询、轮询或等待 CI。远端 main 新合入7527只改三个无关测试文件,未改变阅读器、规范或本次 fixture,复用证据的输入边界仍有效。

我的整体评价 / Verdict

long_horizon 为 preserved:交办、持久结果、调度及原接收者回传 owner 不变;user_experience 为 improved:原图可直接核对且没有额外许可轮次。已查看13条合成交办的整页、完整长原文、两张图、坏图和390px展开图;责任列表保持紧凑,图在原文后直接可读,未以缩字或裁图压缩。截图不证明完整双端投递、所有图片格式或模型内容质量;原生正式采用不由浏览器替代。附件已经是原Chat消息的规范字段;在既有详情消费它比增加桥接、复制历史或新媒体状态更小。当前PR只交付委派原对话的图片读取、失败反馈与响应身份核对,不改变交办和回传状态。无需新协议、兼容分支或迁移;对既有响应身份做局部核对也改善了邻近错误路径。合并资格仍要独立重读精确头、review threads 和现有授权,安装后再验真实桌面,不能将此有用增量报告为整个同步目标完成。

English verdict: APPROVE — 8487029bc93213208cdd10ad57d1fca095aac5e0 restores original delegation images with source isolation and truthful failures; packaged counterfactual and negative checks qualify this reader-only change.

@loopx-agent
loopx-agent merged commit a85a804 into main Oct 27, 2026
7 of 8 checks passed
@loopx-agent
loopx-agent deleted the codex/delegation-original-media-20261028 branch October 27, 2026 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant