14 lines
3.9 KiB
Markdown
14 lines
3.9 KiB
Markdown
FAIL
|
||
|
||
crates/ely-ipc/src/relay.rs:10 — 原样记录引擎 stderr 会把文档正文写入诊断日志,违反 PRD §18.2。复现:生成一页 PDF,内容流包含 `(ZqxPrivate42) Tj` 和损坏的操作符 `ZqxPrivate42`;对本轮独立构建的 PDF worker 发 OPEN、TEXT,stderr 出现 `syntax error: unknown keyword: 'ZqxPrivate42'`。同一 relay 将该行逐字写入应用的 ely.log;默认诊断导出也会携带该正文。证据:`/tmp/ely-c18-2-r1/pdf-privacy.log`、`relay.log`。修复方向:在引擎原生错误/警告输出与应用日志之间建立内容边界,日志仅记录经过审核的诊断字段;包含文档数据的原始错误通过用户错误通道交付。增加损坏 PDF 的真实 worker 日志回归。
|
||
|
||
crates/ely-platform/src/diagnostics.rs:101 — “去掉路径与个人姓名”仅替换家目录前缀,仍导出其他完整路径。复现:日志为 `opened /Volumes/ClientSecret/payroll.pdf`,使用家目录 `/Users/ana` 的默认 Redact 调用 bundle,导出的内容仍含 `/Volumes/ClientSecret/payroll.pdf`,文件分隔标题也保留原始路径。补充测试 `probe_bundle`、`probe_paths_and_names` 均失败,见 `/tmp/ely-c18-2-r1/probes.log`;现有 privacy.sh 只检查家目录,两个完整运行均打印成功。修复方向:脱敏日志正文与文件标题中的文件路径及 URL,覆盖外置卷、家目录外的目录和各平台路径形式,并加入对应导出断言。
|
||
|
||
crates/ely-platform/src/diagnostics.rs:105 — 按原顺序逐个替换姓名会让长姓名被短姓名提前拆开,个人信息仍进入默认导出。复现:账户名为 `Ana`、设置作者名为 `Ana Lee`;of_account 将账户名排在作者名前,apply(`Ana Lee`) 得到 `<user> Lee`,姓氏仍保留。`probe_overlapping_names` 实测失败,见 `/tmp/ely-c18-2-r1/probes.log`。修复方向:优先匹配完整的最长姓名,避免替换结果破坏后续匹配;为账户名与作者名重叠的情况加入回归断言。
|
||
|
||
crates/ely-platform/src/diagnostics.rs:26 — ely.log 元数据查询的错误被吞掉,诊断页面将读取失败显示为空列表。复现:将日志位置设为指向自身的符号链接,metadata 返回 ELOOP,gather 却返回 `Ok([])`,页面显示“暂无可导出的内容”;目录权限导致的 PermissionDenied 也走同一路径。`probe_log_error` 实测失败,见 `/tmp/ely-c18-2-r1/probes.log`。修复方向:仅将 NotFound 作为日志尚未创建处理,其余元数据错误返回给现有诊断错误界面,并测试读取失败的情况。
|
||
|
||
crates/ely-ipc/src/relay.rs:10 — relay 将 worker 原始模块 target 改为 `lok-worker`/`pdf-worker` 后再次过滤,导致两端共享 ELY_LOG 时丢失按模块开启的日志。复现:设置 `ELY_LOG=ely_lok=warn`,worker 的 `[... WARN ely_lok::worker] worker reached` 满足其日志过滤条件;应用 relay 使用 `lok-worker` target,落盘日志为 0 字节。独立构建的 relay 探针在 `ELY_LOG=info` 下记录同一告警,见 `/tmp/ely-c18-2-r1/relay.log`、`relay-filter.log`。修复方向:保留结构化 worker 记录的原始模块 target 与等级,使同一 ELY_LOG 过滤规则在汇总后继续有效,并覆盖模块过滤配置的回归。
|
||
|
||
tests/scripts/privacy.sh:8 — EXIT trap 中终止子进程后直接 wait,在 set -e 下以子进程的 SIGTERM 状态中断清理,成功验收也返回失败。复现:本轮两次完整真窗口运行均输出 `ok: privacy`,随后退出码为 143,两个临时目录均残留;相同 trap 的最小子进程复现也返回 143,后续清理语句跳过。证据:`/tmp/ely-c18-2-r1/privacy.log`、`privacy-repeat.log`、`verification.log`。修复方向:保存验收退出状态,对已设置的 pid 执行终止与回收,显式处理预期的 wait 状态,确保临时目录清理完成后返回原验收状态;同时覆盖成功和启动失败的清理路径。
|