Skip to content

NextDeck 1.1.0 — Sync Audit Fixes + ETag Caching

Choose a tag to compare

@onlymykazari onlymykazari released this 19 Jul 04:20

NextDeck 1.1.0

P0 Critical — 数据丢失 / 同步完全失败

  • savePluginData 顺序修复data.json 优先持久化,索引/图谱写入改为 best-effort try/catch,防止 vault 写入失败时丢失内存状态
  • getStacks 403 防护pullBoardgetStacks 包裹 try/catch,单个 board 的 403 不再中止整次同步
  • fallbackFetchStackCards 实现:当 bulk /stacks 响应不含 cards 时,调用 GET /boards/{bid}/stacks/{sid} 获取卡片

P1 High — 数据陈旧 / 更新遗漏

  • 卡片跨列表移动同步:检测 baseline stackRemoteId 变更,调用 reorderCard API 将移动同步到 Deck
  • dirtyForDisk reconciling guardwriteCardFile 循环设置 reconciling=true,消除幽灵列表竞态条件

P2 Medium — 性能与可靠性

  • ETag 缓存:所有 GET 请求传入缓存 etag(If-None-Match),304 跳过合并,push 后自动失效
  • cardIds 快照保护:清空前快照,部分失败时恢复未处理列表的卡片引用

变更文件

src/plugin.js · src/sync-manager.js · src/deck-client.js · src/sync-mapper.js · src/conflict.js

验证

26 tests pass · build OK · syntax check OK