From eb2f35300b21ad0a4b53028f6b3c30ac616966d2 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Mon, 9 Mar 2026 16:31:37 -0600 Subject: [PATCH 1/2] update comment --- client/lib/patch-db.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/client/lib/patch-db.ts b/client/lib/patch-db.ts index 8fda5d8..a35d0e8 100644 --- a/client/lib/patch-db.ts +++ b/client/lib/patch-db.ts @@ -65,11 +65,9 @@ export class PatchDB { start() { if (this.sub) return - // @claude fix #14: Previously used `source$.pipe(withLatestFrom(cache$))`. - // Because processUpdates mutates the cache object in place and re-emits it, - // synchronous back-to-back emissions could sample an already-mutated - // reference via withLatestFrom, skipping valid revisions due to the stale - // cache.id check. Reading `this.cache$.value` directly avoids the issue. + // Simplified from `source$.pipe(withLatestFrom(cache$))`. Both are + // equivalent since cache$ is a BehaviorSubject and processUpdates + // mutates/re-emits synchronously, but `.value` is more direct. this.sub = this.source$.subscribe(updates => { this.processUpdates(updates, this.cache$.value) }) From e5a3b34b0d85a404c7ad9994c21fe3a901069e72 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Mon, 9 Mar 2026 16:37:28 -0600 Subject: [PATCH 2/2] remove bad "fix" --- client/lib/patch-db.ts | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/client/lib/patch-db.ts b/client/lib/patch-db.ts index a35d0e8..7866e04 100644 --- a/client/lib/patch-db.ts +++ b/client/lib/patch-db.ts @@ -206,16 +206,6 @@ export class PatchDB { if (this.isRevision(update)) { const expected = cache.id + 1 if (update.id < expected) return - // @claude fix #7: Previously, revision gaps were silently applied. If - // revision 4 was missing and 5 arrived (cache at 3), the patch was - // applied without revision 4's changes, producing corrupt state with - // no indication. Now logs a warning so the issue is visible. - if (update.id > expected) { - console.warn( - `[patch-db] Revision gap detected: expected ${expected}, got ${update.id}. ` + - `State may be inconsistent until the next full dump.`, - ) - } this.handleRevision(update, cache) } else { this.handleDump(update, cache)