cojson 0.13.16 → 0.13.18

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 (168) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/dist/PeerState.d.ts +3 -0
  4. package/dist/PeerState.d.ts.map +1 -1
  5. package/dist/PeerState.js +9 -0
  6. package/dist/PeerState.js.map +1 -1
  7. package/dist/SyncStateManager.d.ts.map +1 -1
  8. package/dist/SyncStateManager.js +2 -3
  9. package/dist/SyncStateManager.js.map +1 -1
  10. package/dist/coValue.d.ts +6 -4
  11. package/dist/coValue.d.ts.map +1 -1
  12. package/dist/coValue.js +5 -4
  13. package/dist/coValue.js.map +1 -1
  14. package/dist/coValueCore/coValueCore.d.ts +143 -0
  15. package/dist/coValueCore/coValueCore.d.ts.map +1 -0
  16. package/dist/{coValueCore.js → coValueCore/coValueCore.js} +314 -246
  17. package/dist/coValueCore/coValueCore.js.map +1 -0
  18. package/dist/coValueCore/verifiedState.d.ts +65 -0
  19. package/dist/coValueCore/verifiedState.d.ts.map +1 -0
  20. package/dist/coValueCore/verifiedState.js +210 -0
  21. package/dist/coValueCore/verifiedState.js.map +1 -0
  22. package/dist/coValues/account.d.ts +8 -10
  23. package/dist/coValues/account.d.ts.map +1 -1
  24. package/dist/coValues/account.js +12 -13
  25. package/dist/coValues/account.js.map +1 -1
  26. package/dist/coValues/coList.d.ts +10 -6
  27. package/dist/coValues/coList.d.ts.map +1 -1
  28. package/dist/coValues/coList.js +41 -15
  29. package/dist/coValues/coList.js.map +1 -1
  30. package/dist/coValues/coMap.d.ts +4 -3
  31. package/dist/coValues/coMap.d.ts.map +1 -1
  32. package/dist/coValues/coMap.js +5 -3
  33. package/dist/coValues/coMap.js.map +1 -1
  34. package/dist/coValues/coPlainText.d.ts +2 -2
  35. package/dist/coValues/coPlainText.d.ts.map +1 -1
  36. package/dist/coValues/coPlainText.js +5 -5
  37. package/dist/coValues/coPlainText.js.map +1 -1
  38. package/dist/coValues/coStream.d.ts +5 -4
  39. package/dist/coValues/coStream.d.ts.map +1 -1
  40. package/dist/coValues/coStream.js +5 -3
  41. package/dist/coValues/coStream.js.map +1 -1
  42. package/dist/coValues/group.d.ts +7 -2
  43. package/dist/coValues/group.d.ts.map +1 -1
  44. package/dist/coValues/group.js +29 -26
  45. package/dist/coValues/group.js.map +1 -1
  46. package/dist/coreToCoValue.d.ts +4 -3
  47. package/dist/coreToCoValue.d.ts.map +1 -1
  48. package/dist/coreToCoValue.js +10 -14
  49. package/dist/coreToCoValue.js.map +1 -1
  50. package/dist/exports.d.ts +6 -5
  51. package/dist/exports.d.ts.map +1 -1
  52. package/dist/exports.js +3 -4
  53. package/dist/exports.js.map +1 -1
  54. package/dist/localNode.d.ts +30 -24
  55. package/dist/localNode.d.ts.map +1 -1
  56. package/dist/localNode.js +153 -177
  57. package/dist/localNode.js.map +1 -1
  58. package/dist/permissions.d.ts +2 -1
  59. package/dist/permissions.d.ts.map +1 -1
  60. package/dist/permissions.js +15 -11
  61. package/dist/permissions.js.map +1 -1
  62. package/dist/priority.d.ts +1 -1
  63. package/dist/priority.d.ts.map +1 -1
  64. package/dist/sync.d.ts +2 -2
  65. package/dist/sync.d.ts.map +1 -1
  66. package/dist/sync.js +86 -55
  67. package/dist/sync.js.map +1 -1
  68. package/dist/tests/coList.test.js +133 -13
  69. package/dist/tests/coList.test.js.map +1 -1
  70. package/dist/tests/coMap.test.js +43 -14
  71. package/dist/tests/coMap.test.js.map +1 -1
  72. package/dist/tests/coPlainText.test.js +9 -10
  73. package/dist/tests/coPlainText.test.js.map +1 -1
  74. package/dist/tests/coStream.test.js +49 -18
  75. package/dist/tests/coStream.test.js.map +1 -1
  76. package/dist/tests/coValueCore.test.js +22 -28
  77. package/dist/tests/coValueCore.test.js.map +1 -1
  78. package/dist/tests/coValueCoreLoadingState.test.d.ts +2 -0
  79. package/dist/tests/coValueCoreLoadingState.test.d.ts.map +1 -0
  80. package/dist/tests/coValueCoreLoadingState.test.js +227 -0
  81. package/dist/tests/coValueCoreLoadingState.test.js.map +1 -0
  82. package/dist/tests/group.test.js +42 -43
  83. package/dist/tests/group.test.js.map +1 -1
  84. package/dist/tests/messagesTestUtils.d.ts +2 -2
  85. package/dist/tests/messagesTestUtils.d.ts.map +1 -1
  86. package/dist/tests/messagesTestUtils.js +1 -1
  87. package/dist/tests/messagesTestUtils.js.map +1 -1
  88. package/dist/tests/permissions.test.js +224 -292
  89. package/dist/tests/permissions.test.js.map +1 -1
  90. package/dist/tests/priority.test.js +13 -14
  91. package/dist/tests/priority.test.js.map +1 -1
  92. package/dist/tests/sync.auth.test.d.ts +2 -0
  93. package/dist/tests/sync.auth.test.d.ts.map +1 -0
  94. package/dist/tests/sync.auth.test.js +141 -0
  95. package/dist/tests/sync.auth.test.js.map +1 -0
  96. package/dist/tests/sync.load.test.js +60 -2
  97. package/dist/tests/sync.load.test.js.map +1 -1
  98. package/dist/tests/sync.mesh.test.js +70 -10
  99. package/dist/tests/sync.mesh.test.js.map +1 -1
  100. package/dist/tests/sync.peerReconciliation.test.js +19 -19
  101. package/dist/tests/sync.peerReconciliation.test.js.map +1 -1
  102. package/dist/tests/sync.storage.test.js +20 -13
  103. package/dist/tests/sync.storage.test.js.map +1 -1
  104. package/dist/tests/sync.test.js +32 -39
  105. package/dist/tests/sync.test.js.map +1 -1
  106. package/dist/tests/sync.upload.test.js +126 -37
  107. package/dist/tests/sync.upload.test.js.map +1 -1
  108. package/dist/tests/testUtils.d.ts +24 -15
  109. package/dist/tests/testUtils.d.ts.map +1 -1
  110. package/dist/tests/testUtils.js +88 -61
  111. package/dist/tests/testUtils.js.map +1 -1
  112. package/dist/typeUtils/expectGroup.js +1 -1
  113. package/dist/typeUtils/expectGroup.js.map +1 -1
  114. package/package.json +1 -1
  115. package/src/PeerState.ts +11 -0
  116. package/src/SyncStateManager.ts +2 -3
  117. package/src/coValue.ts +14 -8
  118. package/src/{coValueCore.ts → coValueCore/coValueCore.ts} +470 -413
  119. package/src/coValueCore/verifiedState.ts +376 -0
  120. package/src/coValues/account.ts +20 -25
  121. package/src/coValues/coList.ts +63 -29
  122. package/src/coValues/coMap.ts +13 -6
  123. package/src/coValues/coPlainText.ts +10 -8
  124. package/src/coValues/coStream.ts +12 -7
  125. package/src/coValues/group.ts +50 -28
  126. package/src/coreToCoValue.ts +14 -15
  127. package/src/exports.ts +9 -7
  128. package/src/localNode.ts +248 -283
  129. package/src/permissions.ts +18 -12
  130. package/src/priority.ts +1 -1
  131. package/src/sync.ts +96 -63
  132. package/src/tests/coList.test.ts +200 -12
  133. package/src/tests/coMap.test.ts +65 -14
  134. package/src/tests/coPlainText.test.ts +12 -9
  135. package/src/tests/coStream.test.ts +80 -17
  136. package/src/tests/coValueCore.test.ts +30 -27
  137. package/src/tests/coValueCoreLoadingState.test.ts +337 -0
  138. package/src/tests/group.test.ts +44 -68
  139. package/src/tests/messagesTestUtils.ts +3 -8
  140. package/src/tests/permissions.test.ts +283 -449
  141. package/src/tests/priority.test.ts +17 -13
  142. package/src/tests/sync.auth.test.ts +188 -0
  143. package/src/tests/sync.load.test.ts +79 -2
  144. package/src/tests/sync.mesh.test.ts +89 -9
  145. package/src/tests/sync.peerReconciliation.test.ts +25 -25
  146. package/src/tests/sync.storage.test.ts +20 -13
  147. package/src/tests/sync.test.ts +43 -43
  148. package/src/tests/sync.upload.test.ts +157 -37
  149. package/src/tests/testUtils.ts +120 -74
  150. package/src/typeUtils/expectGroup.ts +1 -1
  151. package/dist/CoValuesStore.d.ts +0 -14
  152. package/dist/CoValuesStore.d.ts.map +0 -1
  153. package/dist/CoValuesStore.js +0 -32
  154. package/dist/CoValuesStore.js.map +0 -1
  155. package/dist/coValueCore.d.ts +0 -141
  156. package/dist/coValueCore.d.ts.map +0 -1
  157. package/dist/coValueCore.js.map +0 -1
  158. package/dist/coValueState.d.ts +0 -34
  159. package/dist/coValueState.d.ts.map +0 -1
  160. package/dist/coValueState.js +0 -228
  161. package/dist/coValueState.js.map +0 -1
  162. package/dist/tests/coValueState.test.d.ts +0 -2
  163. package/dist/tests/coValueState.test.d.ts.map +0 -1
  164. package/dist/tests/coValueState.test.js +0 -344
  165. package/dist/tests/coValueState.test.js.map +0 -1
  166. package/src/CoValuesStore.ts +0 -41
  167. package/src/coValueState.ts +0 -300
  168. package/src/tests/coValueState.test.ts +0 -525
