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

4.2 KiB
Raw Blame History

FAIL

crates/ely-pdf-engine/shim/ely_ocr.c:210 — OCR 文字流设置 3 Tr 后沿用该文本渲染状态,导致同页后续插入的普通文字也成为隐藏文字。复现:真实 worker 对空白页写入 OCR 层,再用 put_text 插入黑色 24 pt 的 VISIBLE TEXT;接口成功、文本提取包含新增文字,但整页渲染与插入前逐像素相同。违反 PRD §11.1 的共享编辑规则,影响 OCR 后的文字编辑与保存内容。隔离探针 review_ocr_keeps_later_inserted_text_visible 失败;在副本中为 OCR 流加入配对的 q/Q 后通过。修复方向:在 OCR 流内部保存、恢复图形及文本状态,并覆盖 OCR 后继续插入文字的像素回归。

apps/ely-pdf/src/ocr.rs:254 — 范围字段通过 on_commit 更新,点击“识别”时仍可能使用当前字段的旧值,违反 PDF-08 的页面范围选择。复现:真窗口打开两页 PDF,选择 Range,将起始页直接键入 2,保持该字段焦点,再点击 Recognize;AX 和截图均显示 From page=2、To page=2,日志却记录 OCR of 2 pages,实际范围仍为第 1 至第 2 页。副本改为同步范围草稿后,同样操作记录 OCR of 1 pages。修复方向:识别前读取并校验两端当前草稿,或在输入变化时同步有效范围值;补测直接键入后点击提交的真实输入顺序。

apps/ely-pdf/src/ocr.rs:138 — OCR 回调只核对标签、文档版本和页码,连续运行可以共用这三个值,导致取消任务的结果或错误进入新任务。复现:ELY_TESSDATA 指向仅含有效英文数据的目录,启动繁体中文识别,立即取消并启动英文识别;旧任务的语言加载错误将新任务的 ocr 清空,新任务最终写入次数为 0。真实 worker 应用探针 review_cancelled_run_cannot_abort_a_replacement_run 失败,加入独立运行标识后通过。修复方向:每次识别分配独立标识,逐页回调核对该标识,并丢弃已取消运行的成功和失败结果;补测取消后立即重启。

crates/ely-pdf-engine/shim/ely_ocr.c:51 — 多语言识别接受 Tesseract 的部分语言加载成功,遗漏所选语言时仍向应用返回成功,违反 PDF-08 的语言选择及 agents.md 的错误暴露规则。复现:数据目录只有有效 eng.traineddata,调用 ocr_page(..., "eng+chi_sim", ...);stderr 报 Failed loading language 'chi_sim',API 却返回包含 Hello world 的 Ok。应用默认选择英文和简体中文,也会进入该路径;现有坏语言测试只覆盖所有语言都加载失败。隔离探针 review_each_requested_ocr_language_is_required 失败。修复方向:逐一校验所选语言数据,并确保识别初始化完整加载所选语言;部分加载失败必须向应用报错,补测多语言中一项缺失或损坏。

crates/ely-pdf-engine/shim/ely_meta.c:137 — 附件枚举和按名读取、删除仅覆盖 EmbeddedFiles 名字树,遗漏页面 FileAttachment 批注的 /FS 文件,违反 PDF-07 和 PRD §11.1 的附件查看与管理。复现:打开一页有效 PDF,页面包含 FileAttachment 批注,其 Filespec 指向内容为 notes 的嵌入流,文档没有 EmbeddedFiles 名字树;marks 正常列出 FileAttachment,attachments 返回空列表,附件栏显示空状态,保存附件路径也无法取得该文件。隔离探针 review_file_attachment_is_listed 失败;TASKS.md 所列未验证限制在本轮已复现。修复方向:把页面批注里的嵌入文件纳入附件枚举、读取和移除,并以实际文件身份区分重名附件;补测仅有批注附件的 PDF。

crates/ely-pdf-engine/shim/ely_meta.c:152 — 附件大小直接采用 Filespec 的可选 /Params /Size,字段省略时将引擎给出的 0 显示成已知的 0 B,掩盖实际附件数据。复现:有效 PDF 的 EmbeddedFiles 名字树含 note.txt,嵌入流有 5 字节 notes,省略 /Params /Size;attachment 返回这 5 字节,attachments 却返回 size=0,界面显示 0 B。隔离探针 review_optional_attachment_size_uses_actual_length 失败,影响 PDF-07 附件查看,并违反缺失数据显式处理规则。修复方向:通过实际嵌入流确定大小,覆盖省略大小参数与实际空附件的区别。