super-productivity/packages/shared-schema
Johannes Millan 76d9836ac3
fix(sync): preserve section semantics during conflict replay (#9326)
* fix(sync): preserve section semantics during conflict replay

Add real-client regression coverage for SECTION convergence and REPAIR recovery, plus durable WebDAV migration stages, released-client policy, and Capacitor lifecycle I/O.\n\nUse fail-closed SECTION metadata validation and causal replay so concurrent move, removal, and reorder operations cannot collapse into lossy entity snapshots.\n\nRefs #9262

* fix(sync): harden section replay safety

Defer semantic replay when retained or pending operations can reorder the transition, while allowing valid null and same-section placements.

Verify release provenance and strengthen WebDAV and fresh-client recovery coverage.

* fix(sync): make section replay state-based and atomic

Project section replacements against a stable reducer snapshot so later accepted actions and deleted anchors are represented. Persist replacements and predecessor rejection in one operation-log transaction.

* fix(sync): preserve scoped section replay order

Scope SECTION projection to the originating work context and preserve Project/Tag ordering when a removed task is later re-added.

Persist dependent placement compensations in current predecessor order and cover the real server rejection path.

* fix(sync): preserve legacy section removal ordering

Pair projected section removals with an exact work-context state update so v18.4.0-v18.4.3 retain task ordering.

* test(sync): require complete legacy compensation state

* fix(sync): avoid duplicate rejected-op recovery

* test(sync): prove single-cycle rejected-op recovery
2026-07-27 16:01:07 +02:00
..
src Merge branch 'feat/with-the-latest-changes-i-get-your-app-4212df' 2026-07-17 20:47:30 +02:00
tests fix(sync): preserve section semantics during conflict replay (#9326) 2026-07-27 16:01:07 +02:00
.gitignore build: ignore files 2026-05-13 19:59:02 +02:00
package.json refactor(sync-core): drop shared-schema vector-clock compat re-export anda app enum (#8441) 2026-06-17 16:21:26 +02:00
tsconfig.json fix(shared-schema): fix module resolution for bundler compatibility 2026-01-11 13:20:16 +01:00
tsup.config.ts fix(shared-schema): use tsup for dual ESM/CJS build 2026-01-11 14:05:23 +01:00
vitest.config.ts feat(sync): add shared schema versioning package for frontend/backend 2025-12-12 20:47:44 +01:00