@@ -0,0 +1,141 @@
1
+ import { assert, beforeEach, describe, expect, test } from "vitest";
2
+ import { WasmCrypto } from "../crypto/WasmCrypto";
3
+ import { LocalNode } from "../localNode";
4
+ import { SyncMessagesLog, getSyncServerConnectedPeer, setupTestNode, } from "./testUtils";
5
+ const Crypto = await WasmCrypto.create();
6
+ let jazzCloud = setupTestNode({ isSyncServer: true });
7
+ beforeEach(async () => {
8
+ SyncMessagesLog.clear();
9
+ jazzCloud = setupTestNode({ isSyncServer: true });
10
+ });
11
+ describe("LocalNode auth sync", () => {
12
+ test("create a new account", async () => {
13
+ const { peer } = getSyncServerConnectedPeer({
14
+ peerId: "new-account",
15
+ });
16
+ const { accountID, node } = await LocalNode.withNewlyCreatedAccount({
17
+ creationProps: {
18
+ name: "new-account",
19
+ },
20
+ peersToLoadFrom: [peer],
21
+ crypto: Crypto,
22
+ });
23
+ const account = node.expectCurrentAccount("after login");
24
+ await account.core.waitForSync();
25
+ const profileID = account.get("profile");
26
+ const profileCoreOnSyncServer = jazzCloud.node.getCoValue(profileID);
27
+ expect(profileCoreOnSyncServer.isAvailable()).toBe(true);
28
+ assert(profileCoreOnSyncServer.isAvailable());
29
+ expect(SyncMessagesLog.getMessages({
30
+ Account: account.core,
31
+ Profile: profileCoreOnSyncServer,
32
+ ProfileGroup: profileCoreOnSyncServer.getGroup().core,
33
+ })).toMatchInlineSnapshot(`
34
+ [
35
+ "client -> server | CONTENT Account header: true new: After: 0 New: 4",
36
+ "server -> client | KNOWN Account sessions: header/4",
37
+ "client -> server | CONTENT ProfileGroup header: true new: After: 0 New: 5",
38
+ "server -> client | KNOWN ProfileGroup sessions: header/5",
39
+ "client -> server | CONTENT Profile header: true new: After: 0 New: 1",
40
+ "server -> client | KNOWN Profile sessions: header/1",
41
+ ]
42
+ `);
43
+ });
44
+ test("create a new account with a migration", async () => {
45
+ const { peer } = getSyncServerConnectedPeer({
46
+ peerId: "new-account",
47
+ });
48
+ const { node } = await LocalNode.withNewlyCreatedAccount({
49
+ creationProps: {
50
+ name: "new-account",
51
+ },
52
+ peersToLoadFrom: [peer],
53
+ crypto: Crypto,
54
+ async migration(account) {
55
+ const root = account.createMap();
56
+ const profile = account.createMap();
57
+ root.set("hello", "world");
58
+ profile.set("name", "new-account");
59
+ account.set("root", root.id);
60
+ account.set("profile", profile.id);
61
+ await root.core.waitForSync();
62
+ await profile.core.waitForSync();
63
+ },
64
+ });
65
+ const account = node.expectCurrentAccount("after login");
66
+ await account.core.waitForSync();
67
+ const rootID = account.get("root");
68
+ const profileID = account.get("profile");
69
+ const rootCoreOnSyncServer = jazzCloud.node.getCoValue(rootID);
70
+ expect(rootCoreOnSyncServer.isAvailable()).toBe(true);
71
+ const profileCoreOnSyncServer = jazzCloud.node.getCoValue(profileID);
72
+ expect(profileCoreOnSyncServer.isAvailable()).toBe(true);
73
+ assert(profileCoreOnSyncServer.isAvailable());
74
+ assert(rootCoreOnSyncServer.isAvailable());
75
+ expect(SyncMessagesLog.getMessages({
76
+ Account: account.core,
77
+ Root: rootCoreOnSyncServer,
78
+ Profile: profileCoreOnSyncServer,
79
+ ProfileGroup: profileCoreOnSyncServer.getGroup().core,
80
+ })).toMatchInlineSnapshot(`
81
+ [
82
+ "client -> server | CONTENT Account header: true new: After: 0 New: 5",
83
+ "server -> client | KNOWN Account sessions: header/5",
84
+ "client -> server | CONTENT Root header: true new: After: 0 New: 1",
85
+ "server -> client | KNOWN Root sessions: header/1",
86
+ "client -> server | CONTENT Profile header: true new: After: 0 New: 1",
87
+ "server -> client | KNOWN Profile sessions: header/1",
88
+ ]
89
+ `);
90
+ });
91
+ test("authenticate to an existing account", async () => {
92
+ const { peer: newAccountPeer } = getSyncServerConnectedPeer({
93
+ peerId: "new-account",
94
+ });
95
+ const { accountID, accountSecret } = await LocalNode.withNewlyCreatedAccount({
96
+ creationProps: {
97
+ name: "new-account",
98
+ },
99
+ peersToLoadFrom: [newAccountPeer],
100
+ crypto: Crypto,
101
+ });
102
+ const { peer: existingAccountPeer } = getSyncServerConnectedPeer({
103
+ peerId: "existing-account",
104
+ });
105
+ SyncMessagesLog.clear();
106
+ const node = await LocalNode.withLoadedAccount({
107
+ accountID,
108
+ accountSecret,
109
+ peersToLoadFrom: [existingAccountPeer],
110
+ sessionID: undefined,
111
+ crypto: Crypto,
112
+ });
113
+ const account = node.expectCurrentAccount("after login");
114
+ const profile = node.getCoValue(account.get("profile"));
115
+ assert(profile.isAvailable());
116
+ expect(account.id).toBe(accountID);
117
+ expect(node.agentSecret).toBe(accountSecret);
118
+ expect(SyncMessagesLog.getMessages({
119
+ Account: account.core,
120
+ Profile: profile,
121
+ ProfileGroup: profile.getGroup().core,
122
+ })).toMatchInlineSnapshot(`
123
+ [
124
+ "client -> server | LOAD Account sessions: empty",
125
+ "server -> client | KNOWN Account sessions: header/4",
126
+ "client -> server | CONTENT ProfileGroup header: true new: After: 0 New: 5",
127
+ "server -> client | CONTENT Account header: true new: After: 0 New: 4",
128
+ "server -> client | KNOWN ProfileGroup sessions: header/5",
129
+ "client -> server | CONTENT Profile header: true new: After: 0 New: 1",
130
+ "client -> server | KNOWN Account sessions: header/4",
131
+ "server -> client | KNOWN Profile sessions: header/1",
132
+ "client -> server | LOAD Profile sessions: empty",
133
+ "server -> client | CONTENT ProfileGroup header: true new: After: 0 New: 5",
134
+ "client -> server | KNOWN ProfileGroup sessions: header/5",
135
+ "server -> client | CONTENT Profile header: true new: After: 0 New: 1",
136
+ "client -> server | KNOWN Profile sessions: header/1",
137
+ ]
138
+ `);
139
+ });
140
+ });
141
+ //# sourceMappingURL=sync.auth.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.auth.test.js","sourceRoot":"","sources":["../../src/tests/sync.auth.test.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,42 @@ describe("loading coValues from server", () => {
29
29
  ]
