cojson-storage-indexeddb 0.7.18 → 0.7.26
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/.turbo/turbo-build.log +2 -2
- package/.turbo/turbo-lint.log +1 -1
- package/CHANGELOG.md +15 -0
- package/dist/index.js +38 -25
- package/dist/index.js.map +1 -1
- package/package.json +2 -3
- package/src/index.ts +76 -64
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> cojson-storage-indexeddb@0.7.
|
|
2
|
+
> cojson-storage-indexeddb@0.7.23 build /Users/anselm/jazz/jazz/packages/cojson-storage-indexeddb
|
|
3
3
|
> npm run lint && rm -rf ./dist && tsc --sourceMap --outDir dist
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> cojson-storage-indexeddb@0.7.
|
|
6
|
+
> cojson-storage-indexeddb@0.7.23 lint
|
|
7
7
|
> eslint . --ext ts,tsx
|
|
8
8
|
|
package/.turbo/turbo-lint.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# cojson-storage-indexeddb
|
|
2
2
|
|
|
3
|
+
## 0.7.26
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Remove Effect from jazz/cojson internals
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- cojson@0.7.26
|
|
10
|
+
|
|
11
|
+
## 0.7.23
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
- cojson@0.7.23
|
|
17
|
+
|
|
3
18
|
## 0.7.18
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,33 @@
|
|
|
1
1
|
import { cojsonInternals, MAX_RECOMMENDED_TX_SIZE, } from "cojson";
|
|
2
2
|
import { SyncPromise } from "./syncPromises.js";
|
|
3
|
-
import { Effect, Queue, Stream } from "effect";
|
|
4
3
|
export class IDBStorage {
|
|
5
4
|
constructor(db, fromLocalNode, toLocalNode) {
|
|
6
5
|
this.currentTxID = 0;
|
|
7
6
|
this.db = db;
|
|
8
7
|
this.toLocalNode = toLocalNode;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
const processMessages = async () => {
|
|
9
|
+
for await (const msg of fromLocalNode) {
|
|
10
|
+
try {
|
|
11
|
+
if (msg === "Disconnected" || msg === "PingTimeout") {
|
|
12
|
+
throw new Error("Unexpected Disconnected message");
|
|
13
|
+
}
|
|
14
|
+
await this.handleSyncMessage(msg);
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
console.error(new Error(`Error reading from localNode, handling msg\n\n${JSON.stringify(msg, (k, v) => k === "changes" || k === "encryptedChanges"
|
|
18
|
+
? v.slice(0, 20) + "..."
|
|
19
|
+
: v)}`, { cause: e }));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
processMessages().catch((e) => console.error("Error in processMessages in IndexedDB", e));
|
|
15
24
|
}
|
|
16
25
|
static async asPeer({ trace, localNodeName = "local", } = {
|
|
17
26
|
localNodeName: "local",
|
|
18
27
|
}) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return { ...storageAsPeer, priority: 100 };
|
|
23
|
-
}));
|
|
28
|
+
const [localNodeAsPeer, storageAsPeer] = cojsonInternals.connectedPeers(localNodeName, "storage", { peer1role: "client", peer2role: "server", trace });
|
|
29
|
+
await IDBStorage.open(localNodeAsPeer.incoming, localNodeAsPeer.outgoing);
|
|
30
|
+
return { ...storageAsPeer, priority: 100 };
|
|
24
31
|
}
|
|
25
32
|
static async open(fromLocalNode, toLocalNode) {
|
|
26
33
|
const dbPromise = new Promise((resolve, reject) => {
|
|
@@ -194,21 +201,23 @@ export class IDBStorage {
|
|
|
194
201
|
sessions: {},
|
|
195
202
|
}, asDependencyOf || theirKnown.id))).then(() => {
|
|
196
203
|
// we're done with IndexedDB stuff here so can use native Promises again
|
|
197
|
-
setTimeout(() =>
|
|
198
|
-
|
|
204
|
+
setTimeout(() => {
|
|
205
|
+
this.toLocalNode
|
|
206
|
+
.push({
|
|
199
207
|
action: "known",
|
|
200
208
|
...ourKnown,
|
|
201
209
|
asDependencyOf,
|
|
202
|
-
})
|
|
210
|
+
})
|
|
211
|
+
.catch((e) => console.error("Error sending known state", e));
|
|
203
212
|
const nonEmptyNewContentPieces = newContentPieces.filter((piece) => piece.header ||
|
|
204
|
-
Object.keys(piece.new)
|
|
205
|
-
.length > 0);
|
|
213
|
+
Object.keys(piece.new).length > 0);
|
|
206
214
|
// console.log(theirKnown.id, nonEmptyNewContentPieces);
|
|
207
215
|
for (const piece of nonEmptyNewContentPieces) {
|
|
208
|
-
|
|
209
|
-
|
|
216
|
+
this.toLocalNode
|
|
217
|
+
.push(piece)
|
|
218
|
+
.catch((e) => console.error("Error sending new content piece", e));
|
|
210
219
|
}
|
|
211
|
-
})
|
|
220
|
+
});
|
|
212
221
|
return Promise.resolve();
|
|
213
222
|
});
|
|
214
223
|
});
|
|
@@ -226,14 +235,16 @@ export class IDBStorage {
|
|
|
226
235
|
const header = msg.header;
|
|
227
236
|
if (!header) {
|
|
228
237
|
console.error("Expected to be sent header first");
|
|
229
|
-
|
|
238
|
+
this.toLocalNode
|
|
239
|
+
.push({
|
|
230
240
|
action: "known",
|
|
231
241
|
id: msg.id,
|
|
232
242
|
header: false,
|
|
233
243
|
sessions: {},
|
|
234
244
|
isCorrection: true,
|
|
235
|
-
})
|
|
236
|
-
|
|
245
|
+
})
|
|
246
|
+
.catch((e) => console.error("Error sending known state", e));
|
|
247
|
+
return SyncPromise.resolve();
|
|
237
248
|
}
|
|
238
249
|
return this.makeRequest(({ coValues }) => coValues.put({
|
|
239
250
|
id: msg.id,
|
|
@@ -273,11 +284,13 @@ export class IDBStorage {
|
|
|
273
284
|
}
|
|
274
285
|
})).then(() => {
|
|
275
286
|
if (invalidAssumptions) {
|
|
276
|
-
|
|
287
|
+
this.toLocalNode
|
|
288
|
+
.push({
|
|
277
289
|
action: "known",
|
|
278
290
|
...ourKnown,
|
|
279
291
|
isCorrection: invalidAssumptions,
|
|
280
|
-
})
|
|
292
|
+
})
|
|
293
|
+
.catch((e) => console.error("Error sending known state", e));
|
|
281
294
|
}
|
|
282
295
|
});
|
|
283
296
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cojson-storage-indexeddb",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.26",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "src/index.ts",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"effect": "^3.5.2",
|
|
10
9
|
"typescript": "^5.1.6",
|
|
11
|
-
"cojson": "0.7.
|
|
10
|
+
"cojson": "0.7.26"
|
|
12
11
|
},
|
|
13
12
|
"devDependencies": {
|
|
14
13
|
"@vitest/browser": "^0.34.1",
|
package/src/index.ts
CHANGED
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
OutgoingSyncQueue,
|
|
11
11
|
} from "cojson";
|
|
12
12
|
import { SyncPromise } from "./syncPromises.js";
|
|
13
|
-
import { Effect, Queue, Stream } from "effect";
|
|
14
13
|
|
|
15
14
|
type CoValueRow = {
|
|
16
15
|
id: CojsonInternalTypes.RawCoID;
|
|
@@ -53,11 +52,15 @@ export class IDBStorage {
|
|
|
53
52
|
this.db = db;
|
|
54
53
|
this.toLocalNode = toLocalNode;
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
const processMessages = async () => {
|
|
56
|
+
for await (const msg of fromLocalNode) {
|
|
57
|
+
try {
|
|
58
|
+
if (msg === "Disconnected" || msg === "PingTimeout") {
|
|
59
|
+
throw new Error("Unexpected Disconnected message");
|
|
60
|
+
}
|
|
61
|
+
await this.handleSyncMessage(msg);
|
|
62
|
+
} catch (e) {
|
|
63
|
+
console.error(
|
|
61
64
|
new Error(
|
|
62
65
|
`Error reading from localNode, handling msg\n\n${JSON.stringify(
|
|
63
66
|
msg,
|
|
@@ -68,9 +71,13 @@ export class IDBStorage {
|
|
|
68
71
|
)}`,
|
|
69
72
|
{ cause: e },
|
|
70
73
|
),
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
processMessages().catch((e) =>
|
|
80
|
+
console.error("Error in processMessages in IndexedDB", e),
|
|
74
81
|
);
|
|
75
82
|
}
|
|
76
83
|
|
|
@@ -82,25 +89,18 @@ export class IDBStorage {
|
|
|
82
89
|
localNodeName: "local",
|
|
83
90
|
},
|
|
84
91
|
): Promise<Peer> {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
"storage",
|
|
91
|
-
{ peer1role: "client", peer2role: "server", trace },
|
|
92
|
-
);
|
|
93
|
-
|
|
94
|
-
yield* Effect.promise(() =>
|
|
95
|
-
IDBStorage.open(
|
|
96
|
-
localNodeAsPeer.incoming,
|
|
97
|
-
localNodeAsPeer.outgoing,
|
|
98
|
-
),
|
|
99
|
-
);
|
|
92
|
+
const [localNodeAsPeer, storageAsPeer] = cojsonInternals.connectedPeers(
|
|
93
|
+
localNodeName,
|
|
94
|
+
"storage",
|
|
95
|
+
{ peer1role: "client", peer2role: "server", trace },
|
|
96
|
+
);
|
|
100
97
|
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
await IDBStorage.open(
|
|
99
|
+
localNodeAsPeer.incoming,
|
|
100
|
+
localNodeAsPeer.outgoing,
|
|
103
101
|
);
|
|
102
|
+
|
|
103
|
+
return { ...storageAsPeer, priority: 100 };
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
static async open(
|
|
@@ -392,35 +392,40 @@ export class IDBStorage {
|
|
|
392
392
|
),
|
|
393
393
|
).then(() => {
|
|
394
394
|
// we're done with IndexedDB stuff here so can use native Promises again
|
|
395
|
-
setTimeout(() =>
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
395
|
+
setTimeout(() => {
|
|
396
|
+
this.toLocalNode
|
|
397
|
+
.push({
|
|
398
|
+
action: "known",
|
|
399
|
+
...ourKnown,
|
|
400
|
+
asDependencyOf,
|
|
401
|
+
})
|
|
402
|
+
.catch((e) =>
|
|
403
|
+
console.error(
|
|
404
|
+
"Error sending known state",
|
|
405
|
+
e,
|
|
406
|
+
),
|
|
407
|
+
);
|
|
408
|
+
|
|
409
|
+
const nonEmptyNewContentPieces =
|
|
410
|
+
newContentPieces.filter(
|
|
411
|
+
(piece) =>
|
|
412
|
+
piece.header ||
|
|
413
|
+
Object.keys(piece.new).length > 0,
|
|
414
|
+
);
|
|
415
|
+
|
|
416
|
+
// console.log(theirKnown.id, nonEmptyNewContentPieces);
|
|
417
|
+
|
|
418
|
+
for (const piece of nonEmptyNewContentPieces) {
|
|
419
|
+
this.toLocalNode
|
|
420
|
+
.push(piece)
|
|
421
|
+
.catch((e) =>
|
|
422
|
+
console.error(
|
|
423
|
+
"Error sending new content piece",
|
|
424
|
+
e,
|
|
425
|
+
),
|
|
426
|
+
);
|
|
427
|
+
}
|
|
428
|
+
});
|
|
424
429
|
|
|
425
430
|
return Promise.resolve();
|
|
426
431
|
});
|
|
@@ -445,16 +450,18 @@ export class IDBStorage {
|
|
|
445
450
|
const header = msg.header;
|
|
446
451
|
if (!header) {
|
|
447
452
|
console.error("Expected to be sent header first");
|
|
448
|
-
|
|
449
|
-
|
|
453
|
+
this.toLocalNode
|
|
454
|
+
.push({
|
|
450
455
|
action: "known",
|
|
451
456
|
id: msg.id,
|
|
452
457
|
header: false,
|
|
453
458
|
sessions: {},
|
|
454
459
|
isCorrection: true,
|
|
455
|
-
})
|
|
456
|
-
|
|
457
|
-
|
|
460
|
+
})
|
|
461
|
+
.catch((e) =>
|
|
462
|
+
console.error("Error sending known state", e),
|
|
463
|
+
);
|
|
464
|
+
return SyncPromise.resolve();
|
|
458
465
|
}
|
|
459
466
|
|
|
460
467
|
return this.makeRequest<IDBValidKey>(({ coValues }) =>
|
|
@@ -515,13 +522,18 @@ export class IDBStorage {
|
|
|
515
522
|
),
|
|
516
523
|
).then(() => {
|
|
517
524
|
if (invalidAssumptions) {
|
|
518
|
-
|
|
519
|
-
|
|
525
|
+
this.toLocalNode
|
|
526
|
+
.push({
|
|
520
527
|
action: "known",
|
|
521
528
|
...ourKnown,
|
|
522
529
|
isCorrection: invalidAssumptions,
|
|
523
|
-
})
|
|
524
|
-
|
|
530
|
+
})
|
|
531
|
+
.catch((e) =>
|
|
532
|
+
console.error(
|
|
533
|
+
"Error sending known state",
|
|
534
|
+
e,
|
|
535
|
+
),
|
|
536
|
+
);
|
|
525
537
|
}
|
|
526
538
|
});
|
|
527
539
|
});
|