super-productivity/e2e/tests/sync
Johannes Millan 82e7150821 test(sync): unblock #8331 e2e by stripping conflict-response piggyback
The #8331 transient-download regression test failed on every scheduled
run since it landed (abortedResolutionGets stayed 0). The CI trace shows
why: B's pre-upload download is correctly stripped and B's upload IS
rejected CONFLICT_CONCURRENT, but the ops-upload conflict comes back as
HTTP 200 whose body piggybacks the conflicting remote op in `newOps`.
The client LWW-resolves the conflict from that piggyback in-place, so
RejectedOpsHandlerService never issues the separate resolution-download
GET the #8331 fix guards — the path the test arms and aborts.

Fix: the route handler now also forwards B's upload POST to the real
server (keeping the rejection server-computed) and strips
`newOps`/`hasMorePiggyback` from the response. With no piggybacked ops,
the client falls back to the resolution-download GET, which the test
aborts — exercising the guarded catch. A new `strippedConflictPiggybacks`
guard asserts this fired. This stripped-piggyback condition is real in
production when the conflict falls beyond PIGGYBACK_LIMIT (500 ops).

No product code changed; behavior under test is unchanged.
2026-06-13 17:36:16 +02:00
..
ENCRYPTION-E2E-STATUS.md
import-sync.spec.ts
supersync-account-deletion.spec.ts
supersync-account-reset.spec.ts
supersync-advanced-edge-cases.spec.ts
supersync-advanced.spec.ts
supersync-archive-conflict.spec.ts
supersync-archive-data-sync.spec.ts
supersync-archive-subtasks.spec.ts
supersync-backup-import-id-mismatch.spec.ts
supersync-backup-recovery.spec.ts
supersync-cascade-delete.spec.ts
supersync-compaction.spec.ts
supersync-concurrent-delete-reorder.spec.ts
supersync-concurrent-import.spec.ts
supersync-constraint-error-recovery.spec.ts
supersync-cross-entity.spec.ts
supersync-daily-summary.spec.ts
supersync-day-change-overdue-6992.spec.ts
supersync-divergence-bug-6571.spec.ts
supersync-edge-cases.spec.ts
supersync-encryption-conflict.spec.ts
supersync-encryption-password-change.spec.ts
supersync-encryption-password-preservation.spec.ts
supersync-encryption.spec.ts
supersync-error-handling.spec.ts
supersync-error-scenarios.spec.ts
supersync-example-task-fresh-client.spec.ts
supersync-global-config-edge-cases.spec.ts
supersync-import-clean-server-state.spec.ts
supersync-import-clean-slate.spec.ts
supersync-import-conflict-dialog.spec.ts
supersync-import-encryption-change.spec.ts
supersync-import-encryption-preserve.spec.ts
supersync-import-other-client-ops.spec.ts
supersync-import-same-client-ops.spec.ts
supersync-keep-local-archive-preservation.spec.ts
supersync-lastseq-preservation.spec.ts
supersync-late-join.spec.ts
supersync-legacy-migration-sync.spec.ts
supersync-lww-conflict.spec.ts
supersync-lww-singleton.spec.ts
supersync-max-retry-rejection.spec.ts
supersync-models.spec.ts
supersync-multi-tab.spec.ts
supersync-network-failure.spec.ts
supersync-no-op-sync.spec.ts
supersync-planner.spec.ts
supersync-provider-switch-to-supersync.spec.ts
supersync-provider-switch.spec.ts
supersync-realtime-push.spec.ts
supersync-reenable-and-account-switch.spec.ts
supersync-rejected-ops-transient-download-8331.spec.ts test(sync): unblock #8331 e2e by stripping conflict-response piggyback 2026-06-13 17:36:16 +02:00
supersync-repeat-task-advanced.spec.ts
supersync-repeat-task.spec.ts
supersync-server-backup-revert.spec.ts
supersync-server-migration-abort.spec.ts
supersync-server-migration.spec.ts
supersync-simple-counter.spec.ts
supersync-snapshot-vector-clock.spec.ts
supersync-stress.spec.ts
supersync-superseded-clock-regression.spec.ts
supersync-task-ordering.spec.ts
supersync-time-tracking-advanced.spec.ts
supersync-token-expiry.spec.ts
supersync-vector-clock-max-size.spec.ts
supersync-vector-clock-pruning.spec.ts
supersync-worklog.spec.ts
supersync-wrong-password-error.spec.ts
supersync.spec.ts
webdav-conflict-use-remote-restore-8107.spec.ts
webdav-encryption-conflict-use-local.spec.ts
webdav-encryption-disable.spec.ts
webdav-first-sync-conflict.spec.ts
webdav-legacy-migration-sync.spec.ts
webdav-provider-switch.spec.ts
webdav-single-client-rapid-sync.spec.ts
webdav-sync-advanced.spec.ts
webdav-sync-archive.spec.ts
webdav-sync-delete-cascade.spec.ts
webdav-sync-error-handling.spec.ts
webdav-sync-expansion.spec.ts
webdav-sync-full.spec.ts
webdav-sync-tags.spec.ts
webdav-sync-task-order.spec.ts
webdav-sync-today-tag.spec.ts