update comment

This commit is contained in:
Matt Hill
2026-03-09 16:31:37 -06:00
parent 86b0768bbb
commit eb2f35300b

View File

@@ -65,11 +65,9 @@ export class PatchDB<T extends { [key: string]: any }> {
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)
})