super-productivity/e2e
Johannes Millan 4d96c8ffff feat(sync): implement LWW conflict auto-resolution
Replace manual conflict resolution dialogs with automatic Last-Write-Wins
(LWW) resolution based on operation timestamps:

- Add autoResolveConflictsLWW() to ConflictResolutionService
- When remote timestamp >= local: remote wins, local op rejected
- When local timestamp > remote: local wins, create new UPDATE op
  with current entity state and merged vector clock
- Show non-blocking snackbar notification after resolution
- Create safety backup before resolving conflicts

Includes comprehensive test coverage:
- Unit tests for ConflictResolutionService
- Integration tests for LWW timestamp comparison and vector clock merging
- E2E tests for multi-client convergence scenarios

Add detailed LWW documentation with Mermaid diagrams explaining the
algorithm, outcomes, and tradeoffs vs manual resolution.
2025-12-16 16:22:53 +01:00
..
constants refactor(e2e): improve test reliability with deterministic waits 2025-12-11 18:47:56 +01:00
fixtures fix(e2e): reduce console log noise with optional E2E_VERBOSE flag 2025-12-12 20:48:13 +01:00
helpers test: make e2e less flaky 2025-11-14 15:43:22 +01:00
pages fix(sync): fix late joiner and server migration scenarios 2025-12-12 20:48:40 +01:00
tests feat(sync): implement LWW conflict auto-resolution 2025-12-16 16:22:53 +01:00
utils fix(sync): ensure pending writes complete before conflict detection 2025-12-13 11:50:36 +01:00
.gitignore build(ci): resolve e2e webserver timeout issues 2025-08-03 12:36:02 +02:00
global-setup.ts test(e2e): remove console.log statements and replace console.error with throw 2025-08-02 12:25:21 +02:00
playwright.config.ts test(e2e): try to fix e2e tests 2025-12-10 21:26:48 +01:00
tsconfig.json refactor: move tests 2025-08-02 11:37:25 +02:00