cojson 0.4.13 → 0.5.1
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.
- package/CHANGELOG.md +13 -0
- package/dist/coValueCore.js +109 -42
- package/dist/coValueCore.js.map +1 -1
- package/dist/coValues/coList.js +21 -4
- package/dist/coValues/coList.js.map +1 -1
- package/dist/crypto.js +57 -31
- package/dist/crypto.js.map +1 -1
- package/dist/localNode.js +69 -17
- package/dist/localNode.js.map +1 -1
- package/dist/permissions.js +5 -3
- package/dist/permissions.js.map +1 -1
- package/dist/streamUtils.js +34 -8
- package/dist/streamUtils.js.map +1 -1
- package/dist/sync.js +162 -40
- package/dist/sync.js.map +1 -1
- package/dist/typeUtils/accountOrAgentIDfromSessionID.js +2 -1
- package/dist/typeUtils/accountOrAgentIDfromSessionID.js.map +1 -1
- package/package.json +4 -3
- package/src/coValueCore.ts +140 -63
- package/src/coValues/coList.ts +33 -8
- package/src/crypto.ts +83 -41
- package/src/localNode.ts +145 -38
- package/src/permissions.ts +19 -24
- package/src/streamUtils.ts +41 -8
- package/src/sync.ts +206 -59
- package/src/tests/coValue.test.ts +3 -3
- package/src/tests/permissions.test.ts +124 -83
- package/src/tests/sync.test.ts +29 -20
- package/src/typeUtils/accountOrAgentIDfromSessionID.ts +2 -1
package/dist/sync.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CoValueCore } from "./coValueCore.js";
|
|
2
|
-
import { newLoadingState } from "./localNode.js";
|
|
3
2
|
export function emptyKnownState(id) {
|
|
4
3
|
return {
|
|
5
4
|
id,
|
|
@@ -27,10 +26,25 @@ export function combinedKnownStates(stateA, stateB) {
|
|
|
27
26
|
export class SyncManager {
|
|
28
27
|
constructor(local) {
|
|
29
28
|
this.peers = {};
|
|
29
|
+
this.requestedSyncs = {};
|
|
30
30
|
this.local = local;
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
peersInPriorityOrder() {
|
|
33
|
+
return Object.values(this.peers).sort((a, b) => {
|
|
34
|
+
const aPriority = a.priority || 0;
|
|
35
|
+
const bPriority = b.priority || 0;
|
|
36
|
+
return bPriority - aPriority;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async loadFromPeers(id, excludePeer) {
|
|
40
|
+
for (const peer of this.peersInPriorityOrder()) {
|
|
41
|
+
if (peer.id === excludePeer) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (peer.role !== "server") {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
// console.log("loading", id, "from", peer.id);
|
|
34
48
|
peer.outgoing
|
|
35
49
|
.write({
|
|
36
50
|
action: "load",
|
|
@@ -41,6 +55,38 @@ export class SyncManager {
|
|
|
41
55
|
.catch((e) => {
|
|
42
56
|
console.error("Error writing to peer", e);
|
|
43
57
|
});
|
|
58
|
+
const coValueEntry = this.local.coValues[id];
|
|
59
|
+
if (coValueEntry?.state !== "loading") {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
const firstStateEntry = coValueEntry.firstPeerState[peer.id];
|
|
63
|
+
if (firstStateEntry?.type !== "waiting") {
|
|
64
|
+
throw new Error("Expected firstPeerState to be waiting " + id);
|
|
65
|
+
}
|
|
66
|
+
await new Promise((resolve) => {
|
|
67
|
+
const timeout = setTimeout(() => {
|
|
68
|
+
if (this.local.coValues[id]?.state === "loading") {
|
|
69
|
+
// console.warn(
|
|
70
|
+
// "Timeout waiting for peer to load",
|
|
71
|
+
// id,
|
|
72
|
+
// "from",
|
|
73
|
+
// peer.id,
|
|
74
|
+
// "and it hasn't loaded from other peers yet"
|
|
75
|
+
// );
|
|
76
|
+
}
|
|
77
|
+
resolve();
|
|
78
|
+
}, 1000);
|
|
79
|
+
firstStateEntry.done
|
|
80
|
+
.then(() => {
|
|
81
|
+
clearTimeout(timeout);
|
|
82
|
+
resolve();
|
|
83
|
+
})
|
|
84
|
+
.catch((e) => {
|
|
85
|
+
clearTimeout(timeout);
|
|
86
|
+
console.error("Error waiting for peer to load", id, "from", peer.id, e);
|
|
87
|
+
resolve();
|
|
88
|
+
});
|
|
89
|
+
});
|
|
44
90
|
}
|
|
45
91
|
}
|
|
46
92
|
async handleSyncMessage(msg, peer) {
|
|
@@ -56,6 +102,7 @@ export class SyncManager {
|
|
|
56
102
|
return await this.handleKnownState(msg, peer);
|
|
57
103
|
}
|
|
58
104
|
case "content":
|
|
105
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
59
106
|
return await this.handleNewContent(msg, peer);
|
|
60
107
|
case "done":
|
|
61
108
|
return await this.handleUnsubscribe(msg);
|
|
@@ -91,9 +138,7 @@ export class SyncManager {
|
|
|
91
138
|
}
|
|
92
139
|
async tellUntoldKnownStateIncludingDependencies(id, peer, asDependencyOf) {
|
|
93
140
|
const coValue = this.local.expectCoValueLoaded(id);
|
|
94
|
-
|
|
95
|
-
await this.tellUntoldKnownStateIncludingDependencies(dependentCoID, peer, asDependencyOf || id);
|
|
96
|
-
}
|
|
141
|
+
await Promise.all(coValue.getDependedOnCoValues().map(dependentCoID => this.tellUntoldKnownStateIncludingDependencies(dependentCoID, peer, asDependencyOf || id)));
|
|
97
142
|
if (!peer.toldKnownState.has(id)) {
|
|
98
143
|
await this.trySendToPeer(peer, {
|
|
99
144
|
action: "known",
|
|
@@ -105,9 +150,7 @@ export class SyncManager {
|
|
|
105
150
|
}
|
|
106
151
|
async sendNewContentIncludingDependencies(id, peer) {
|
|
107
152
|
const coValue = this.local.expectCoValueLoaded(id);
|
|
108
|
-
|
|
109
|
-
await this.sendNewContentIncludingDependencies(id, peer);
|
|
110
|
-
}
|
|
153
|
+
await Promise.all(coValue.getDependedOnCoValues().map(id => this.sendNewContentIncludingDependencies(id, peer)));
|
|
111
154
|
const newContentPieces = coValue.newContentSince(peer.optimisticKnownStates[id]);
|
|
112
155
|
if (newContentPieces) {
|
|
113
156
|
const optimisticKnownStateBefore = peer.optimisticKnownStates[id] || emptyKnownState(id);
|
|
@@ -144,11 +187,13 @@ export class SyncManager {
|
|
|
144
187
|
toldKnownState: new Set(),
|
|
145
188
|
role: peer.role,
|
|
146
189
|
delayOnError: peer.delayOnError,
|
|
190
|
+
priority: peer.priority,
|
|
147
191
|
};
|
|
148
192
|
this.peers[peer.id] = peerState;
|
|
149
193
|
if (peer.role === "server") {
|
|
150
194
|
const initialSync = async () => {
|
|
151
195
|
for (const id of Object.keys(this.local.coValues)) {
|
|
196
|
+
// console.log("subscribing to after peer added", id, peer.id)
|
|
152
197
|
await this.subscribeToIncludingDependencies(id, peerState);
|
|
153
198
|
peerState.optimisticKnownStates[id] = {
|
|
154
199
|
id: id,
|
|
@@ -163,7 +208,12 @@ export class SyncManager {
|
|
|
163
208
|
try {
|
|
164
209
|
for await (const msg of peerState.incoming) {
|
|
165
210
|
try {
|
|
166
|
-
await this.handleSyncMessage(msg, peerState);
|
|
211
|
+
// await this.handleSyncMessage(msg, peerState);
|
|
212
|
+
this.handleSyncMessage(msg, peerState).catch((e) => {
|
|
213
|
+
console.error(new Date(), `Error reading from peer ${peer.id}, handling msg`, JSON.stringify(msg, (k, v) => k === "changes" || k === "encryptedChanges"
|
|
214
|
+
? v.slice(0, 20) + "..."
|
|
215
|
+
: v), e);
|
|
216
|
+
});
|
|
167
217
|
await new Promise((resolve) => {
|
|
168
218
|
setTimeout(resolve, 0);
|
|
169
219
|
});
|
|
@@ -189,6 +239,10 @@ export class SyncManager {
|
|
|
189
239
|
void readIncoming();
|
|
190
240
|
}
|
|
191
241
|
trySendToPeer(peer, msg) {
|
|
242
|
+
if (!this.peers[peer.id]) {
|
|
243
|
+
// already disconnected, return to drain potential queue
|
|
244
|
+
return Promise.resolve();
|
|
245
|
+
}
|
|
192
246
|
return new Promise((resolve) => {
|
|
193
247
|
const start = Date.now();
|
|
194
248
|
peer.outgoing
|
|
@@ -196,7 +250,13 @@ export class SyncManager {
|
|
|
196
250
|
.then(() => {
|
|
197
251
|
const end = Date.now();
|
|
198
252
|
if (end - start > 1000) {
|
|
199
|
-
console.error(
|
|
253
|
+
// console.error(
|
|
254
|
+
// new Error(
|
|
255
|
+
// `Writing to peer "${peer.id}" took ${
|
|
256
|
+
// Math.round((Date.now() - start) / 100) / 10
|
|
257
|
+
// }s - this should never happen as write should resolve quickly or error`
|
|
258
|
+
// )
|
|
259
|
+
// );
|
|
200
260
|
}
|
|
201
261
|
else {
|
|
202
262
|
resolve();
|
|
@@ -211,31 +271,34 @@ export class SyncManager {
|
|
|
211
271
|
});
|
|
212
272
|
}
|
|
213
273
|
async handleLoad(msg, peer) {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
274
|
+
peer.optimisticKnownStates[msg.id] = knownStateIn(msg);
|
|
275
|
+
let entry = this.local.coValues[msg.id];
|
|
276
|
+
if (!entry) {
|
|
277
|
+
// console.log(`Loading ${msg.id} from all peers except ${peer.id}`);
|
|
278
|
+
this.local
|
|
279
|
+
.loadCoValueCore(msg.id, {
|
|
280
|
+
dontLoadFrom: peer.id,
|
|
281
|
+
dontWaitFor: peer.id,
|
|
282
|
+
})
|
|
283
|
+
.catch((e) => {
|
|
284
|
+
console.error("Error loading coValue in handleLoad", e);
|
|
285
|
+
});
|
|
286
|
+
entry = this.local.coValues[msg.id];
|
|
287
|
+
}
|
|
288
|
+
if (entry.state === "loading") {
|
|
289
|
+
const loaded = await entry.done;
|
|
290
|
+
if (loaded === "unavailable") {
|
|
291
|
+
peer.optimisticKnownStates[msg.id] = knownStateIn(msg);
|
|
292
|
+
peer.toldKnownState.add(msg.id);
|
|
293
|
+
await this.trySendToPeer(peer, {
|
|
294
|
+
action: "known",
|
|
295
|
+
id: msg.id,
|
|
296
|
+
header: false,
|
|
297
|
+
sessions: {},
|
|
226
298
|
});
|
|
299
|
+
return;
|
|
227
300
|
}
|
|
228
|
-
peer.optimisticKnownStates[msg.id] = knownStateIn(msg);
|
|
229
|
-
peer.toldKnownState.add(msg.id);
|
|
230
|
-
await this.trySendToPeer(peer, {
|
|
231
|
-
action: "known",
|
|
232
|
-
id: msg.id,
|
|
233
|
-
header: false,
|
|
234
|
-
sessions: {},
|
|
235
|
-
});
|
|
236
|
-
return;
|
|
237
301
|
}
|
|
238
|
-
peer.optimisticKnownStates[msg.id] = knownStateIn(msg);
|
|
239
302
|
await this.tellUntoldKnownStateIncludingDependencies(msg.id, peer);
|
|
240
303
|
await this.sendNewContentIncludingDependencies(msg.id, peer);
|
|
241
304
|
}
|
|
@@ -245,8 +308,12 @@ export class SyncManager {
|
|
|
245
308
|
if (!entry) {
|
|
246
309
|
if (msg.asDependencyOf) {
|
|
247
310
|
if (this.local.coValues[msg.asDependencyOf]) {
|
|
248
|
-
|
|
249
|
-
|
|
311
|
+
this.local
|
|
312
|
+
.loadCoValueCore(msg.id, { dontLoadFrom: peer.id })
|
|
313
|
+
.catch((e) => {
|
|
314
|
+
console.error(`Error loading coValue ${msg.id} to create loading state, as dependency of ${msg.asDependencyOf}`, e);
|
|
315
|
+
});
|
|
316
|
+
entry = this.local.coValues[msg.id]; // must exist after loadCoValueCore
|
|
250
317
|
}
|
|
251
318
|
else {
|
|
252
319
|
throw new Error("Expected coValue dependency entry to be created, missing subscribe?");
|
|
@@ -257,6 +324,25 @@ export class SyncManager {
|
|
|
257
324
|
}
|
|
258
325
|
}
|
|
259
326
|
if (entry.state === "loading") {
|
|
327
|
+
const availableOnPeer = peer.optimisticKnownStates[msg.id]?.header;
|
|
328
|
+
const firstPeerStateEntry = entry.firstPeerState[peer.id];
|
|
329
|
+
if (firstPeerStateEntry?.type === "waiting") {
|
|
330
|
+
firstPeerStateEntry.resolve();
|
|
331
|
+
}
|
|
332
|
+
entry.firstPeerState[peer.id] = availableOnPeer
|
|
333
|
+
? { type: "available" }
|
|
334
|
+
: { type: "unavailable" };
|
|
335
|
+
// console.log(
|
|
336
|
+
// "Marking",
|
|
337
|
+
// msg.id,
|
|
338
|
+
// "as",
|
|
339
|
+
// entry.firstPeerState[peer.id]?.type,
|
|
340
|
+
// "from",
|
|
341
|
+
// peer.id
|
|
342
|
+
// );
|
|
343
|
+
if (Object.values(entry.firstPeerState).every((s) => s.type === "unavailable")) {
|
|
344
|
+
entry.resolve("unavailable");
|
|
345
|
+
}
|
|
260
346
|
return [];
|
|
261
347
|
}
|
|
262
348
|
await this.tellUntoldKnownStateIncludingDependencies(msg.id, peer);
|
|
@@ -276,20 +362,25 @@ export class SyncManager {
|
|
|
276
362
|
if (!msg.header) {
|
|
277
363
|
throw new Error("Expected header to be sent in first message");
|
|
278
364
|
}
|
|
365
|
+
const firstPeerStateEntry = entry.firstPeerState[peer.id];
|
|
366
|
+
if (firstPeerStateEntry?.type === "waiting") {
|
|
367
|
+
firstPeerStateEntry.resolve();
|
|
368
|
+
entry.firstPeerState[peer.id] = { type: "available" };
|
|
369
|
+
}
|
|
279
370
|
peerOptimisticKnownState.header = true;
|
|
280
371
|
const coValue = new CoValueCore(msg.header, this.local);
|
|
281
372
|
resolveAfterDone = entry.resolve;
|
|
282
373
|
entry = {
|
|
283
374
|
state: "loaded",
|
|
284
375
|
coValue: coValue,
|
|
285
|
-
onProgress: entry.onProgress
|
|
376
|
+
onProgress: entry.onProgress,
|
|
286
377
|
};
|
|
287
378
|
this.local.coValues[msg.id] = entry;
|
|
288
379
|
}
|
|
289
380
|
const coValue = entry.coValue;
|
|
290
381
|
let invalidStateAssumed = false;
|
|
291
382
|
for (const [sessionID, newContentForSession] of Object.entries(msg.new)) {
|
|
292
|
-
const ourKnownTxIdx = coValue.
|
|
383
|
+
const ourKnownTxIdx = coValue.sessionLogs.get(sessionID)?.transactions.length;
|
|
293
384
|
const theirFirstNewTxIdx = newContentForSession.after;
|
|
294
385
|
if ((ourKnownTxIdx || 0) < theirFirstNewTxIdx) {
|
|
295
386
|
invalidStateAssumed = true;
|
|
@@ -305,7 +396,7 @@ export class SyncManager {
|
|
|
305
396
|
const before = performance.now();
|
|
306
397
|
const success = await coValue.tryAddTransactionsAsync(sessionID, newTransactions, undefined, newContentForSession.lastSignature);
|
|
307
398
|
const after = performance.now();
|
|
308
|
-
if (after - before >
|
|
399
|
+
if (after - before > 80) {
|
|
309
400
|
const totalTxLength = newTransactions
|
|
310
401
|
.map((t) => t.privacy === "private"
|
|
311
402
|
? t.encryptedChanges.length
|
|
@@ -316,7 +407,7 @@ export class SyncManager {
|
|
|
316
407
|
(1024 * 1024)).toFixed(2)} MB/s`);
|
|
317
408
|
}
|
|
318
409
|
const theirTotalnTxs = Object.values(peer.optimisticKnownStates[msg.id]?.sessions || {}).reduce((sum, nTxs) => sum + nTxs, 0);
|
|
319
|
-
const ourTotalnTxs =
|
|
410
|
+
const ourTotalnTxs = [...coValue.sessionLogs.values()].reduce((sum, session) => sum + session.transactions.length, 0);
|
|
320
411
|
entry.onProgress?.(ourTotalnTxs / theirTotalnTxs);
|
|
321
412
|
if (!success) {
|
|
322
413
|
console.error("Failed to add transactions", msg.id, JSON.stringify(newTransactions, (k, v) => k === "changes" || k === "encryptedChanges"
|
|
@@ -347,7 +438,38 @@ export class SyncManager {
|
|
|
347
438
|
throw new Error("Method not implemented.");
|
|
348
439
|
}
|
|
349
440
|
async syncCoValue(coValue) {
|
|
350
|
-
|
|
441
|
+
if (this.requestedSyncs[coValue.id]) {
|
|
442
|
+
this.requestedSyncs[coValue.id].nRequestsThisTick++;
|
|
443
|
+
return this.requestedSyncs[coValue.id].done;
|
|
444
|
+
}
|
|
445
|
+
else {
|
|
446
|
+
const done = new Promise((resolve) => {
|
|
447
|
+
setTimeout(async () => {
|
|
448
|
+
delete this.requestedSyncs[coValue.id];
|
|
449
|
+
if (entry.nRequestsThisTick >= 2) {
|
|
450
|
+
console.log("Syncing", coValue.id, "for", entry.nRequestsThisTick, "requests");
|
|
451
|
+
}
|
|
452
|
+
await this.actuallySyncCoValue(coValue);
|
|
453
|
+
resolve();
|
|
454
|
+
}, 0);
|
|
455
|
+
});
|
|
456
|
+
const entry = {
|
|
457
|
+
done,
|
|
458
|
+
nRequestsThisTick: 1,
|
|
459
|
+
};
|
|
460
|
+
this.requestedSyncs[coValue.id] = entry;
|
|
461
|
+
return done;
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
async actuallySyncCoValue(coValue) {
|
|
465
|
+
let blockingSince = performance.now();
|
|
466
|
+
for (const peer of this.peersInPriorityOrder()) {
|
|
467
|
+
if (performance.now() - blockingSince > 5) {
|
|
468
|
+
await new Promise((resolve) => {
|
|
469
|
+
setTimeout(resolve, 0);
|
|
470
|
+
});
|
|
471
|
+
blockingSince = performance.now();
|
|
472
|
+
}
|
|
351
473
|
const optimisticKnownState = peer.optimisticKnownStates[coValue.id];
|
|
352
474
|
if (optimisticKnownState) {
|
|
353
475
|
await this.tellUntoldKnownStateIncludingDependencies(coValue.id, peer);
|
package/dist/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountOrAgentIDfromSessionID.js","sourceRoot":"","sources":["../../src/typeUtils/accountOrAgentIDfromSessionID.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,6BAA6B,CACzC,SAAoB;IAEpB,
|
|
1
|
+
{"version":3,"file":"accountOrAgentIDfromSessionID.js","sourceRoot":"","sources":["../../src/typeUtils/accountOrAgentIDfromSessionID.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,6BAA6B,CACzC,SAAoB;IAEpB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAwB,CAAC;AAC5D,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
"types": "src/index.ts",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"license": "MIT",
|
|
8
|
-
"version": "0.
|
|
8
|
+
"version": "0.5.1",
|
|
9
9
|
"devDependencies": {
|
|
10
|
+
"@noble/curves": "^1.2.0",
|
|
10
11
|
"@types/jest": "^29.5.3",
|
|
11
12
|
"@typescript-eslint/eslint-plugin": "^6.2.1",
|
|
12
13
|
"@typescript-eslint/parser": "^6.2.1",
|
|
@@ -17,8 +18,8 @@
|
|
|
17
18
|
"typescript": "5.0.2"
|
|
18
19
|
},
|
|
19
20
|
"dependencies": {
|
|
21
|
+
"@hazae41/berith": "^1.2.6",
|
|
20
22
|
"@noble/ciphers": "^0.1.3",
|
|
21
|
-
"@noble/curves": "^1.1.0",
|
|
22
23
|
"@scure/base": "^1.1.1",
|
|
23
24
|
"hash-wasm": "^4.9.0",
|
|
24
25
|
"isomorphic-streams": "https://github.com/sgwilym/isomorphic-streams.git#aa9394781bfc92f8d7c981be7daf8af4b4cd4fae"
|
|
@@ -51,5 +52,5 @@
|
|
|
51
52
|
"/dist/"
|
|
52
53
|
]
|
|
53
54
|
},
|
|
54
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "33c27053293b4801b968c61d5c4c989f93a67d13"
|
|
55
56
|
}
|