30
30
  `);
31
31
  });
32
+ test("unavailable coValue retry", async () => {
33
+ const client = setupTestNode();
34
+ const client2 = setupTestNode();
35
+ client2.connectToSyncServer({
36
+ ourName: "client2",
37
+ });
38
+ const group = client.node.createGroup();
39
+ const map = group.createMap();
40
+ map.set("hello", "world", "trusting");
41
+ const promise = loadCoValueOrFail(client2.node, map.id);
42
+ await new Promise((resolve) => setTimeout(resolve, 1));
43
+ client.connectToSyncServer();
44
+ const mapOnClient2 = await promise;
45
+ expect(mapOnClient2.get("hello")).toEqual("world");
46
+ expect(SyncMessagesLog.getMessages({
47
+ Group: group.core,
48
+ Map: map.core,
49
+ })).toMatchInlineSnapshot(`
50
+ [
51
+ "client2 -> server | LOAD Map sessions: empty",
52
+ "server -> client2 | KNOWN Map sessions: empty",
53
+ "client -> server | LOAD Group sessions: header/3",
54
+ "server -> client | KNOWN Group sessions: empty",
55
+ "client -> server | LOAD Map sessions: header/1",
56
+ "server -> client | KNOWN Map sessions: empty",
57
+ "client -> server | CONTENT Group header: true new: After: 0 New: 3",
58
+ "server -> client | KNOWN Group sessions: header/3",
59
+ "client -> server | CONTENT Map header: true new: After: 0 New: 1",
60
+ "server -> client | KNOWN Map sessions: header/1",
61
+ "server -> client2 | CONTENT Group header: true new: After: 0 New: 3",
62
+ "client2 -> server | KNOWN Group sessions: header/3",
63
+ "server -> client2 | CONTENT Map header: true new: After: 0 New: 1",
64
+ "client2 -> server | KNOWN Map sessions: header/1",
65
+ ]
66
+ `);
67
+ });
32
68
  test("coValue with parent groups loading", async () => {
33
69
  const client = setupTestNode({
34
70
  connected: true,
@@ -137,7 +173,7 @@ describe("loading coValues from server", () => {
137
173
  // Load the coValue on the client
138
174
  await loadCoValueOrFail(client.node, map.id);
139
175
  // Forcefully delete the coValue from the client (simulating some data loss)
140
- client.node.coValuesStore.coValues.delete(map.id);
176
+ client.node.internalDeleteCoValue(map.id);
141
177
  map.set("fromServer", "updated", "trusting");
142
178
  await waitFor(() => {
143
179
  const coValue = expectMap(client.node.expectCoValueLoaded(map.id).getCurrentContent());
@@ -248,6 +284,28 @@ describe("loading coValues from server", () => {
248
284
  ]
249
285
  `);
