cojson 0.18.33 → 0.18.34

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.
Files changed (75) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +9 -0
  3. package/dist/SyncStateManager.d.ts.map +1 -1
  4. package/dist/SyncStateManager.js +2 -2
  5. package/dist/SyncStateManager.js.map +1 -1
  6. package/dist/coValueCore/SessionMap.d.ts.map +1 -1
  7. package/dist/coValueCore/SessionMap.js +9 -15
  8. package/dist/coValueCore/SessionMap.js.map +1 -1
  9. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  10. package/dist/coValueCore/coValueCore.js +3 -4
  11. package/dist/coValueCore/coValueCore.js.map +1 -1
  12. package/dist/coValueCore/verifiedState.d.ts +3 -1
  13. package/dist/coValueCore/verifiedState.d.ts.map +1 -1
  14. package/dist/coValueCore/verifiedState.js +10 -4
  15. package/dist/coValueCore/verifiedState.js.map +1 -1
  16. package/dist/knownState.d.ts +9 -1
  17. package/dist/knownState.d.ts.map +1 -1
  18. package/dist/knownState.js +29 -3
  19. package/dist/knownState.js.map +1 -1
  20. package/dist/localNode.d.ts.map +1 -1
  21. package/dist/localNode.js +2 -1
  22. package/dist/localNode.js.map +1 -1
  23. package/dist/queue/LocalTransactionsSyncQueue.d.ts +10 -9
  24. package/dist/queue/LocalTransactionsSyncQueue.d.ts.map +1 -1
  25. package/dist/queue/LocalTransactionsSyncQueue.js +53 -47
  26. package/dist/queue/LocalTransactionsSyncQueue.js.map +1 -1
  27. package/dist/storage/knownState.js +2 -2
  28. package/dist/storage/knownState.js.map +1 -1
  29. package/dist/sync.d.ts +1 -2
  30. package/dist/sync.d.ts.map +1 -1
  31. package/dist/sync.js +0 -1
  32. package/dist/sync.js.map +1 -1
  33. package/dist/tests/coPlainText.test.js +13 -14
  34. package/dist/tests/coPlainText.test.js.map +1 -1
  35. package/dist/tests/coValueCore.isCompletelyDownloaded.test.js +3 -2
  36. package/dist/tests/coValueCore.isCompletelyDownloaded.test.js.map +1 -1
  37. package/dist/tests/coValueCore.isStreaming.test.js +54 -3
  38. package/dist/tests/coValueCore.isStreaming.test.js.map +1 -1
  39. package/dist/tests/group.childKeyRotation.test.js +9 -9
  40. package/dist/tests/group.childKeyRotation.test.js.map +1 -1
  41. package/dist/tests/knownState.test.js +82 -10
  42. package/dist/tests/knownState.test.js.map +1 -1
  43. package/dist/tests/sync.load.test.js +29 -29
  44. package/dist/tests/sync.mesh.test.js +38 -31
  45. package/dist/tests/sync.mesh.test.js.map +1 -1
  46. package/dist/tests/sync.storage.test.js +24 -23
  47. package/dist/tests/sync.storage.test.js.map +1 -1
  48. package/dist/tests/sync.storageAsync.test.js +24 -23
  49. package/dist/tests/sync.storageAsync.test.js.map +1 -1
  50. package/dist/tests/sync.upload.test.js +58 -58
  51. package/dist/tests/testUtils.d.ts +11 -9
  52. package/dist/tests/testUtils.d.ts.map +1 -1
  53. package/dist/tests/testUtils.js +26 -16
  54. package/dist/tests/testUtils.js.map +1 -1
  55. package/package.json +3 -3
  56. package/src/SyncStateManager.ts +8 -2
  57. package/src/coValueCore/SessionMap.ts +18 -15
  58. package/src/coValueCore/coValueCore.ts +4 -11
  59. package/src/coValueCore/verifiedState.ts +20 -5
  60. package/src/knownState.ts +48 -4
  61. package/src/localNode.ts +6 -3
  62. package/src/queue/LocalTransactionsSyncQueue.ts +77 -93
  63. package/src/storage/knownState.ts +2 -2
  64. package/src/sync.ts +0 -1
  65. package/src/tests/coPlainText.test.ts +13 -14
  66. package/src/tests/coValueCore.isCompletelyDownloaded.test.ts +3 -2
  67. package/src/tests/coValueCore.isStreaming.test.ts +84 -2
  68. package/src/tests/group.childKeyRotation.test.ts +9 -9
  69. package/src/tests/knownState.test.ts +106 -9
  70. package/src/tests/sync.load.test.ts +29 -29
  71. package/src/tests/sync.mesh.test.ts +38 -31
  72. package/src/tests/sync.storage.test.ts +24 -23
  73. package/src/tests/sync.storageAsync.test.ts +24 -23
  74. package/src/tests/sync.upload.test.ts +58 -58
  75. package/src/tests/testUtils.ts +30 -18
