Block a user
M-DOC-FULL P3 | office_preview_mode 无人调用
修复完成
问题
office_preview_mode() 仅转发 mt.preview_mode(),无人调用。
修复
删除函数 + 移除未使用的 PreviewMode import。
验证
cargo test…
M-DOC-FULL P3 | office_preview_mode 无人调用
M-DOC-FULL P2 | EPUB read_epub_metadata 与 read_epub_chapters 重复 ZIP 解析
修复完成
问题
read_epub_metadata() 和 read_epub_chapters() 各自独立执行 ZIP 打开 + OPF 解析,调用两次等于重复全部步骤。
修复
新增 `read_epub(file…
M-DOC-FULL P2 | EPUB read_epub_metadata 与 read_epub_chapters 重复 ZIP 解析
DOC-FULL-A7 P2 | Deserialize field rename 与 uniffi 兼容性验证
验证完成
结论
#[serde(rename)] + #[derive(uniffi::Enum)] 共存无冲突。
验证方法
1. serde 路径(已验证)
test_deserialize_from_camel_case_json—…
DOC-FULL-A7 P2 | Deserialize field rename 与 uniffi 兼容性验证
DOC-FULL-A6 P1 | Session 无超时清理,内存泄漏
修复完成
问题
F6: start_reading_session_v2 创建的 session 永远留在 HashMap 中。iOS crash/被杀后无清理 → 内存泄漏。
修复
新增 `cleanup_stale_sessions_v…
DOC-FULL-A6 P1 | Session 无超时清理,内存泄漏
DOC-FULL-031 P1 | 文档:ReadingEvent 协议 【status:partial】
DOC-FULL-032 P1 | 文档:Supported Formats 【status:partial】
DOC-FULL-033 P1 | 文档:FFI Troubleshooting 【status:todo】
DOC-FULL-030 P1 | 文档:iOS 接入指南 【status:partial】
DOC-FULL-030 P1 | 文档:iOS 接入指南 【status:partial】
完成报告
更新内容
docs/ios-integration.md 新增 V2 API 章节:
- ReadingMaterialRef 创建 + startSession 流程
- 5 种事件推送(MaterialOpened/PositionChanged/Heartbeat/…
DOC-FULL-031 P1 | 文档:ReadingEvent 协议 【status:partial】
完成报告
新增文档
docs/reading-event-protocol.md — 完整 V2 协议文档:
- ReadingSessionV2 结构 + 生命周期(Active→Paused→Active→Closed)
- ReadingMaterialRef…
DOC-FULL-032 P1 | 文档:Supported Formats 【status:partial】
完成报告
更新内容
docs/supported-formats.md 新增:
- 第二版(已支持):EPUB 元数据/章节列表 + PDF 元数据/页数检测 + Office 预览策略
- EPUB…
DOC-FULL-033 P1 | 文档:FFI Troubleshooting 【status:todo】
完成报告
新增文档
docs/ffi-troubleshooting.md — FFI 排错指南:
13 个常见问题 + 解决:
- No such module ZxDocumentRuntime
- Undefined symbol ffi_zx_document…
DOC-FULL-012A P1 | Markdown 解析完整性验收 【status:todo】
DOC-FULL-018A P1 | PDF / EPUB SearchResult 扩展 【status:todo】
DOC-FULL-019A P1 | NoteAnchor 完整性验收 + from_search_result 【status:todo】
DOC-FULL-036 P1 | Markdown Block 完整性测试 【status:todo】