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

14 lines
4.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-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 附件查看,并违反缺失数据显式处理规则。修复方向:通过实际嵌入流确定大小,覆盖省略大小参数与实际空附件的区别。