Skip to content

feat(core): 支持取消同步并保护不完整产物 - #6

Open
sonofmagic wants to merge 1 commit into
mainfrom
codex/sync-integrity-cancellation
Open

sonofmagic wants to merge 1 commit into
mainfrom
codex/sync-integrity-cancellation

Conversation

@sonofmagic

Copy link
Copy Markdown
Member

Figma 选中节点缺少导出 URL、SVG 下载或导入失败时,原先可能静默丢图并覆盖旧产物。这次统一加载、处理和校验的失败判断:默认拒绝不完整同步,返回可定位的失败明细并保留旧产物。

同时为 sync() 增加可选 AbortSignal,贯穿请求、下载及图标处理。所有产物先临时生成,提交前取消会保留旧产物;提交开始后等待提交完成并返回成功,I/O 失败尝试恢复备份。不承诺跨路径原子发布或进程崩溃恢复。

主要变化

  • 显式 continueOnError 返回 complete: false 和节点/阶段诊断,标记删除 diff 不可信,不生成删除记录或 changelog,并使完整同步缓存标记失效。
  • 取消会中断在途请求并等待已启动工作结束;共享 OAuth 刷新及凭据持久化安全完成后再返回取消。
  • 暂存与提交覆盖 JSON、SVG、JSON package、类型、预览、changelog 和同步缓存,兼容嵌套输出及 package 清理策略。
  • 更新 CLI 输出、公开类型、中英文文档及 core/CLI 的 minor changeset。

验证

  • 工作区测试:26 个文件、137 项用例通过,覆盖部分失败、重试、取消、OAuth 共享刷新、暂存与提交回滚。
  • pnpm build、pnpm typecheck、pnpm lint 通过;lint 仅有既有警告。
  • core 公开类型测试、repo doctor、repo check、pnpm change check 通过。

Closes #4
Closes #5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant