From 8295c2f098f91510cd2f5eaf2b12a8024213ec3c Mon Sep 17 00:00:00 2001 From: Jonathan Tsai Date: Fri, 27 Mar 2026 18:14:09 +0800 Subject: [PATCH] fix: prevent self-merge in consolidateDuplicates (issue #25) --- src/store.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/store.ts b/src/store.ts index 5b08a5f..a8db5b1 100644 --- a/src/store.ts +++ b/src/store.ts @@ -348,6 +348,12 @@ export class MemoryStore { const older = a.row.timestamp <= b.row.timestamp ? a.row : b.row; const newer = a.row.timestamp <= b.row.timestamp ? b.row : a.row; + + // Skip self-merge: when timestamps are equal, both could reference the same record + if (older.id === newer.id) { + continue; + } + const newerMeta = parseMetadata(newer.metadataJson); const mergedIntoId = newer.id;