cojson 0.18.17 → 0.18.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
 
2
- > cojson@0.18.17 build /home/runner/_work/jazz/jazz/packages/cojson
2
+ > cojson@0.18.19 build /home/runner/_work/jazz/jazz/packages/cojson
3
3
  > rm -rf ./dist && tsc --sourceMap --outDir dist
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # cojson
2
2
 
3
+ ## 0.18.19
4
+
5
+ ### Patch Changes
6
+
7
+ - cojson-core-wasm@0.18.19
8
+
9
+ ## 0.18.18
10
+
11
+ ### Patch Changes
12
+
13
+ - ed7e353: Add batching on per-coValue updates when the update doesn't come from a local change
14
+ - cojson-core-wasm@0.18.18
15
+
3
16
  ## 0.18.17
4
17
 
5
18
  ### Patch Changes
@@ -36,6 +36,7 @@ export type AvailableCoValueCore = CoValueCore & {
36
36
  verified: VerifiedState;
37
37
  };
38
38
  export declare class CoValueCore {
39
+ #private;
39
40
  readonly node: LocalNode;
40
41
  private readonly crypto;
41
42
  id: RawCoID;
@@ -97,10 +98,9 @@ export declare class CoValueCore {
97
98
  get meta(): JsonValue;
98
99
  nextTransactionID(): TransactionID;
99
100
  tryAddTransactions(sessionID: SessionID, newTransactions: Transaction[], newSignature: Signature, skipVerify?: boolean): Result<true, TryAddTransactionsError>;
100
- deferredUpdates: number;
101
- nextDeferredNotify: Promise<void> | undefined;
102
- updateContentAndNotifyUpdate(notifyMode: "immediate" | "deferred"): void;
103
- notifyUpdate(notifyMode: "immediate" | "deferred"): void;
101
+ private updateCurrentContent;
102
+ private scheduleNotifyUpdate;
103
+ private notifyUpdate;
104
104
  subscribe(listener: (core: CoValueCore, unsub: () => void) => void, immediateInvoke?: boolean): () => void;
105
105
  makeTransaction(changes: JsonValue[], privacy: "private" | "trusting", meta?: JsonObject, madeAt?: number): boolean;
106
106
  getCurrentContent(options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,15 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _CoValueCore_isNotificationScheduled, _CoValueCore_batchedUpdates;
1
13
  import { ValueType, metrics } from "@opentelemetry/api";
2
14
  import { err, ok } from "neverthrow";
3
15
  import { CO_VALUE_LOADING_CONFIG } from "../config.js";
@@ -37,7 +49,8 @@ export class CoValueCore {
37
49
  this.peers = new Map();
38
50
  this.listeners = new Set();
39
51
  this.missingDependencies = new Set();
40
- this.deferredUpdates = 0;
52
+ _CoValueCore_isNotificationScheduled.set(this, false);
53
+ _CoValueCore_batchedUpdates.set(this, false);
41
54
  // The list of merge commits that have been made
42
55
  this.mergeCommits = [];
43
56
  this.branches = [];
@@ -166,7 +179,7 @@ export class CoValueCore {
166
179
  const previousState = this.loadingState;
167
180
  this.peers.set(peerId, { type: "unavailable" });
168
181
  this.updateCounter(previousState);
169
- this.notifyUpdate("immediate");
182
+ this.scheduleNotifyUpdate();
170
183
  }
171
184
  // Checks if the current CoValueCore is already a missing dependency of the given CoValueCore
172
185
  checkCircularDependencies(dependency) {
@@ -201,7 +214,7 @@ export class CoValueCore {
201
214
  unsubscribe();
202
215
  }
203
216
  if (this.isAvailable()) {
204
- this.notifyUpdate("immediate");
217
+ this.scheduleNotifyUpdate();
205
218
  }
206
219
  });
207
220
  this.missingDependencies.add(dependency);
@@ -219,7 +232,7 @@ export class CoValueCore {
219
232
  this._verified = new VerifiedState(this.id, this.node.crypto, header, new SessionMap(this.id, this.node.crypto), streamingKnownState);
220
233
  this.peers.set(fromPeerId, { type: "available" });
221
234
  this.updateCounter(previousState);
222
- this.notifyUpdate("immediate");
235
+ this.scheduleNotifyUpdate();
223
236
  return true;
224
237
  }
225
238
  internalMarkMagicallyAvailable(verified, { forceOverwrite = false } = {}) {
@@ -228,19 +241,19 @@ export class CoValueCore {
228
241
  forceOverwrite,
229
242
  });
230
243
  this.updateCounter(previousState);
231
- this.notifyUpdate("immediate");
244
+ this.scheduleNotifyUpdate();
232
245
  }
233
246
  markErrored(peerId, error) {
234
247
  const previousState = this.loadingState;
235
248
  this.peers.set(peerId, { type: "errored", error });
236
249
  this.updateCounter(previousState);
237
- this.notifyUpdate("immediate");
250
+ this.scheduleNotifyUpdate();
238
251
  }
239
252
  markPending(peerId) {
240
253
  const previousState = this.loadingState;
241
254
  this.peers.set(peerId, { type: "pending" });
242
255
  this.updateCounter(previousState);
243
- this.notifyUpdate("immediate");
256
+ this.scheduleNotifyUpdate();
244
257
  }
245
258
  internalShamefullyCloneVerifiedStateFrom(state, { forceOverwrite = false } = {}) {
246
259
  if (!forceOverwrite && this._verified?.sessions.size) {
@@ -269,7 +282,7 @@ export class CoValueCore {
269
282
  this.groupInvalidationSubscription = entry.subscribe((_groupUpdate) => {
270
283
  // When the group is updated, we need to reset the cached content because the transactions validity might have changed
271
284
  this.internalShamefullyResetCachedContent();
272
- this.notifyUpdate("immediate");
285
+ this.scheduleNotifyUpdate();
273
286
  }, false);
274
287
  }
275
288
  else {
@@ -338,12 +351,13 @@ export class CoValueCore {
338
351
  }
339
352
  const result = this.verified.tryAddTransactions(sessionID, signerID, newTransactions, newSignature, skipVerify);
340
353
  if (result.isOk()) {
341
- this.updateContentAndNotifyUpdate("immediate");
354
+ this.updateCurrentContent();
355
+ this.scheduleNotifyUpdate();
342
356
  }
343
357
  return result;
344
358
  });
345
359
  }
346
- updateContentAndNotifyUpdate(notifyMode) {
360
+ updateCurrentContent() {
347
361
  if (this._cachedContent &&
348
362
  "processNewTransactions" in this._cachedContent &&
349
363
  typeof this._cachedContent.processNewTransactions === "function") {
@@ -353,47 +367,37 @@ export class CoValueCore {
353
367
  this._cachedContent = undefined;
354
368
  }
355
369
  this._cachedDependentOn = undefined;
356
- this.notifyUpdate(notifyMode);
357
370
  }
358
- notifyUpdate(notifyMode) {
371
+ scheduleNotifyUpdate() {
359
372
  if (this.listeners.size === 0) {
360
373
  return;
361
374
  }
362
- if (notifyMode === "immediate") {
363
- for (const listener of this.listeners) {
364
- try {
365
- listener(this, () => {
366
- this.listeners.delete(listener);
367
- });
368
- }
369
- catch (e) {
370
- logger.error("Error in listener for coValue " + this.id, { err: e });
375
+ __classPrivateFieldSet(this, _CoValueCore_batchedUpdates, true, "f");
376
+ if (!__classPrivateFieldGet(this, _CoValueCore_isNotificationScheduled, "f")) {
377
+ __classPrivateFieldSet(this, _CoValueCore_isNotificationScheduled, true, "f");
378
+ queueMicrotask(() => {
379
+ __classPrivateFieldSet(this, _CoValueCore_isNotificationScheduled, false, "f");
380
+ // Check if an immediate update has been notified
381
+ if (__classPrivateFieldGet(this, _CoValueCore_batchedUpdates, "f")) {
382
+ this.notifyUpdate();
371
383
  }
372
- }
384
+ });
373
385
  }
374
- else {
375
- if (!this.nextDeferredNotify) {
376
- this.nextDeferredNotify = new Promise((resolve) => {
377
- setTimeout(() => {
378
- this.nextDeferredNotify = undefined;
379
- this.deferredUpdates = 0;
380
- for (const listener of this.listeners) {
381
- try {
382
- listener(this, () => {
383
- this.listeners.delete(listener);
384
- });
385
- }
386
- catch (e) {
387
- logger.error("Error in listener for coValue " + this.id, {
388
- err: e,
389
- });
390
- }
391
- }
392
- resolve();
393
- }, 0);
386
+ }
387
+ notifyUpdate() {
388
+ if (this.listeners.size === 0) {
389
+ return;
390
+ }
391
+ __classPrivateFieldSet(this, _CoValueCore_batchedUpdates, false, "f");
392
+ for (const listener of this.listeners) {
393
+ try {
394
+ listener(this, () => {
395
+ this.listeners.delete(listener);
394
396
  });
395
397
  }
396
- this.deferredUpdates++;
398
+ catch (e) {
399
+ logger.error("Error in listener for coValue " + this.id, { err: e });
400
+ }
397
401
  }
398
402
  }
399
403
  subscribe(listener, immediateInvoke = true) {
@@ -434,7 +438,10 @@ export class CoValueCore {
434
438
  this.loadVerifiedTransactionsFromLogs({ transaction, changes, meta });
435
439
  const session = this.verified.sessions.get(sessionID);
436
440
  const txIdx = session ? session.transactions.length - 1 : 0;
437
- this.updateContentAndNotifyUpdate("immediate");
441
+ this.updateCurrentContent();
442
+ // force immediate notification because local updates may come from the UI
443
+ // where we need synchronous updates
444
+ this.notifyUpdate();
438
445
  this.node.syncManager.syncLocalTransaction(this.verified, transaction, sessionID, signature, txIdx);
439
446
  return true;
440
447
  }
@@ -855,6 +862,7 @@ export class CoValueCore {
855
862
  });
856
863
  }
857
864
  }
865
+ _CoValueCore_isNotificationScheduled = new WeakMap(), _CoValueCore_batchedUpdates = new WeakMap();
858
866
  function isValidTransactionWithChanges(transaction) {
859
867
  return Boolean(transaction.isValid && transaction.changes);
860
868
  }
@@ -1 +1 @@
1
- {"version":3,"file":"coValueCore.js","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coValueCore.js","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { CoValueCore, idforHeader } from "../coValueCore/coValueCore.js";
3
3
  import { WasmCrypto } from "../crypto/WasmCrypto.js";
4
4
  import { stableStringify } from "../jsonStringify.js";
5
5
  import { LocalNode } from "../localNode.js";
6
- import { agentAndSessionIDFromSecret, createTestMetricReader, createTestNode, createTwoConnectedNodes, loadCoValueOrFail, nodeWithRandomAgentAndSessionID, randomAgentAndSessionID, setupTestNode, tearDownTestMetricReader, } from "./testUtils.js";
6
+ import { agentAndSessionIDFromSecret, createTestMetricReader, createTestNode, createTwoConnectedNodes, loadCoValueOrFail, nodeWithRandomAgentAndSessionID, randomAgentAndSessionID, setupTestNode, tearDownTestMetricReader, waitFor, } from "./testUtils.js";
7
7
  import { CO_VALUE_PRIORITY } from "../priority.js";
8
8
  import { setMaxTxSizeBytes } from "../config.js";
9
9
  const Crypto = await WasmCrypto.create();
@@ -111,7 +111,8 @@ test("New transactions in a group correctly update owned values, including subsc
111
111
  ], "trusting");
112
112
  expect(group.get(agent.id)).toBe("revoked");
113
113
  dateNowMock.mockReset();
114
- expect(listener).toHaveBeenCalledTimes(2);
114
+ // Group invalidation updates are async
115
+ await waitFor(() => expect(listener).toHaveBeenCalledTimes(2));
115
116
  expect(listener).toHaveBeenLastCalledWith(undefined);
116
117
  expect(map.core.getValidSortedTransactions().length).toBe(0);
117
118
  });
@@ -1 +1 @@
1
- {"version":3,"file":"coValueCore.test.js","sourceRoot":"","sources":["../../src/tests/coValueCore.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coValueCore.test.js","sourceRoot":"","sources":["../../src/tests/coValueCore.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "type": "module",
31
31
  "license": "MIT",
32
- "version": "0.18.17",
32
+ "version": "0.18.19",
33
33
  "devDependencies": {
34
34
  "@opentelemetry/sdk-metrics": "^2.0.0",
35
35
  "libsql": "^0.5.13",
@@ -43,7 +43,7 @@
43
43
  "@scure/base": "1.2.1",
44
44
  "neverthrow": "^7.0.1",
45
45
  "unicode-segmenter": "^0.12.0",
46
- "cojson-core-wasm": "0.18.17"
46
+ "cojson-core-wasm": "0.18.19"
47
47
  },
48
48
  "gitHead": "33c27053293b4801b968c61d5c4c989f93a67d13",
49
49
  "scripts": {
@@ -277,7 +277,7 @@ export class CoValueCore {
277
277
  const previousState = this.loadingState;
278
278
  this.peers.set(peerId, { type: "unavailable" });
279
279
  this.updateCounter(previousState);
280
- this.notifyUpdate("immediate");
280
+ this.scheduleNotifyUpdate();
281
281
  }
282
282
 
283
283
  missingDependencies = new Set<RawCoID>();
@@ -323,7 +323,7 @@ export class CoValueCore {
323
323
  }
324
324
 
325
325
  if (this.isAvailable()) {
326
- this.notifyUpdate("immediate");
326
+ this.scheduleNotifyUpdate();
327
327
  }
328
328
  });
329
329
 
@@ -360,7 +360,7 @@ export class CoValueCore {
360
360
  this.peers.set(fromPeerId, { type: "available" });
361
361
 
362
362
  this.updateCounter(previousState);
363
- this.notifyUpdate("immediate");
363
+ this.scheduleNotifyUpdate();
364
364
 
365
365
  return true;
366
366
  }
@@ -374,21 +374,21 @@ export class CoValueCore {
374
374
  forceOverwrite,
375
375
  });
376
376
  this.updateCounter(previousState);
377
- this.notifyUpdate("immediate");
377
+ this.scheduleNotifyUpdate();
378
378
  }
379
379
 
380
380
  markErrored(peerId: PeerID, error: TryAddTransactionsError) {
381
381
  const previousState = this.loadingState;
382
382
  this.peers.set(peerId, { type: "errored", error });
383
383
  this.updateCounter(previousState);
384
- this.notifyUpdate("immediate");
384
+ this.scheduleNotifyUpdate();
385
385
  }
386
386
 
387
387
  markPending(peerId: PeerID) {
388
388
  const previousState = this.loadingState;
389
389
  this.peers.set(peerId, { type: "pending" });
390
390
  this.updateCounter(previousState);
391
- this.notifyUpdate("immediate");
391
+ this.scheduleNotifyUpdate();
392
392
  }
393
393
 
394
394
  internalShamefullyCloneVerifiedStateFrom(
@@ -431,7 +431,7 @@ export class CoValueCore {
431
431
  this.groupInvalidationSubscription = entry.subscribe((_groupUpdate) => {
432
432
  // When the group is updated, we need to reset the cached content because the transactions validity might have changed
433
433
  this.internalShamefullyResetCachedContent();
434
- this.notifyUpdate("immediate");
434
+ this.scheduleNotifyUpdate();
435
435
  }, false);
436
436
  } else {
437
437
  logger.error("CoValueCore: Owner group not available", {
@@ -528,17 +528,15 @@ export class CoValueCore {
528
528
  );
529
529
 
530
530
  if (result.isOk()) {
531
- this.updateContentAndNotifyUpdate("immediate");
531
+ this.updateCurrentContent();
532
+ this.scheduleNotifyUpdate();
532
533
  }
533
534
 
534
535
  return result;
535
536
  });
536
537
  }
537
538
 
538
- deferredUpdates = 0;
539
- nextDeferredNotify: Promise<void> | undefined;
540
-
541
- updateContentAndNotifyUpdate(notifyMode: "immediate" | "deferred") {
539
+ private updateCurrentContent() {
542
540
  if (
543
541
  this._cachedContent &&
544
542
  "processNewTransactions" in this._cachedContent &&
@@ -550,47 +548,47 @@ export class CoValueCore {
550
548
  }
551
549
 
552
550
  this._cachedDependentOn = undefined;
553
-
554
- this.notifyUpdate(notifyMode);
555
551
  }
556
552
 
557
- notifyUpdate(notifyMode: "immediate" | "deferred") {
553
+ #isNotificationScheduled = false;
554
+ #batchedUpdates = false;
555
+
556
+ private scheduleNotifyUpdate() {
558
557
  if (this.listeners.size === 0) {
559
558
  return;
560
559
  }
561
560
 
562
- if (notifyMode === "immediate") {
563
- for (const listener of this.listeners) {
564
- try {
565
- listener(this, () => {
566
- this.listeners.delete(listener);
567
- });
568
- } catch (e) {
569
- logger.error("Error in listener for coValue " + this.id, { err: e });
561
+ this.#batchedUpdates = true;
562
+
563
+ if (!this.#isNotificationScheduled) {
564
+ this.#isNotificationScheduled = true;
565
+
566
+ queueMicrotask(() => {
567
+ this.#isNotificationScheduled = false;
568
+
569
+ // Check if an immediate update has been notified
570
+ if (this.#batchedUpdates) {
571
+ this.notifyUpdate();
570
572
  }
571
- }
572
- } else {
573
- if (!this.nextDeferredNotify) {
574
- this.nextDeferredNotify = new Promise((resolve) => {
575
- setTimeout(() => {
576
- this.nextDeferredNotify = undefined;
577
- this.deferredUpdates = 0;
578
- for (const listener of this.listeners) {
579
- try {
580
- listener(this, () => {
581
- this.listeners.delete(listener);
582
- });
583
- } catch (e) {
584
- logger.error("Error in listener for coValue " + this.id, {
585
- err: e,
586
- });
587
- }
588
- }
589
- resolve();
590
- }, 0);
573
+ });
574
+ }
575
+ }
576
+
577
+ private notifyUpdate() {
578
+ if (this.listeners.size === 0) {
579
+ return;
580
+ }
581
+
582
+ this.#batchedUpdates = false;
583
+
584
+ for (const listener of this.listeners) {
585
+ try {
586
+ listener(this, () => {
587
+ this.listeners.delete(listener);
591
588
  });
589
+ } catch (e) {
590
+ logger.error("Error in listener for coValue " + this.id, { err: e });
592
591
  }
593
- this.deferredUpdates++;
594
592
  }
595
593
  }
596
594
 
@@ -674,7 +672,11 @@ export class CoValueCore {
674
672
  const session = this.verified.sessions.get(sessionID);
675
673
  const txIdx = session ? session.transactions.length - 1 : 0;
676
674
 
677
- this.updateContentAndNotifyUpdate("immediate");
675
+ this.updateCurrentContent();
676
+
677
+ // force immediate notification because local updates may come from the UI
678
+ // where we need synchronous updates
679
+ this.notifyUpdate();
678
680
  this.node.syncManager.syncLocalTransaction(
679
681
  this.verified,
680
682
  transaction,
@@ -21,6 +21,7 @@ import {
21
21
  randomAgentAndSessionID,
22
22
  setupTestNode,
23
23
  tearDownTestMetricReader,
24
+ waitFor,
24
25
  } from "./testUtils.js";
25
26
  import { CO_VALUE_PRIORITY } from "../priority.js";
26
27
  import { setMaxTxSizeBytes } from "../config.js";
@@ -189,7 +190,9 @@ test("New transactions in a group correctly update owned values, including subsc
189
190
  expect(group.get(agent.id)).toBe("revoked");
190
191
  dateNowMock.mockReset();
191
192
 
192
- expect(listener).toHaveBeenCalledTimes(2);
193
+ // Group invalidation updates are async
194
+ await waitFor(() => expect(listener).toHaveBeenCalledTimes(2));
195
+
193
196
  expect(listener).toHaveBeenLastCalledWith(undefined);
194
197
  expect(map.core.getValidSortedTransactions().length).toBe(0);
195
198
  });