From 4755779975a140660e66acfcec2cc899179b0b71 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 31 Dec 2025 18:25:56 +0900 Subject: refactor(sync): remove legacy LWW conflict resolution strategy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove the deprecated "newer_wins" strategy from the conflict resolver as CRDT is now the default and validated approach. The system now uses only "crdt", "server_wins", and "local_wins" strategies. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/client/sync/conflict.test.ts | 58 ---------------------------------------- 1 file changed, 58 deletions(-) (limited to 'src/client/sync/conflict.test.ts') diff --git a/src/client/sync/conflict.test.ts b/src/client/sync/conflict.test.ts index e648373..6cef6b0 100644 --- a/src/client/sync/conflict.test.ts +++ b/src/client/sync/conflict.test.ts @@ -210,64 +210,6 @@ describe("ConflictResolver", () => { const updatedDeck = await localDeckRepository.findById(localDeck.id); expect(updatedDeck?.name).toBe("Local Name"); }); - - it("should use server data when server is newer with newer_wins strategy", async () => { - const localDeck = await localDeckRepository.create({ - userId: "user-1", - name: "Local Name", - description: null, - newCardsPerDay: 10, - }); - - const serverDeck = { - id: localDeck.id, - userId: "user-1", - name: "Server Name", - description: null, - newCardsPerDay: 20, - createdAt: new Date("2024-01-01"), - updatedAt: new Date(Date.now() + 10000), // Server is newer - deletedAt: null, - syncVersion: 5, - }; - - const resolver = new ConflictResolver({ strategy: "newer_wins" }); - const result = await resolver.resolveDeckConflict(localDeck, serverDeck); - - expect(result.resolution).toBe("server_wins"); - - const updatedDeck = await localDeckRepository.findById(localDeck.id); - expect(updatedDeck?.name).toBe("Server Name"); - }); - - it("should use local data when local is newer with newer_wins strategy", async () => { - const localDeck = await localDeckRepository.create({ - userId: "user-1", - name: "Local Name", - description: null, - newCardsPerDay: 10, - }); - - const serverDeck = { - id: localDeck.id, - userId: "user-1", - name: "Server Name", - description: null, - newCardsPerDay: 20, - createdAt: new Date("2024-01-01"), - updatedAt: new Date("2024-01-01"), // Server is older - deletedAt: null, - syncVersion: 5, - }; - - const resolver = new ConflictResolver({ strategy: "newer_wins" }); - const result = await resolver.resolveDeckConflict(localDeck, serverDeck); - - expect(result.resolution).toBe("local_wins"); - - const updatedDeck = await localDeckRepository.findById(localDeck.id); - expect(updatedDeck?.name).toBe("Local Name"); - }); }); describe("resolveCardConflict", () => { -- cgit v1.2.3-70-g09d2