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

3.1 KiB
Raw Blame History

FAIL

apps/ely-tree/src/hist.rs:191 — 历史读取期间的外部更新会永久漏掉:refresh_log 在 hist.read=false 或 hist.loading=true 时直接返回,读取完成后也没有补读。场景:真窗口首次打开历史,用包装器保留随附 Git 已生成的旧 log 输出;等待期间从终端创建 External while history loads,确认 watcher 的状态读取已经完成,再放行旧输出。Git 有两条提交,AX 历史列表持续只有 Native history fixture,master 引用也仍附在旧提交上;再次切换历史页仍保持旧列表。违反 TREE-06 与 agents.md:181 的外部引用变化即重读承诺。修复方向:记录读取期间收到的刷新请求,在当前读取结束后重新核对引用并从头读取;增加慢历史读取与外部提交交错的回归。

apps/ely-tree/src/hist.rs:202 — 引用刷新失败只写日志,用户继续看到旧历史,缺少错误反馈。场景:历史已显示后,在隔离仓库的 .git/refs/heads/broken 写入 broken-ref;真实 Git show-ref --head 返回 128,日志包含 fatal: git show-ref: bad ref refs/heads/broken,真窗口 AX 仍只有原历史内容,用户界面没有对应错误。违反项目“出错就暴露”规则。修复方向:把引用读取失败记录到该仓库的历史错误状态并通知界面,保留 Git 的原话;覆盖失败及修复引用后的恢复。

apps/ely-tree/src/tree.rs:395 — 外部 Git 配置变化触发状态重读时,提交身份与签名缓存保持旧值;read_me 仅在打开仓库和本应用写配置成功后调用。场景:真窗口显示 Review review@example.test,从终端设置 user.name=ChangedIdentity、commit.gpgsign=true、gpg.format=ssh;日志确认配置变化后的状态与引用读取完成,提交框仍显示 Review,身份对话框也填入 Review。随后 Git 提交使用新的身份与签名设置,界面给出的提交身份已经失真。违反 TREE-05 与 agents.md:181 的实际 Git 设置展示。修复方向:配置变化后使身份与签名缓存失效并在后台重读,核对读取版本;增加窗口内外部配置变化的回归。

apps/ely-tree/src/committing.rs:166 — 身份对话框的姓名、邮箱 TextInput 没有无障碍名称;asks.rs:95 的 DescriptionList::item 只绘制旁边的标签。场景:真窗口点击提交身份,AX 中两个输入框分别只有 value=Review 和 value=review@example.test,title 与 label 均为空,“姓名”“邮箱”也未进入 AX;屏幕阅读器无法识别两个字段的用途。违反 UX-12。现有身份测试仅核对 Git 配置值,窗口测试未覆盖此对话框。修复方向:给两个 TextInput 设置对应的本地化 label,并以真实 AX 断言字段名称与值。

../Ely-GPUI-Components/src/git/viewer.rs:36 — 范围内仍有超过十词的注释:viewer.rs:36、126、137 分别为 41、18、11 词;src/i18n/builtin.rs:1、3、173 分别为 16、13、20 词。按空白分词的源码检查直接复现,违反本轮明确要求的单行十词上限。修复方向:把这些注释压缩至十词以内。