Skip to content

iPaper 1.13.6 — 被拒冲突决定的重新绑定

Choose a tag to compare

@ifzzh ifzzh released this 23 Sep 06:32
· 4 commits to main since this release

1.13.5 的镜像验收中 V1/V3/V5 通过、仅 V2「保留服务器版本」方向失败。插桩后拿到决定性证据:面板级按钮确实发送了编辑器捕获的"所见修订",但服务端报告笔记已再次前进(note_revision_conflict + preservedConflictId)——即用户看到冲突后笔记又被写入了。服务端拒绝过期决定并保留未看过的内容是正确安全的行为,问题是界面被拒后仍停留在过期修订,点第二次也不会成功。

修复

  • 决定被拒后重新绑定:父级收到 note_revision_conflict 时清掉过期的"所见修订"捕获,重新拉取笔记并把待决冲突绑定到最新的冲突行与修订,用户可再次决定并作用于服务器当前版本(被替换内容已由服务端另存副本)。
  • 编辑器在笔记冲突行变化时重新上报待决冲突,两个阅读器行为一致。
  • 镜像验收脚本把"决定被拒一次"视为合法路径:最多重试三次(每次等待刷新后的按钮),记录每次请求体与响应状态。

验证

  • 隔离笔记套件 21 项、复核 5 个复现、后端 25 项全部通过;类型检查与构建通过。
  • 1.13.5 镜像上的逐步探针确认 V1 收尾为「已保存」(服务器与编辑器同为最新正文、零冲突)。
  • 安全门禁:4×pip-audit 0、Trivy 源码 0、三镜像 0 HIGH/CRITICAL、SBOM、dev/main CI success。
  • 镜像验收:对本补丁镜像复跑 V1/V2/V3/V5。

组件

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

源码提交 42d579a。

限制与回退

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