Skip to content

iPaper 1.13.5 — 冲突决定的修订来源与保存状态自愈

Choose a tag to compare

@ifzzh ifzzh released this 23 Sep 05:50
· 7 commits to main since this release

1.13.4 之后用已发布镜像自带前端复跑镜像验收,V1/V3/V5 通过、V2 的「保留服务器版本」方向仍失败,且 V1 收尾状态显示"未保存的修改"(服务器与编辑器其实都已是最新正文)。逐步骤诊断确认两处原因并修复。

修了什么

  • 面板级冲突提示的决定没有带上编辑器所见的修订:NoteConflictBanner 调用决定接口时未传 revision,父级只能用自己 state 里的 note 修订(可能已过期)→ 服务端按"过期决定"拒绝,冲突保持未决。现在 revision 优先级为"调用方传入(编辑器捕获的所见修订)→ 编辑器当前待决冲突的修订 → 本页 note 的修订",只有都未知时才先重新拉取一次;编辑器通过 onConflictChange 上报待决冲突,两个阅读器共用,面板入口与编辑器内按钮语义一致。
  • 保存状态自愈:服务器正文与编辑器正文完全一致且无待决冲突时,编辑器立即进入「已保存」(清掉草稿与待发保存),不再对服务器已持有的正文显示"未保存"。

验证

  • 隔离笔记套件增至 21 项,新增:①打开批注页签让编辑器卸载后,用面板级冲突提示"保留我的草稿",断言决定 200、服务器为该文本、被替换的远端文本仍可找回、回到笔记页签显示已保存;②服务器已持有编辑器所显正文时不得显示"未保存"。
  • 复核 5 个复现、后端 25 项与全量 Docker 非集成套件继续通过;安全门禁 pip-audit/Trivy/SBOM 全 0;dev/main CI success。
  • 镜像验收:对本补丁镜像复跑 V1/V2/V3/V5(真实容器自带静态前端 + owner 作用域维护会话,用后撤销)。

组件

仓库 版本 Registry 摘要
ifzzh520/ipaper 1.13.5 sha256:c64121187542fc403b9960527e322984429b3713d02fc6531f242f5b3d989ffc
ifzzh520/ipaper-translation-worker 1.2.0 sha256:a5fa3b4316802c15e99a7387baa49604166fb6092a1aca34b8c5e34de3d52003
ifzzh520/ipaper-document-worker 1.2.0 sha256:2c501ad68bdfc2e282518a813c46e548f598b1af85acc1069058741a45587298

源码提交 133d0cd。

限制与回退

  • 回退基线 Web 1.13.4 + Workers 1.2.0;笔记/冲突/来源记录不因回退丢失。
  • 不含跨论文笔记工作区、Agent、RAG、图谱与带批注 PDF 导出。