Repository navigation
iPaper 1.13.5 — 冲突决定的修订来源与保存状态自愈
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/mainCI 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 导出。