super-productivity/android/app
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 fix(sync): preserve section semantics during conflict replay (#9326) 2026-07-27 16:01:07 +02:00
.gitignore ____MERGING SUPER PRODUCTIVITY ANDROID ____ 2024-10-11 14:11:23 +02:00
app_config.properties ____MERGING SUPER PRODUCTIVITY ANDROID ____ 2024-10-11 14:11:23 +02:00
build.gradle fix(sync): preserve section semantics during conflict replay (#9326) 2026-07-27 16:01:07 +02:00
capacitor.build.gradle feat(android): migrate edge-to-edge to built-in SystemBars (#8543) 2026-06-22 16:07:06 +02:00
config.gradle ____MERGING SUPER PRODUCTIVITY ANDROID ____ 2024-10-11 14:11:23 +02:00
google.properties ____MERGING SUPER PRODUCTIVITY ANDROID ____ 2024-10-11 14:11:23 +02:00
proguard-rules.pro feat(droid): background sync notifications for android 2026-03-20 10:24:02 +01:00