Commit graph

5 commits

Author SHA1 Message Date
Corey Newton
80f9465cb4
chore: fix LF/CRLF for errant SCSS file (again) (#7117)
Re-committing as this was undone by d32f7037a3
2026-04-09 19:42:54 +02:00
Johannes Millan
d32f7037a3 fix(sync): preserve own vector clock counter across full-state op resets
When a full-state op (SYNC_IMPORT/BACKUP_IMPORT) arrived from another
client, mergeRemoteOpClocks reset the local clock to a "minimal" form
but only preserved the current client's counter from the incoming op's
clock. If the current client had issued ops (e.g. GLOBAL_CONFIG) not
reflected in the incoming full-state op's clock, its counter was dropped,
causing subsequent ops to reuse the same counter value. Downstream clients
then saw these ops as EQUAL (duplicate) and skipped them silently.

Fix: take max(mergedClock[clientId], currentClock[clientId]) when
rebuilding the clock after a full-state op reset.

Also add __SP_E2E_BLOCK_WS_DOWNLOAD flag to WsTriggeredDownloadService
to allow E2E tests to block automatic WS-triggered downloads during
concurrent conflict scenarios.

Fix archive conflict test by blocking WS downloads on Client A during
the concurrent edit phase so it doesn't auto-receive B's rename via
WebSocket before archiving (restoring the intended conflict scenario).

Fix LWW singleton test to assert convergence rather than specific winner.
Fix renameTask helper to avoid Playwright/Angular re-render races.
Fix shepherd.js import paths that broke the Angular dev server build.
2026-04-01 15:41:13 +02:00
Corey Newton
bbc12f70dc
chore: fix LF/CRLF for errant SCSS file (#7047)
.gitattribute added to help reduce the potential of this in the future.
2026-03-31 13:05:01 +02:00
Johannes Millan
c106b74523 cleanup unused sp1 files 2019-01-27 10:31:07 +01:00
Johannes Millan
1e531a9091 initial commit 2016-12-30 17:57:06 +01:00