@@ -297,36 +297,36 @@ describe("client to server upload", () => {
297
297
  })).toMatchInlineSnapshot(`
298
298
  [
299
299
  "client -> server | CONTENT Group header: true new: After: 0 New: 5",
300
- "client -> server | CONTENT Map header: true new: After: 0 New: 72 expectContentUntil: header/1024",
301
- "client -> server | CONTENT Map header: false new: After: 72 New: 73",
302
- "client -> server | CONTENT Map header: false new: After: 145 New: 73",
303
- "client -> server | CONTENT Map header: false new: After: 218 New: 73",
304
- "client -> server | CONTENT Map header: false new: After: 291 New: 73",
305
- "client -> server | CONTENT Map header: false new: After: 364 New: 73",
306
- "client -> server | CONTENT Map header: false new: After: 437 New: 73",
307
- "client -> server | CONTENT Map header: false new: After: 510 New: 73",
308
- "client -> server | CONTENT Map header: false new: After: 583 New: 73",
309
- "client -> server | CONTENT Map header: false new: After: 656 New: 73",
310
- "client -> server | CONTENT Map header: false new: After: 729 New: 73",
311
- "client -> server | CONTENT Map header: false new: After: 802 New: 73",
312
- "client -> server | CONTENT Map header: false new: After: 875 New: 73",
313
- "client -> server | CONTENT Map header: false new: After: 948 New: 73",
314
- "client -> server | CONTENT Map header: false new: After: 1021 New: 3",
300
+ "client -> server | CONTENT Map header: true new: After: 0 New: 73 expectContentUntil: header/1024",
301
+ "client -> server | CONTENT Map header: false new: After: 73 New: 73",
302
+ "client -> server | CONTENT Map header: false new: After: 146 New: 73",
303
+ "client -> server | CONTENT Map header: false new: After: 219 New: 73",
304
+ "client -> server | CONTENT Map header: false new: After: 292 New: 73",
305
+ "client -> server | CONTENT Map header: false new: After: 365 New: 73",
306
+ "client -> server | CONTENT Map header: false new: After: 438 New: 73",
307
+ "client -> server | CONTENT Map header: false new: After: 511 New: 73",
308
+ "client -> server | CONTENT Map header: false new: After: 584 New: 73",
309
+ "client -> server | CONTENT Map header: false new: After: 657 New: 73",
310
+ "client -> server | CONTENT Map header: false new: After: 730 New: 73",
311
+ "client -> server | CONTENT Map header: false new: After: 803 New: 73",
312
+ "client -> server | CONTENT Map header: false new: After: 876 New: 73",
313
+ "client -> server | CONTENT Map header: false new: After: 949 New: 73",
314
+ "client -> server | CONTENT Map header: false new: After: 1022 New: 2",
315
315
  "server -> client | KNOWN Group sessions: header/5",
316
- "server -> client | KNOWN Map sessions: header/72",
317
- "server -> client | KNOWN Map sessions: header/145",
318
- "server -> client | KNOWN Map sessions: header/218",
319
- "server -> client | KNOWN Map sessions: header/291",
320
- "server -> client | KNOWN Map sessions: header/364",
321
- "server -> client | KNOWN Map sessions: header/437",
322
- "server -> client | KNOWN Map sessions: header/510",
323
- "server -> client | KNOWN Map sessions: header/583",
324
- "server -> client | KNOWN Map sessions: header/656",
325
- "server -> client | KNOWN Map sessions: header/729",
326
- "server -> client | KNOWN Map sessions: header/802",
327
- "server -> client | KNOWN Map sessions: header/875",
328
- "server -> client | KNOWN Map sessions: header/948",
329
- "server -> client | KNOWN Map sessions: header/1021",
316
+ "server -> client | KNOWN Map sessions: header/73",
317
+ "server -> client | KNOWN Map sessions: header/146",
318
+ "server -> client | KNOWN Map sessions: header/219",
319
+ "server -> client | KNOWN Map sessions: header/292",
320
+ "server -> client | KNOWN Map sessions: header/365",
321
+ "server -> client | KNOWN Map sessions: header/438",
322
+ "server -> client | KNOWN Map sessions: header/511",
323
+ "server -> client | KNOWN Map sessions: header/584",
324
+ "server -> client | KNOWN Map sessions: header/657",
325
+ "server -> client | KNOWN Map sessions: header/730",
326
+ "server -> client | KNOWN Map sessions: header/803",
327
+ "server -> client | KNOWN Map sessions: header/876",
328
+ "server -> client | KNOWN Map sessions: header/949",
329
+ "server -> client | KNOWN Map sessions: header/1022",
330
330
  "server -> client | KNOWN Map sessions: header/1024",
331
331
  ]
332
332
  `);
