Skip to content

fix: 同步与导出的数据安全与执行层正确性 - #4

Merged
ceynri merged 1 commit into
mainfrom
fix/sync-correctness
Oct 2, 2026
Merged

ceynri merged 1 commit into
mainfrom
fix/sync-correctness

Conversation

@ceynri

@ceynri ceynri commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

情境

同步执行层以前几乎没有单测,若干路径会丢数据或给出假成功:同名笔记写到同一个文件、首次 sync 把 export 产物再上传一份、删除直接 purge、JSON 模式吞掉单条失败、子目录新文件建到云端根目录。

这次改什么

  • 同名笔记加 _<id> 后缀;旧状态文件下次 sync 自动修复
  • 首次 sync 认领已有 Markdown:内容一致记为已同步,不一致当冲突
  • 删除云端只进回收站
  • 部分失败写入 data.errors,进程退出码 2
  • 本地子目录映射同名云端文件夹(没有就创建);云端标题取文件名
  • 生成计划后任一端又改了,该条跳过
  • 交互冲突可按 d 看差异
  • export 增量缓存放在全局缓存目录,不往笔记目录写状态
  • 附件下载失败时正文照常落盘;失败条目不进 export 缓存
  • 子目录笔记的图片引用写成 ../assets/

本 PR 带同步执行层单测(内存假客户端)。

怎么 merge

叠放 PR 第 4 个,也是最后一组。合完 #1–#3 后把 base 改成 main 再合。

@ceynri
ceynri added this pull request to stack #6 October 2, 2026 09:01
@ceynri
ceynri force-pushed the fix/sync-correctness branch from 3260989 to 6a00e93 Compare October 2, 2026 09:01
Base automatically changed from feat/image-pipeline to main October 2, 2026 09:04
同名笔记加 id 后缀避免互相覆盖;首次 sync 认领已有 export 文件;
删除只进回收站;部分失败写入 data.errors 并以退出码 2 结束;
本地子目录映射云端文件夹,标题取文件名;过期计划跳过不覆盖;
export 增量缓存;附件下载失败不再毁掉正文。
@ceynri
ceynri force-pushed the fix/sync-correctness branch from 6a00e93 to d8968c8 Compare October 2, 2026 09:04
@ceynri
ceynri merged commit 1c70c52 into main Oct 2, 2026
3 checks passed
@ceynri
ceynri deleted the fix/sync-correctness branch October 2, 2026 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant