NextDeck 1.1.0 — Sync Audit Fixes + ETag Caching
NextDeck 1.1.0
P0 Critical — 数据丢失 / 同步完全失败
- savePluginData 顺序修复:
data.json优先持久化,索引/图谱写入改为 best-effort try/catch,防止 vault 写入失败时丢失内存状态 - getStacks 403 防护:
pullBoard中getStacks包裹 try/catch,单个 board 的 403 不再中止整次同步 - fallbackFetchStackCards 实现:当 bulk
/stacks响应不含 cards 时,调用GET /boards/{bid}/stacks/{sid}获取卡片
P1 High — 数据陈旧 / 更新遗漏
- 卡片跨列表移动同步:检测 baseline
stackRemoteId变更,调用reorderCardAPI 将移动同步到 Deck - dirtyForDisk reconciling guard:
writeCardFile循环设置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