Files
ElyOffice/tasks/reviews/C11.8-r1.md
T

2.4 KiB
Raw Blame History

FAIL

crates/ely-office/src/save.rs:236 — 修复文件或已签文件另存成功后,无条件异步 reload 会丢掉保存快照之后的新编辑,违反 FILE-03、QA-08。实测:打开损坏 PDF,开始另存为 fixed.pdf;worker 已生成 work/save.pdf、界面尚未完成目标写入时,排入旋转 90°。另存回调随后关闭原标签并打开旧快照,最终页面尺寸仍为 612×792、dirty=false;应保留旋转后的 792×612 页面及未保存状态。隔离副本的真实 worker 应用探针 review_save_as_keeps_an_edit_queued_after_the_snapshot 稳定失败,证据见 /tmp/ely-c118-save-race.log。修复方向:将重开绑定到发起视图及保存修订,并在实际执行重开前核对已落地和排队中的编辑;保存期间产生的新内容须保留在会话中。

crates/ely-pdf-engine/src/bin/ely-pdf-worker/main.rs:339 — 修复检测仅在 OPEN/UNLOCK 后执行,遗漏读取页树、页面或内容时才发生的 MuPDF 延迟修复,违反 PDF-14。实测:保留正常 startxref,把页树对象 2 的 xref 偏移改为 0000000009;文件可打开并读出页面,MuPDF 输出 repairing PDF document,但应用 risk=None、repair=None,worker 保存报 Can't do incremental writes on a repaired file。独立 IPC 探针还复现了页面、内容及字体对象偏移损坏的同类失败;证据见 /tmp/ely-c118-lazy-repair.log、/tmp/ely-c118-lazy-app.log。修复方向:捕获延迟读取期间的修复诊断,在修复发生后建立可保存的完整副本,并把报告与修复风险同步给应用;回归须覆盖有效 startxref 配合损坏对象偏移。

apps/ely-pdf/src/output.rs:334 — 降采样参数只经 NumberInput::on_commit 写入 Exporting,直接点击导出会移除输入框并带走旧参数,违反 PDF-13。真窗口实测:原图片为 600×600、绘制宽度 100 pt;把 Down to 从 150 键入为 72,AX 确认字段值为 72,直接点击 Export… 并保存,输出图片仍为 208×208,对应默认 150 dpi;同样键入后先按 Enter,输出为预期的 100×100。证据见 /tmp/ely-c118-native-result.log、/tmp/ely-c118-native-ax-typed.txt.log、/tmp/ely-c118-native-stderr.log.log。Above 字段采用同一提交路径。修复方向:在导出取走对话框状态前取得两项当前有效输入,并以该值进行参数关系校验和输出;覆盖键入后直接点击导出的真实交互。