Files
ElyOffice/tasks/reviews/C18.1-r1.md
T

12 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FAIL
crates/ely-ui/src/settings/window.rs:94 — 作者字段只在窗口创建时读取一次,外部更新后,旧字段失焦会覆盖其他应用刚写入的值。真窗口复现:以 author=Ana 打开 ElyPDF 设置并聚焦作者框,将共用配置的 author 改成 Bob,等待一秒;AX 字段仍为 Ana,直接按 Tab 后磁盘被写回 Ana。证据:/tmp/c18-r1-native-probe.log、/tmp/c18-r1-external-author.ax。修复方向:跟随共用设置更新尚未编辑的字段,提交依据本次实际编辑及其基准值;覆盖“外部更新后原字段直接失焦”的回归场景。
crates/ely-ui/src/settings/window.rs:111 — Git 校验任务各自直接落盘,旧任务较晚完成会覆盖后一次提交,回调也缺少输入版本核对。真窗口复现:先提交 A(--version 等待五秒后执行随带 Git 的脚本),随后提交 B(随带 Git 的路径);B 先保存成功,A 完成后配置被改回 A,AX 字段继续显示 B。证据:/tmp/c18-r1-git-race.log。修复方向:为校验、写入与错误回显绑定提交序号,保证落盘遵守最新提交,丢弃过期任务的写入和回显;补延迟校验的回归测试。
crates/ely-ui/src/settings/mod.rs:109 — 写入失败刚设置的 Current.error 被紧接着的成功重读清除,保存错误仅进入日志。真窗口复现:保留有效的浅色配置,将同目录 .settings.lock 建成目录,点击 Dark;日志报告 appearance not saved: Is a directory,磁盘仍为 light,设置窗口的 AX 树没有错误提示。证据:/tmp/c18-r1-native-probe.log、/tmp/c18-r1-failed-write.ax。修复方向:更新读入状态后保留此次写入失败,向用户显示保存错误,并覆盖“配置可读、写入失败”的测试路径。
crates/ely-ui/src/settings/window.rs:76 — ElyTree 应用偏好读取失败时被换成空字符串,git_error 初始化为 None;窗口的通用错误 Banner 只读取共用配置错误,应用配置错误因此只出现在日志。真窗口复现:共用 settings.json 有效,ely-tree/settings.json 内容为 {,启动 ElyTree 并打开设置的 Git 页;日志记录解析失败,AX 显示空 Git program 字段和默认随带 Git 的说明,窗口缺少读取错误提示。证据:/tmp/c18-r1-corrupt-tree.log、/tmp/c18-r1-corrupt-tree.ax。修复方向:保留并显示应用配置的读取错误,字段状态明确关联该错误;补共用文件正常、应用文件损坏的窗口测试。
crates/ely-platform/src/git.rs:43(同类路径 apps/ely-tree/src/git.rs:132)— 版本校验只解析 stdout,吞掉进程失败状态及 stderr。独立调用复现:程序向 stdout 输出 git version 2.56.0,向 stderr 输出 fatal: version query failed,并退出 7;system_version 返回 Ok("git version 2.56.0"),设置提交会接受该失败结果。证据:/tmp/c18-r1-git-probe.log。修复方向:先核对 --version 的成功退出状态,将失败状态与错误输出传回,再解析版本;两条版本读取路径均补带合法版本文本的非零退出测试。