From 2e6db17a9467b6951be7abf6d7d12c10ca01f87a Mon Sep 17 00:00:00 2001 From: Drew Ansbacher Date: Wed, 15 Sep 2021 15:44:52 -0600 Subject: [PATCH] local sequence bug --- client/lib/store.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/client/lib/store.ts b/client/lib/store.ts index 4ae4625..a0bc2b9 100644 --- a/client/lib/store.ts +++ b/client/lib/store.ts @@ -38,10 +38,9 @@ export class Store { } update (update: Update): void { - // if old or known, return - if (update.id <= this.cache.sequence || this.stash.get(update.id)) return - if (this.isRevision(update)) { + // if old or known, return + if (update.id <= this.cache.sequence || this.stash.get(update.id)) return this.handleRevision(update) } else { this.handleDump(update) @@ -52,6 +51,7 @@ export class Store { Object.values(this.watchedNodes).forEach(node => node.complete()) this.watchedNodes = { } this.stash.clear() + this.sequence$.next(0) } private handleRevision (revision: Revision): void { @@ -76,7 +76,6 @@ export class Store { Object.entries(dump.value).forEach(([key, val]) => { (this.cache.data as any)[key] = val }) - this.stash.deleteRange(this.cache.sequence, dump.id, false) this.updateWatchedNodes('') this.updateSequence(dump.id) @@ -101,7 +100,6 @@ export class Store { private applyRevisions (id: number): void { let revision = this.stash.get(id)?.revision - while (revision) { let undo: Operation[] = []