Files
ElyOffice/tasks/reviews/C13.3-r1.md
T

4.8 KiB
Raw Blame History

FAIL

apps/ely-tree/src/tree.rs:107 — 提交草稿与 amend 状态由所有仓库共用,标签切换直接改变 active(view.rs:60),随后 committing.rs:80 把共用状态用于当前仓库。场景:在 A 勾选修改最近提交,等待读完,再切到干净的 B 点击提交;隔离窗口探针确认 B 的 HEAD 被改写,提交信息变成 A 的信息。真窗口还确认 A 的迟到读取会填进 B 的 Summary。违反 TREE-05 的提交对象一致性。修复方向:按仓库保存提交框、草稿与 amend 目标,切换时恢复对应状态,并核对读取所属仓库;补充双仓库 amend 回归。

apps/ely-tree/src/committing.rs:58 — amend 读取缺少请求序号与取消校验,每次成功回调都会填入信息并设 amend=true。场景:最近提交读取较慢时连续点击两次勾选框,放行第一次读取后取消勾选,再放行第二次读取;真窗口 AX 从取消后的 Commit to master 变回 Amend master,Summary 再次成为 A commit。隔离探针 set_amend(true)→set_amend(false) 同样被迟到回复重新开启。修复方向:保存发起时的草稿,为读取分配序号,取消时使待处理请求失效,回调核对当前请求与用户选择;测试重复点击和取消期间的迟到回复。

apps/ely-tree/src/work.rs:243 — 提交完成调用 committed(),committing.rs:88 无条件清空当前提交框,丢失提交期间新增的输入,也会清空用户切换到另一仓库后输入的草稿。场景:提交信息为 submitted,提交尚在执行时把摘要改为 next draft;隔离窗口探针确认 Git 保存 submitted,完成后摘要却成为空串。修复方向:提交请求携带所属仓库和草稿修订,只清理此次已提交且仍保持同一修订的输入;补充慢 hook 期间继续键入及切换仓库的测试。

apps/ely-tree/src/look.rs:186 — Blame 回调仅比较路径,文件历史回调(75)同样只比较路径,文件历史差异回调(141)只增加列表下标校验,均遗漏仓库与读取实例。场景:延迟 A/clean.txt 的读取,切到 B 并打开同名文件,先显示 B 的结果再放行 A;真实 Git、真窗口 AX 确认 Blame 的 B commit 被 A commit 替换,文件历史也从 B commit 变成 A commit。两个隔离窗口探针分别复现。违反 agents.md:181 声明的仓库、提交与文件核对。修复方向:三个回调均核对仓库和面板实例序号,差异读取再核对提交身份;关闭、重开或换仓库时使旧请求失效,增加迟到结果回归。

apps/ely-tree/src/work.rs:85 — commit -F - 沿用 commit.cleanup,用户配置 strip 时会删掉提交说明中以 # 开头的正文,与 agents.md:181 的保留承诺冲突。场景:设置 commit.cleanup=strip,输入 probe\n\n# required body 并提交;随附 Git 2.56.0 的隔离探针读回的信息只有 probe。原有提交测试只覆盖默认清理设置。修复方向:明确采用保留正文 # 行的 cleanup 模式,并覆盖用户已配置 strip 的提交与 amend。

apps/ely-tree/src/pane.rs:253 — 历史提交的文件差异走 view_only(),其 headless() 路径提供的操作缺少文件历史和 Blame;这两个功能的唯一入口位于改动文件的头部(117)。场景:打开只有已提交 clean.txt 的干净仓库,在 History 选提交、再选 clean.txt;真窗口截图与 AX 确认文件差异已显示,所有菜单和该文件界面均缺少 File History / Blame,用户须先修改文件才能访问 TREE-06 功能。修复方向:在已有提交文件列表或差异中接入文件历史和适用的 Blame 操作,覆盖干净仓库的实际入口测试。

apps/ely-tree/src/hist_pane.rs:70 — 提交详情的 DescriptionList 和文本节点缺少 AX 文本语义,作者、完整提交号、签名、引用与说明落不到辅助技术;组件 src/git/commits.rs:115 的引用标签也只参与绘制。场景:真窗口选择 Native history fixture,再选择 clean.txt;截图显示 Review review@example.test、完整提交号、Not signed、HEAD → master,AX 树仅包含提交摘要与 clean.txt,以上字段均缺失。违反 UX-12,也与 agents.md:181 声明的 AX 提交详情和引用验证冲突。修复方向:给详情与引用提供对应的名称、角色、文本和状态,使用真实 AX 对具体字段值断言;当前 ElyTree 43 项与组件 Git 27 项测试全部通过,未覆盖这些缺失。

../Ely-GPUI-Components/src/git/blame.rs:68 — 范围内注释超过十词:此处为 40 词,blame.rs:17、27、39、80 分别为 21、12、18、11 词;commits.rs:17、30、188 分别为 18、20、26 词;changes.rs:19、40、62、101、127、333、338 分别为 14、11、35、12、13、12、30 词。按空白分词的源码检查直接复现,违反本轮明确要求的单行十词上限。修复方向:压缩这些注释至十词以内,保留必要说明。