Repository navigation
feat(sync): Native 个人知识树离线创建、移动与冲突恢复 - #831
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
本次修改
Android 登录态个人知识树可以先在 Native SQLite 保存 Markdown/富文本和普通文件夹,再由现有 Sync V2 同步。文件夹支持根级、嵌套、已有文档下创建及移动/批量移动/排序;新目录内可继续创建文档。断网、重启或 ACK 丢失保持稳定资源与 mutationId,恢复网络自动上传。
完整个人树订阅保存跨文档父子关系;schema 7 无损扩展既有 Outbox/Conflict。业务资源先于结构意图发送,结构 Apply 沿用现有 tuple CAS 和容器感知的移动服务。创建、结构投影、来源记录与两类 Outbox 同事务落库。后续业务重命名保留隐藏兼容容器,避免重新触发新建守卫。全量重建页内新建的文件夹依据原始创建 mutationId 保留,快照缺席不误记为远端墓碑;真实多库回归覆盖并发嵌套创建及正文。REST 树提交后发送不含正文的同步提示。
Native 图不提供 ACL。已有权限快照的原始父链及本机意图父链均须是个人 owner、无文件夹密码,并与 Native 图一致;仅本机创建来源可补充待交接的目录。在线元数据接管权限。结构并发保留双方位置并支持两种选择;远端目录永久删除先保留本机意图和子正文,再等待明确选择。
数据一致性 / 用户数据安全
本次涉及的契约编号和验收记录
本地回归检查
com.nowen.note.syncacceptance、隔离数据库、实际 Native SQLite/生产 API Bridge:离线创建文件夹/嵌套/文档子目录及目录内 Markdown、立即读取、强制停止重开、mutationId 与正文保留、自动上传及回执、移动/冲突、丢提示轮询和重连通过。APK/后端来源 c3d9b9f,crash buffer 0 行;第二客户端接收由独立 SQLite 回归证明。c260199c的 CI 状态以检查为准,正在重跑。此前c892f5ea的 Android Local-first、契约、知识树、移动树、Docker 插件、导入、扩展、语音与数据保护门禁通过。后续范围
保持 Draft,目标
release/v1.5.2,不合并、发布或关闭 #829。普通文件夹删除/恢复、文档/脑图/文件移动与正文/附件队列联动,以及共享/密码路径和真实设备专项验收仍需后续阶段。