@@ -356,37 +356,37 @@ describe("client to server upload", () => {
356
356
  [
357
357
  "client -> server | CONTENT Group header: true new: After: 0 New: 5",
358
358
  "client -> server | CONTENT Map header: true new: ",
359
- "client -> server | CONTENT Map header: false new: After: 0 New: 72 expectContentUntil: header/1024",
360
- "client -> server | CONTENT Map header: false new: After: 72 New: 73",
361
- "client -> server | CONTENT Map header: false new: After: 145 New: 73",
362
- "client -> server | CONTENT Map header: false new: After: 218 New: 73",
363
- "client -> server | CONTENT Map header: false new: After: 291 New: 73",
364
- "client -> server | CONTENT Map header: false new: After: 364 New: 73",
365
- "client -> server | CONTENT Map header: false new: After: 437 New: 73",
366
- "client -> server | CONTENT Map header: false new: After: 510 New: 73",
367
- "client -> server | CONTENT Map header: false new: After: 583 New: 73",
368
- "client -> server | CONTENT Map header: false new: After: 656 New: 73",
369
- "client -> server | CONTENT Map header: false new: After: 729 New: 73",
370
- "client -> server | CONTENT Map header: false new: After: 802 New: 73",
371
- "client -> server | CONTENT Map header: false new: After: 875 New: 73",
372
- "client -> server | CONTENT Map header: false new: After: 948 New: 73",
373
- "client -> server | CONTENT Map header: false new: After: 1021 New: 3",
359
+ "client -> server | CONTENT Map header: false new: After: 0 New: 73 expectContentUntil: header/1024",
360
+ "client -> server | CONTENT Map header: false new: After: 73 New: 73",
361
+ "client -> server | CONTENT Map header: false new: After: 146 New: 73",
362
+ "client -> server | CONTENT Map header: false new: After: 219 New: 73",
363
+ "client -> server | CONTENT Map header: false new: After: 292 New: 73",
364
+ "client -> server | CONTENT Map header: false new: After: 365 New: 73",
365
+ "client -> server | CONTENT Map header: false new: After: 438 New: 73",
366
+ "client -> server | CONTENT Map header: false new: After: 511 New: 73",
367
+ "client -> server | CONTENT Map header: false new: After: 584 New: 73",
368
+ "client -> server | CONTENT Map header: false new: After: 657 New: 73",
369
+ "client -> server | CONTENT Map header: false new: After: 730 New: 73",
370
+ "client -> server | CONTENT Map header: false new: After: 803 New: 73",
371
+ "client -> server | CONTENT Map header: false new: After: 876 New: 73",
372
+ "client -> server | CONTENT Map header: false new: After: 949 New: 73",
373
+ "client -> server | CONTENT Map header: false new: After: 1022 New: 2",
374
374
  "server -> client | KNOWN Group sessions: header/5",
375
375
  "server -> client | KNOWN Map sessions: header/0",
376
- "server -> client | KNOWN Map sessions: header/72",
377
- "server -> client | KNOWN Map sessions: header/145",
378
- "server -> client | KNOWN Map sessions: header/218",
379
- "server -> client | KNOWN Map sessions: header/291",
380
- "server -> client | KNOWN Map sessions: header/364",
381
- "server -> client | KNOWN Map sessions: header/437",
382
- "server -> client | KNOWN Map sessions: header/510",
383
- "server -> client | KNOWN Map sessions: header/583",
384
- "server -> client | KNOWN Map sessions: header/656",
385
- "server -> client | KNOWN Map sessions: header/729",
386
- "server -> client | KNOWN Map sessions: header/802",
387
- "server -> client | KNOWN Map sessions: header/875",
388
- "server -> client | KNOWN Map sessions: header/948",
389
- "server -> client | KNOWN Map sessions: header/1021",
376
+ "server -> client | KNOWN Map sessions: header/73",
377
+ "server -> client | KNOWN Map sessions: header/146",
378
+ "server -> client | KNOWN Map sessions: header/219",
379
+ "server -> client | KNOWN Map sessions: header/292",
380
+ "server -> client | KNOWN Map sessions: header/365",
381
+ "server -> client | KNOWN Map sessions: header/438",
382
+ "server -> client | KNOWN Map sessions: header/511",
383
+ "server -> client | KNOWN Map sessions: header/584",
384
+ "server -> client | KNOWN Map sessions: header/657",
385
+ "server -> client | KNOWN Map sessions: header/730",
386
+ "server -> client | KNOWN Map sessions: header/803",
387
+ "server -> client | KNOWN Map sessions: header/876",
388
+ "server -> client | KNOWN Map sessions: header/949",
389
+ "server -> client | KNOWN Map sessions: header/1022",
390
390
  "server -> client | KNOWN Map sessions: header/1024",
391
391
  ]
392
392
  `);
@@ -1,7 +1,7 @@
1
1
  import { MetricReader } from "@opentelemetry/sdk-metrics";
2
2
  import { ControlledAccount, ControlledAgent } from "../coValues/account.js";
3
3
  import { WasmCrypto } from "../crypto/WasmCrypto.js";
4
- import { type AgentSecret, AnyRawCoValue, type CoID, type CoValueCore, type RawCoValue, StorageAPI } from "../exports.js";
4
+ import { type AgentSecret, AnyRawCoValue, type CoID, type CoValueCore, RawAccountID, type RawCoValue, StorageAPI } from "../exports.js";
5
5
  import type { SessionID } from "../ids.js";
6
6
  import { LocalNode } from "../localNode.js";
7
7
  import type { Peer, SyncMessage } from "../sync.js";
@@ -15,13 +15,13 @@ export declare function createTestNode(): LocalNode;
15
15
  export declare function createTwoConnectedNodes(node1Role: Peer["role"], node2Role: Peer["role"]): Promise<{
16
16
  node1: {
17
17
  node: LocalNode;
18
- accountID: import("../exports.js").RawAccountID;
18
+ accountID: RawAccountID;
19
19
  accountSecret: AgentSecret;
20
20
  sessionID: SessionID;
21
21
  };
22
22
  node2: {
23
23
  node: LocalNode;
24
- accountID: import("../exports.js").RawAccountID;
24
+ accountID: RawAccountID;
25
25
  accountSecret: AgentSecret;
26
26
  sessionID: SessionID;
27
27
  };
@@ -29,26 +29,26 @@ export declare function createTwoConnectedNodes(node1Role: Peer["role"], node2Ro
29
29
  export declare function createThreeConnectedNodes(node1Role: Peer["role"], node2Role: Peer["role"], node3Role: Peer["role"]): Promise<{
30
30
  node1: {
31
31
  node: LocalNode;
32
- accountID: import("../exports.js").RawAccountID;
32
+ accountID: RawAccountID;
33
33
  accountSecret: AgentSecret;
34
34
  sessionID: SessionID;
35
35
  };
36
36
  node2: {
37
37
  node: LocalNode;
38
- accountID: import("../exports.js").RawAccountID;
38
+ accountID: RawAccountID;
39
39
  accountSecret: AgentSecret;
40
40
  sessionID: SessionID;
41
41
  };
42
42
  node3: {
43
43
  node: LocalNode;
44
- accountID: import("../exports.js").RawAccountID;
44
+ accountID: RawAccountID;
45
45
  accountSecret: AgentSecret;
46
46
  sessionID: SessionID;
47
47
  };
48
48
  }>;
49
49
  export declare function createNConnectedNodes(...nodeRoles: Peer["role"][]): Promise<{
50
50
  node: LocalNode;
51
- accountID: import("../exports.js").RawAccountID;
51
+ accountID: RawAccountID;
52
52
  accountSecret: AgentSecret;
53
53
  sessionID: SessionID;
54
54
  }[]>;
@@ -171,9 +171,11 @@ export declare function setupTestAccount(opts?: {
171
171
  isSyncServer?: boolean;
172
172
  connected?: boolean;
173
173
  storage?: StorageAPI;
174
+ accountID?: RawAccountID;
175
+ accountSecret?: AgentSecret;
174
176
  }): Promise<{
175
177
  node: LocalNode;
176
- accountID: import("../exports.js").RawAccountID;
178
+ accountID: RawAccountID;
177
179
  connectToSyncServer: (opts?: {
178
180
  syncServerName?: string;
179
181
  ourName?: string;
@@ -196,7 +198,7 @@ export declare function setupTestAccount(opts?: {
196
198
  }) => Promise<{
197
199
  storage: import("../exports.js").StorageApiAsync;
198
200
  }>;
199
- spawnNewSession: () => Promise<LocalNode>;
201
+ spawnNewSession: () => Promise<any>;
200
202
  disconnect: () => void;
201
203
  }>;
202
204
  export type SyncTestMessage = {
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,YAAY,EACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,KAAK,WAAW,EAChB,aAAa,EACb,KAAK,IAAI,EACT,KAAK,WAAW,EAEhB,KAAK,UAAU,EACf,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAKhE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,UAAU,GAAG,YAAY,QAGlC;AAQD,wBAAgB,uBAAuB,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAMtE;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,GAClB,CAAC,eAAe,EAAE,SAAS,CAAC,CAI9B;AAED,wBAAgB,+BAA+B,cAG9C;AAED,wBAAgB,cAAc,cAG7B;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;;GAQxB;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;GAaxB;AAED,wBAAsB,qBAAqB,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;;;;;KAqBvE;AAED,wBAAgB,eAAe,CAC7B,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,EACZ,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAC1B,KAAK,EAAE,QAAQ,GAAG,QAAQ,QAa3B;AAED,wBAAgB,QAAQ;;;;EAkBvB;AAED,wBAAgB,kBAAkB;;;;;;EAgBjC;AAED,wBAAgB,iBAAiB;;;;EAWhC;AAED,wBAAgB,2BAA2B;;;;;EAQ1C;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,GAAG,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACvB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBA2BzD;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAC1D,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EACX,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,EAClC,IAAI,EAAE;IACJ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;;;;EAiCF;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,UAMlC;AAED;;;;;;GAMG;AACH,cAAM,gBAAiB,SAAQ,YAAY;IACzC,OAAO,CAAC,SAAS,CAEf;IAEF,SAAS,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrC,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAO;IAgB/C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAYxC;AAED,wBAAgB,sBAAsB,qBAWrC;AAED,wBAAgB,wBAAwB,SAEvC;AAED,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAM;IAExC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe;IAInC,MAAM,CAAC,KAAK;IAIZ,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE;IAIjE,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE;CAGpE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;;;;EAgCA;AAED,eAAO,MAAM,gBAAgB;;CAE5B,CAAC;AAEF,wBAAgB,aAAa,CAC3B,IAAI,GAAE;IACJ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACjB;;iCAY8B;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,SAAS,CAAC;QACvB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;;;;;;wBAoByB;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,UAAU,CAAA;KAAE;;;6BAa5D;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;EAoDhD;AAED,wBAAsB,gBAAgB,CACpC,IAAI,GAAE;IACJ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC;CACjB;;;iCAa8B;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,SAAS,CAAC;KACxB;;;;;;;wBAwByB;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,UAAU,CAAA;KAAE;;;6BAY/B;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;GAgD1D;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACvD,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;;;EA2DA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,qBAelD;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,EACf,IAAI,GAAE,aAAa,CAAC,MAAM,CAAW;;;;EActC"}
1
+ {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
@@ -362,18 +362,35 @@ export function setupTestNode(opts = {}) {
362
362
  return ctx;
363
363
  }
364
364
  export async function setupTestAccount(opts = {}) {
365
- const ctx = await LocalNode.withNewlyCreatedAccount({
366
- peers: [],
367
- crypto: Crypto,
368
- creationProps: { name: "Client" },
369
- storage: opts.storage,
370
- });
365
+ const ctx = opts.accountSecret && opts.accountID
366
+ ? {
367
+ node: await LocalNode.withLoadedAccount({
368
+ peers: [
369
+ getSyncServerConnectedPeer({
370
+ peerId: opts.accountID,
371
+ }).peer,
372
+ ],
373
+ crypto: Crypto,
374
+ storage: opts.storage,
375
+ accountID: opts.accountID,
376
+ accountSecret: opts.accountSecret,
377
+ sessionID: Crypto.newRandomSessionID(opts.accountID),
378
+ }),
379
+ accountID: opts.accountID,
380
+ accountSecret: opts.accountSecret,
381
+ }
382
+ : await LocalNode.withNewlyCreatedAccount({
383
+ peers: [],
384
+ crypto: Crypto,
385
+ creationProps: { name: "Client" },
386
+ storage: opts.storage,
387
+ });
371
388
  if (opts.isSyncServer) {
372
389
  syncServer.current = ctx.node;
373
390
  }
374
391
  function connectToSyncServer(opts) {
375
392
  const { peer, peerStateOnServer, peerOnServer } = getSyncServerConnectedPeer({
376
- peerId: ctx.node.getCurrentAgent().id,
393
+ peerId: ctx.node.currentSessionID,
377
394
  syncServerName: opts?.syncServerName,
378
395
  ourName: opts?.ourName,
379
396
  syncServer: opts?.syncServer,
@@ -420,17 +437,10 @@ export async function setupTestAccount(opts = {}) {
420
437
  addStorage,
421
438
  addAsyncStorage,
422
439
  spawnNewSession: () => {
423
- const { peer } = getSyncServerConnectedPeer({
424
- peerId: ctx.node.getCurrentAgent().id,
425
- });
426
- ctx.node.syncManager.addPeer(peer);
427
- return LocalNode.withLoadedAccount({
428
- peers: [peer],
429
- crypto: Crypto,
430
- storage: opts.storage,
440
+ return setupTestAccount({
431
441
  accountID: ctx.accountID,
432
442
  accountSecret: ctx.accountSecret,
433
- sessionID: Crypto.newRandomSessionID(ctx.accountID),
443
+ connected: true,
434
444
  });
435
445
  },
436
446
  disconnect: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "type": "module",
35
35
  "license": "MIT",
36
- "version": "0.18.33",
36
+ "version": "0.18.34",
37
37
  "devDependencies": {
38
38
  "@opentelemetry/sdk-metrics": "^2.0.0",
39
39
  "libsql": "^0.5.13",
@@ -47,8 +47,8 @@
47
47
  "@scure/base": "1.2.1",
48
48
  "neverthrow": "^7.0.1",
49
49
  "unicode-segmenter": "^0.12.0",
50
- "cojson-core-wasm": "0.18.33",
51
- "cojson-core-napi": "0.18.33"
50
+ "cojson-core-wasm": "0.18.34",
51
+ "cojson-core-napi": "0.18.34"
52
52
  },
53
53
  "gitHead": "33c27053293b4801b968c61d5c4c989f93a67d13",
54
54
  "scripts": {
@@ -1,5 +1,8 @@
1
1
  import { RawCoID } from "./ids.js";
2
- import { CoValueKnownState, isKnownStateSubsetOf } from "./knownState.js";
2
+ import {
3
+ CoValueKnownState,
4
+ areCurrentSessionsInSyncWith,
5
+ } from "./knownState.js";
3
6
  import { PeerState } from "./PeerState.js";
4
7
  import { PeerID, SyncManager } from "./sync.js";
5
8
 
@@ -97,6 +100,9 @@ export class SyncStateManager {
97
100
  // applied on CoValueCore
98
101
  const knownState = entry.verified.knownState();
99
102
 
100
- return isKnownStateSubsetOf(knownState.sessions, peerKnownState.sessions);
103
+ return areCurrentSessionsInSyncWith(
104
+ knownState.sessions,
105
+ peerKnownState.sessions,
106
+ );
101
107
  }
102
108
  }
@@ -21,6 +21,7 @@ import {
21
21
  cloneKnownState,
22
22
  combineKnownStateSessions,
23
23
  isKnownStateSubsetOf,
24
+ getKnownStateToSend,
24
25
  } from "../knownState.js";
25
26
 
26
27
  export type SessionLog = {
@@ -63,10 +64,18 @@ export class SessionMap {
63
64
  return;
64
65
  }
65
66
 
67
+ const actualStreamingKnownState = getKnownStateToSend(
68
+ streamingKnownState,
69
+ this.knownState.sessions,
70
+ );
71
+
66
72
  if (this.streamingKnownState) {
67
- combineKnownStateSessions(this.streamingKnownState, streamingKnownState);
73
+ combineKnownStateSessions(
74
+ this.streamingKnownState,
75
+ actualStreamingKnownState,
76
+ );
68
77
  } else {
69
- this.streamingKnownState = { ...streamingKnownState };
78
+ this.streamingKnownState = actualStreamingKnownState;
70
79
  }
71
80
 
72
81
  if (!this.knownStateWithStreaming) {
@@ -75,7 +84,7 @@ export class SessionMap {
75
84
 
76
85
  combineKnownStateSessions(
77
86
  this.knownStateWithStreaming.sessions,
78
- streamingKnownState,
87
+ actualStreamingKnownState,
79
88
  );
80
89
  }
81
90
 
@@ -225,18 +234,12 @@ export class SessionMap {
225
234
  );
226
235
 
227
236
  // Check if the updated session matched the streaming state
228
- // If so, we can delete the session from the streaming state to mark it as synced
229
- if (this.streamingKnownState) {
230
- const streamingCount = this.streamingKnownState[sessionLog.sessionID];
231
- if (streamingCount && streamingCount <= transactionsCount) {
232
- delete this.streamingKnownState[sessionLog.sessionID];
233
-
234
- if (Object.keys(this.streamingKnownState).length === 0) {
235
- // Mark the streaming as done by deleting the streaming statuses
236
- this.streamingKnownState = undefined;
237
- this.knownStateWithStreaming = undefined;
238
- }
239
- }
237
+ if (
238
+ this.streamingKnownState &&
239
+ isKnownStateSubsetOf(this.streamingKnownState, this.knownState.sessions)
240
+ ) {
241
+ this.streamingKnownState = undefined;
242
+ this.knownStateWithStreaming = undefined;
240
243
  }
241
244
 
242
245
  if (this.knownStateWithStreaming) {
@@ -769,6 +769,8 @@ export class CoValueCore {
769
769
 
770
770
  let result: { signature: Signature; transaction: Transaction };
771
771
 
772
+ const knownStateBefore = this.knownState();
773
+
772
774
  if (privacy === "private") {
773
775
  const { secret: keySecret, id: keyID } = this.getCurrentReadKey();
774
776
 
@@ -795,7 +797,7 @@ export class CoValueCore {
795
797
  );
796
798
  }
797
799
 
798
- const { transaction, signature } = result;
800
+ const { transaction } = result;
799
801
 
800
802
  // Assign pre-parsed meta and changes to skip the parse/decrypt operation when loading
801
803
  // this transaction in the current content
@@ -803,9 +805,6 @@ export class CoValueCore {
803
805
 
804
806
  this.node.syncManager.recordTransactionsSize([transaction], "local");
805
807
 
806
- const session = this.verified.sessions.get(sessionID);
807
- const txIdx = session ? session.transactions.length - 1 : 0;
808
-
809
808
  this.resetKnownStateCache();
810
809
  this.processNewTransactions();
811
810
  this.addDependenciesFromNewTransaction(transaction);
@@ -813,13 +812,7 @@ export class CoValueCore {
813
812
  // force immediate notification because local updates may come from the UI
814
813
  // where we need synchronous updates
815
814
  this.notifyUpdate();
816
- this.node.syncManager.syncLocalTransaction(
817
- this.verified,
818
- transaction,
819
- sessionID,
820
- signature,
821
- txIdx,
822
- );
815
+ this.node.syncManager.syncLocalTransaction(this.verified, knownStateBefore);
823
816
 
824
817
  return true;
825
818
  }
@@ -5,6 +5,7 @@ import {
5
5
  exceedsRecommendedSize,
6
6
  getTransactionSize,
7
7
  addTransactionToContentMessage,
8
+ knownStateFromContent,
8
9
  } from "../coValueContentMessage.js";
9
10
  import {
10
11
  CryptoProvider,
@@ -20,9 +21,13 @@ import { JsonObject, JsonValue } from "../jsonValue.js";
20
21
  import { PermissionsDef as RulesetDef } from "../permissions.js";
21
22
  import { NewContentMessage } from "../sync.js";
22
23
  import { TryAddTransactionsError } from "./coValueCore.js";
23
- import { SessionLog, SessionMap } from "./SessionMap.js";
24
+ import { SessionMap } from "./SessionMap.js";
24
25
  import { ControlledAccountOrAgent } from "../coValues/account.js";
25
- import { CoValueKnownState, KnownStateSessions } from "../knownState.js";
26
+ import {
27
+ CoValueKnownState,
28
+ getKnownStateToSend,
29
+ KnownStateSessions,
30
+ } from "../knownState.js";
26
31
 
27
32
  export type CoValueHeader = {
28
33
  type: AnyRawCoValue["type"];
@@ -158,6 +163,9 @@ export class VerifiedState {
158
163
 
159
164
  newContentSince(
160
165
  knownState: CoValueKnownState | undefined,
166
+ opts?: {
167
+ skipExpectContentUntil?: boolean;
168
+ },
161
169
  ): NewContentMessage[] | undefined {
162
170
  let currentPiece: NewContentMessage = createContentMessage(
163
171
  this.id,
@@ -286,9 +294,16 @@ export class VerifiedState {
286
294
 
287
295
  if (piecesWithContent.length > 1 || this.isStreaming()) {
288
296
  // Flag that more content is coming
289
- firstPiece.expectContentUntil = {
290
- ...this.knownStateWithStreaming().sessions,
291
- };
297
+ if (knownState) {
298
+ firstPiece.expectContentUntil = getKnownStateToSend(
299
+ this.knownStateWithStreaming().sessions,
300
+ knownState.sessions,
301
+ );
302
+ } else {
303
+ firstPiece.expectContentUntil = {
304
+ ...this.knownStateWithStreaming().sessions,
305
+ };
306
+ }
292
307
  }
293
308
 
294
309
  if (piecesWithContent.length === 0) {