mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-17 16:37:43 +00:00
Findings from a multi-agent review of the recent sync extraction: - Seven error classes in @sp/sync-providers shipped with a leading space in `name`, and `UploadRevToMatchMismatchAPIError` was further truncated to ' UploadRevToMatchMismatchAP'. Consumers use instanceof so runtime behavior was preserved, but stack traces, error envelopes, and structured-log meta carried the broken names. Added a regression test asserting instance.name matches ErrCtor.name for all 14 classes. - @sp/sync-core decryptBatch JSDoc claimed Argon2 errors are never silently masked as legacy fallbacks, contradicting the actual catch-and-decryptLegacy path. The fallback is part of the public wire-format contract; rewrote the comment to match the implementation and reference the module-level wire-format spec. - SuperSyncEncryptionToggleService.enable/disableEncryption promised "Clear cache on success" but never called clearSessionKeyCache(). Added the call on the success path in both methods, matching the pattern used by EncryptionPasswordChangeService and FileBasedEncryptionService. - Removed packages/sync-core/tests/ports.spec.ts — 57 LOC of vi.fn().mockResolvedValue type-assertion tests with no production code under test. Port shapes are enforced at the host via `implements` clauses with real behavioral coverage in sibling specs. |
||
|---|---|---|
| .. | ||
| compression.spec.ts | ||
| conflict-resolution.spec.ts | ||
| download-planning.spec.ts | ||
| encryption.spec.ts | ||
| error.util.spec.ts | ||
| full-state-op-types.spec.ts | ||
| remote-apply.spec.ts | ||
| replay-coordinator.spec.ts | ||
| sync-file-prefix.spec.ts | ||
| sync-import-filter.spec.ts | ||
| upload-planning.spec.ts | ||
| vector-clock.spec.ts | ||