250
286
  });
251
- test.todo("should mark the coValue as unavailable if the peer is closed");
287
+ test("should mark the coValue as unavailable if the peer is closed", async () => {
288
+ const client = setupTestNode();
289
+ const { peerState } = client.connectToSyncServer();
290
+ const group = jazzCloud.node.createGroup();
291
+ group.addMember("everyone", "writer");
292
+ const map = group.createMap({
293
+ test: "value",
294
+ });
295
+ const promise = client.node.load(map.id);
296
+ // Close the peer connection
297
+ peerState.gracefulShutdown();
298
+ expect(await promise).toEqual("unavailable");
299
+ expect(SyncMessagesLog.getMessages({
300
+ Group: group.core,
301
+ Map: map.core,
302
+ })).toMatchInlineSnapshot(`
303
+ [
304
+ "client -> server | LOAD Map sessions: empty",
305
+ "server -> client | CONTENT Group header: true new: After: 0 New: 5",
306
+ "server -> client | CONTENT Map header: true new: After: 0 New: 1",
307
+ ]
308
+ `);
309
+ });
252
310
  });
253
311
  //# sourceMappingURL=sync.load.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.load.test.js","sourceRoot":"","sources":["../../src/tests/sync.load.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.load.test.js","sourceRoot":"","sources":["../../src/tests/sync.load.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { beforeEach, describe, expect, test, vi } from "vitest";
