Files
ElyOffice/tasks/reviews/C18.2-r3.md
T

10 lines
3.2 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-platform/src/diagnostics.rs:130 — 引号路径的结束位置未处理转义,默认脱敏会保留路径内转义引号之后的文件名。具体复现:把 macOS 崩溃报告格式的 `{"usedImages":[{"path":"/Volumes/ClientSecret/Tax \"Salary Report\".pdf"}]}` 作为诊断包的一部分,调用 `bundle(..., Some(&Redact::default()))`,结果为 `{"usedImages":[{"path":"<path>"Salary Report\".pdf"}]}`,仍含 `Salary Report`。现有脱敏测试通过,新增断言在原实现失败;临时副本识别转义后的结束引号后通过。证据:`/tmp/ely-c18-2-r3/diagnostic-extra.log`、`diagnostic-baseline-tests.log`、`diagnostic-repair-tests.log`。修复方向:按输入格式识别完整引号字符串,处理转义引号,再替换整个路径;覆盖崩溃报告中的合法带引号文件名。
crates/ely-platform/src/diagnostics.rs:163 — 按字节截取日志尾部后直接脱敏,截断点落在路径中间时,路径前缀消失,剩余文件名被原样导出。具体复现:日志以 `opened '/Volumes/ClientSecret/Tax Salary Report.pdf'\n` 开始,后接填充日志,使最后 4 MiB 恰好从 `Tax Salary Report.pdf` 开始;经 `gather(AppId::Doc)` 和默认脱敏的 `bundle` 导出,第一行仍含该文件名。新增断言在原实现失败;副本跳过被截断的首行后通过,原有日志尾部测试也通过。证据:`/tmp/ely-c18-2-r3/diagnostic-probe.log`、`diagnostic-baseline-tests.log`、`diagnostic-repair-tests.log`。修复方向:尾部读取从完整记录边界开始,覆盖截断点位于路径及姓名内部的回归。
crates/ely-platform/src/diagnostics.rs:97 — `of_account` 忽略姓名来源的读取错误,导出流程继续把缺少作者名的过滤器当作成功脱敏。具体复现:隔离 HOME 下的共享配置为 `{"version":1,"appearance":"ZqxAuthor42","author":"ZqxAuthor42"}`;启动真实 ElyDoc 后,设置读取失败的应用日志含姓名 `ZqxAuthor42`。使用 `Redact::of_account()` 导出该应用日志,调用成功且姓名完整保留。账户姓名读取的 `.ok()` 也会丢弃读取错误。证据:`/tmp/ely-c18-2-r3/invalid-settings-app.log`、`diagnostic-extra.log`;副本让姓名来源错误经 `Result` 返回后,阻止脱敏导出的断言通过。修复方向:将脱敏资料读取错误传回设置导出流程,显示具体失败并保留重试入口,资料读取成功后再导出。
crates/ely-lok/src/bin/ely-lok-worker.rs:14 — worker 启动失败仍用非结构化 `eprintln!` 输出原因,该记录被新的 `relay` 当作原生输出丢弃,客户端也仅收到管道关闭。具体复现:使用有效的空 profile 目录,对不存在的安装目录调用真实 `Worker::spawn`;worker 的原始错误为 `lok-worker: No such file or directory (os error 2)`,客户端只返回 `the lok worker failed: the lok worker closed its output (exit status: 1)`,文件系统错误原因消失。证据:`/tmp/ely-c18-2-r3/startup-probe.log`。修复方向:让 worker 自己的启动失败使用中继可识别的结构化记录,并通过启动错误通道向客户端保留可显示的失败原因;增加真实 worker 初始化失败的回归。