aboutsummaryrefslogtreecommitdiffstats
path: root/src/ark
diff options
context:
space:
mode:
Diffstat (limited to 'src/ark')
-rw-r--r--src/ark/manager.js4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ark/manager.js b/src/ark/manager.js
index a443370..471c4e0 100644
--- a/src/ark/manager.js
+++ b/src/ark/manager.js
@@ -161,6 +161,10 @@ export class ArkManager {
}
_save() {
+ // a monotonic revision that bumps on every state change — lets memoized
+ // derivations (history build, etc.) invalidate exactly when the data
+ // changes instead of on a timer that re-cools between interactions
+ this.state._rev = (this.state._rev || 0) + 1;
this.storage.save(this.state);
this.onUpdate(this);
}