2
2
  import { expectMap } from "../coValue";
3
- import { SyncMessagesLog, loadCoValueOrFail, setupTestNode, waitFor, } from "./testUtils";
3
+ import { SyncMessagesLog, blockMessageTypeOnOutgoingPeer, loadCoValueOrFail, setupTestNode, waitFor, } from "./testUtils";
4
4
  function setupMesh() {
5
5
  const coreServer = setupTestNode();
6
6
  coreServer.addStoragePeer({
@@ -45,9 +45,13 @@ describe("multiple clients syncing with the a cloud-like server mesh", () => {
45
45
  [
46
46
  "edge-france -> core | CONTENT Group header: true new: After: 0 New: 3",
47
47
  "core -> edge-france | KNOWN Group sessions: header/3",
48
+ "core -> storage | LOAD Group sessions: header/3",
48
49
  "edge-france -> core | CONTENT Map header: true new: After: 0 New: 1",
49
- "core -> storage | CONTENT Group header: true new: After: 0 New: 3",
50
+ "storage -> core | KNOWN Group sessions: empty",
50
51
  "core -> edge-france | KNOWN Map sessions: header/1",
52
+ "core -> storage | LOAD Map sessions: header/1",
53
+ "storage -> core | KNOWN Map sessions: empty",
54
+ "core -> storage | CONTENT Group header: true new: After: 0 New: 3",
51
55
  "storage -> core | KNOWN Group sessions: header/3",
52
56
  "core -> storage | CONTENT Map header: true new: After: 0 New: 1",
53
57
  "storage -> core | KNOWN Map sessions: header/1",
@@ -87,13 +91,19 @@ describe("multiple clients syncing with the a cloud-like server mesh", () => {
87
91
  [
88
92
  "edge-france -> core | CONTENT ParentGroup header: true new: After: 0 New: 6",
89
93
  "core -> edge-france | KNOWN ParentGroup sessions: header/6",
94
+ "core -> storage | LOAD ParentGroup sessions: header/6",
90
95
  "edge-france -> core | CONTENT Group header: true new: After: 0 New: 5",
91
- "core -> storage | CONTENT ParentGroup header: true new: After: 0 New: 6",
96
+ "storage -> core | KNOWN ParentGroup sessions: empty",
92
97
  "core -> edge-france | KNOWN Group sessions: header/5",
98
+ "core -> storage | LOAD Group sessions: header/5",
93
99
  "edge-france -> core | CONTENT Map header: true new: After: 0 New: 1",
100
+ "storage -> core | KNOWN Group sessions: empty",
101
+ "core -> storage | CONTENT ParentGroup header: true new: After: 0 New: 6",
102
+ "core -> edge-france | KNOWN Map sessions: header/1",
94
103
  "storage -> core | KNOWN ParentGroup sessions: header/6",
104
+ "core -> storage | LOAD Map sessions: header/1",
105
+ "storage -> core | KNOWN Map sessions: empty",
95
106
  "core -> storage | CONTENT Group header: true new: After: 0 New: 5",
96
- "core -> edge-france | KNOWN Map sessions: header/1",
97
107
  "storage -> core | KNOWN Group sessions: header/5",
98
108
  "core -> storage | CONTENT Map header: true new: After: 0 New: 1",
99
109
  "storage -> core | KNOWN Map sessions: header/1",
@@ -164,7 +174,7 @@ describe("multiple clients syncing with the a cloud-like server mesh", () => {
164
174
  const mapOnClient = await loadCoValueOrFail(client.node, map.id);
165
175
  const mapOnCoreServer = await loadCoValueOrFail(mesh.coreServer.node, map.id);
166
176
  // Forcefully delete the coValue from the edge (simulating some data loss)
167
- mesh.edgeItaly.node.coValuesStore.coValues.delete(map.id);
177
+ mesh.edgeItaly.node.internalDeleteCoValue(map.id);
168
178
  mapOnClient.set("fromClient", "updated", "trusting");
169
179
  mapOnCoreServer.set("fromServer", "updated", "trusting");
170
180
  await waitFor(() => {
@@ -181,12 +191,16 @@ describe("multiple clients syncing with the a cloud-like server mesh", () => {
181
191
  "edge-italy -> core | CONTENT Group header: true new: After: 0 New: 5",
182
192
  "edge-italy -> client | CONTENT Group header: true new: After: 0 New: 5",
183
193
  "core -> edge-italy | KNOWN Group sessions: header/5",
194
+ "core -> storage | LOAD Group sessions: header/5",
184
195
  "edge-italy -> core | CONTENT Map header: true new: After: 0 New: 1",
185
196
  "client -> edge-italy | KNOWN Group sessions: header/5",
186
197
  "edge-italy -> client | CONTENT Map header: true new: After: 0 New: 1",
187
- "core -> storage | CONTENT Group header: true new: After: 0 New: 5",
188
- "core -> edge-italy | KNOWN Map sessions: header/1",
198
+ "storage -> core | KNOWN Group sessions: empty",
199
+ "core -> edge-italy | KNOWN Map sessions: header/3",
200
+ "core -> storage | LOAD Map sessions: header/3",
189
201
  "client -> edge-italy | KNOWN Map sessions: header/1",
202
+ "storage -> core | KNOWN Map sessions: empty",
203
+ "core -> storage | CONTENT Group header: true new: After: 0 New: 5",
190
204
  "storage -> core | KNOWN Group sessions: header/5",
191
205
  "core -> storage | CONTENT Map header: true new: After: 0 New: 1",
192
206
  "storage -> core | KNOWN Map sessions: header/1",
@@ -199,12 +213,12 @@ describe("multiple clients syncing with the a cloud-like server mesh", () => {
199
213
  "client -> edge-italy | CONTENT Map header: true new: After: 0 New: 1 | After: 0 New: 1",
200
214
  "core -> edge-italy | CONTENT Map header: true new: After: 0 New: 1 | After: 0 New: 1",
201
215
  "edge-italy -> client | KNOWN Map sessions: header/2",
202
- "edge-italy -> core | KNOWN Map sessions: header/3",
203
- "edge-italy -> client | CONTENT Map header: false new: After: 0 New: 1",
204
216
  "edge-italy -> core | CONTENT Map header: false new: After: 0 New: 1",
205
- "client -> edge-italy | KNOWN Map sessions: header/3",
217
+ "edge-italy -> client | CONTENT Map header: false new: After: 0 New: 1",
206
218
  "core -> edge-italy | KNOWN Map sessions: header/3",
207
219
  "core -> storage | CONTENT Map header: false new: After: 0 New: 1",
220
+ "edge-italy -> core | KNOWN Map sessions: header/3",
221
+ "client -> edge-italy | KNOWN Map sessions: header/3",
208
222
  "storage -> core | KNOWN Map sessions: header/3",
209
223
  ]
210
224
  `);
@@ -243,5 +257,51 @@ describe("multiple clients syncing with the a cloud-like server mesh", () => {
243
257
  ]
244
258
  `);
245
259
  });
260
+ test("load returns the coValue as soon as one of the peers return the content", async () => {
261
+ const client = setupTestNode();
262
+ const coreServer = setupTestNode({
263
+ isSyncServer: true,
264
+ });
265
+ const { peerOnServer } = client.connectToSyncServer({
266
+ syncServerName: "core",
267
+ });
268
+ const storage = setupTestNode();
269
+ const { peer: storagePeer } = client.connectToSyncServer({
270
+ syncServerName: "storage",
271
+ syncServer: storage.node,
272
+ });
273
+ storagePeer.priority = 100;
274
+ const group = coreServer.node.createGroup();
275
+ const map = group.createMap();
276
+ map.set("hello", "world", "trusting");
277
+ const { peerState } = storage.connectToSyncServer({
278
+ ourName: "storage-of-client",
279
+ syncServerName: "core",
280
+ });
281
+ await loadCoValueOrFail(storage.node, map.id);
282
+ peerState.gracefulShutdown();
283
+ SyncMessagesLog.clear();
284
+ await new Promise((resolve) => setTimeout(resolve, 100));
285
+ map.set("hello", "updated", "trusting");
286
+ // Block the content message from the core peer to simulate the delay on response
287
+ blockMessageTypeOnOutgoingPeer(peerOnServer, "content");
288
+ const mapOnClient = await loadCoValueOrFail(client.node, map.id);
289
+ expect(SyncMessagesLog.getMessages({
290
+ Group: group.core,
291
+ Map: map.core,
292
+ })).toMatchInlineSnapshot(`
293
+ [
294
+ "client -> storage | LOAD Map sessions: empty",
295
+ "storage -> client | CONTENT Group header: true new: After: 0 New: 3",
296
+ "client -> storage | KNOWN Group sessions: header/3",
297
+ "client -> core | LOAD Group sessions: header/3",
298
+ "storage -> client | CONTENT Map header: true new: After: 0 New: 1",
299
+ "core -> client | KNOWN Group sessions: header/3",
300
+ "client -> storage | KNOWN Map sessions: header/1",
301
+ "client -> core | LOAD Map sessions: header/1",
302
+ ]
303
+ `);
304
+ expect(mapOnClient.get("hello")).toEqual("world");
305
+ });
246
306
  });
247
307
  //# sourceMappingURL=sync.mesh.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.mesh.test.js","sourceRoot":"","sources":["../../src/tests/sync.mesh.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.mesh.test.js","sourceRoot":"","sources":["../../src/tests/sync.mesh.test.ts"],"names":[],"mappings":"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"}
@@ -20,12 +20,12 @@ describe("peer reconciliation", () => {
20
20
  })).toMatchInlineSnapshot(`
21
21
  [
22
22
  "client -> server | LOAD Group sessions: header/3",
23
- "client -> server | LOAD Map sessions: header/1",
24
23
  "server -> client | KNOWN Group sessions: empty",
25
- "client -> server | CONTENT Group header: true new: After: 0 New: 3",
24
+ "client -> server | LOAD Map sessions: header/1",
26
25
  "server -> client | KNOWN Map sessions: empty",
27
- "client -> server | CONTENT Map header: true new: After: 0 New: 1",
26
+ "client -> server | CONTENT Group header: true new: After: 0 New: 3",
28
27
  "server -> client | KNOWN Group sessions: header/3",
28
+ "client -> server | CONTENT Map header: true new: After: 0 New: 1",
29
29
  "server -> client | KNOWN Map sessions: header/1",
30
30
  ]
31
31
  `);
@@ -42,19 +42,19 @@ describe("peer reconciliation", () => {
42
42
  SyncMessagesLog.clear();
43
43
  client.connectToSyncServer();
44
44
  await map.core.waitForSync();
45
- const mapOnSyncServer = jazzCloud.node.coValuesStore.get(map.id);
45
+ const mapOnSyncServer = jazzCloud.node.getCoValue(map.id);
46
46
  assert(mapOnSyncServer.isAvailable());
47
- expect(expectMap(mapOnSyncServer.core.getCurrentContent()).get("hello")).toEqual("updated");
47
+ expect(expectMap(mapOnSyncServer.getCurrentContent()).get("hello")).toEqual("updated");
48
48
  expect(SyncMessagesLog.getMessages({
49
49
  Group: group.core,
50
50
  Map: map.core,
51
51
  })).toMatchInlineSnapshot(`
52
52
  [
53
53
  "client -> server | LOAD Group sessions: header/3",
54
- "client -> server | LOAD Map sessions: header/2",
55
54
  "server -> client | KNOWN Group sessions: header/3",
56
- "client -> server | CONTENT Map header: false new: After: 1 New: 1",
55
+ "client -> server | LOAD Map sessions: header/2",
57
56
  "server -> client | KNOWN Map sessions: header/1",
57
+ "client -> server | CONTENT Map header: false new: After: 1 New: 1",
58
58
  "server -> client | KNOWN Map sessions: header/2",
59
59
  ]
60
60
  `);
@@ -72,9 +72,9 @@ describe("peer reconciliation", () => {
72
72
  const { peer } = client.connectToSyncServer();
73
73
  const { peer: latestPeer } = client.connectToSyncServer();
74
74
  await map.core.waitForSync();
75
- const mapOnSyncServer = jazzCloud.node.coValuesStore.get(map.id);
75
+ const mapOnSyncServer = jazzCloud.node.getCoValue(map.id);
76
76
  assert(mapOnSyncServer.isAvailable());
77
- expect(expectMap(mapOnSyncServer.core.getCurrentContent()).get("hello")).toEqual("updated");
77
+ expect(expectMap(mapOnSyncServer.getCurrentContent()).get("hello")).toEqual("updated");
78
78
  expect(peer.outgoing).toMatchObject({
79
79
  closed: true,
80
80
  });
@@ -88,10 +88,10 @@ describe("peer reconciliation", () => {
88
88
  [
89
89
  "client -> server | LOAD Group sessions: header/3",
90
90
  "client -> server | LOAD Group sessions: header/3",
91
- "client -> server | LOAD Map sessions: header/2",
92
91
  "server -> client | KNOWN Group sessions: header/3",
93
- "client -> server | CONTENT Map header: false new: After: 1 New: 1",
92
+ "client -> server | LOAD Map sessions: header/2",
94
93
  "server -> client | KNOWN Map sessions: header/1",
94
+ "client -> server | CONTENT Map header: false new: After: 1 New: 1",
95
95
  "server -> client | KNOWN Map sessions: header/2",
96
96
  ]
97
97
  `);
@@ -109,8 +109,8 @@ describe("peer reconciliation", () => {
109
109
  await new Promise((resolve) => setTimeout(resolve, 0));
110
110
  client.connectToSyncServer();
111
111
  await waitFor(() => {
112
- const mapOnSyncServer = jazzCloud.node.coValuesStore.get(map.id);
113
- expect(mapOnSyncServer.highLevelState).toBe("available");
112
+ const mapOnSyncServer = jazzCloud.node.getCoValue(map.id);
113
+ expect(mapOnSyncServer.loadingState).toBe("available");
114
114
  });
115
115
  expect(SyncMessagesLog.getMessages({
116
116
  Group: group.core,
@@ -118,16 +118,16 @@ describe("peer reconciliation", () => {
118
118
  })).toMatchInlineSnapshot(`
119
119
  [
120
120
  "client -> server | LOAD Group sessions: header/3",
121
- "client -> server | LOAD Map sessions: header/2",
122
121
  "server -> client | KNOWN Group sessions: empty",
123
- "client -> server | CONTENT Group header: true new: After: 0 New: 3",
122
+ "client -> server | LOAD Map sessions: header/2",
124
123
  "server -> client | KNOWN Map sessions: empty",
125
- "client -> server | CONTENT Map header: true new: After: 0 New: 2",
124
+ "client -> server | CONTENT Group header: true new: After: 0 New: 3",
126
125
  "server -> client | KNOWN Group sessions: header/3",
126
+ "client -> server | CONTENT Map header: true new: After: 0 New: 2",
127
127
  "server -> client | KNOWN Map sessions: header/2",
128
128
  "client -> server | LOAD Group sessions: header/3",
129
- "client -> server | LOAD Map sessions: header/2",
130
129
  "server -> client | KNOWN Group sessions: header/3",
130
+ "client -> server | LOAD Map sessions: header/2",
131
131
  "server -> client | KNOWN Map sessions: header/2",
132
132
  ]
133
133
  `);
@@ -142,7 +142,7 @@ describe("peer reconciliation", () => {
142
142
  jazzCloud.restart();
143
143
  SyncMessagesLog.clear();
144
144
  client.connectToSyncServer();
145
- const mapOnSyncServer = jazzCloud.node.coValuesStore.get(map.id);
145
+ const mapOnSyncServer = jazzCloud.node.getCoValue(map.id);
146
146
  await waitFor(() => {
147
147
  expect(mapOnSyncServer.isAvailable()).toBe(true);
148
148
  });
@@ -158,7 +158,7 @@ describe("peer reconciliation", () => {
158
158
  "server -> KNOWN Map sessions: empty",
159
159
  ]
160
160
  `);
161
- expect(expectMap(mapOnSyncServer.core.getCurrentContent()).get("hello")).toEqual("updated");
161
+ expect(expectMap(mapOnSyncServer.getCurrentContent()).get("hello")).toEqual("updated");
162
162
  });
163
163
  });
164
164
  //# sourceMappingURL=sync.peerReconciliation.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.peerReconciliation.test.js","sourceRoot":"","sources":["../../src/tests/sync.peerReconciliation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.peerReconciliation.test.js","sourceRoot":"","sources":["../../src/tests/sync.peerReconciliation.test.ts"],"names":[],"mappings":"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"}