cojson 0.19.22 → 0.20.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +66 -0
- package/dist/PeerState.d.ts +6 -1
- package/dist/PeerState.d.ts.map +1 -1
- package/dist/PeerState.js +18 -3
- package/dist/PeerState.js.map +1 -1
- package/dist/coValueContentMessage.d.ts +0 -2
- package/dist/coValueContentMessage.d.ts.map +1 -1
- package/dist/coValueContentMessage.js +0 -8
- package/dist/coValueContentMessage.js.map +1 -1
- package/dist/coValueCore/SessionMap.d.ts +4 -2
- package/dist/coValueCore/SessionMap.d.ts.map +1 -1
- package/dist/coValueCore/SessionMap.js +30 -0
- package/dist/coValueCore/SessionMap.js.map +1 -1
- package/dist/coValueCore/coValueCore.d.ts +70 -5
- package/dist/coValueCore/coValueCore.d.ts.map +1 -1
- package/dist/coValueCore/coValueCore.js +302 -31
- package/dist/coValueCore/coValueCore.js.map +1 -1
- package/dist/coValueCore/verifiedState.d.ts +6 -1
- package/dist/coValueCore/verifiedState.d.ts.map +1 -1
- package/dist/coValueCore/verifiedState.js +9 -0
- package/dist/coValueCore/verifiedState.js.map +1 -1
- package/dist/coValues/coList.d.ts +4 -2
- package/dist/coValues/coList.d.ts.map +1 -1
- package/dist/coValues/coList.js +3 -0
- package/dist/coValues/coList.js.map +1 -1
- package/dist/coValues/group.d.ts.map +1 -1
- package/dist/coValues/group.js +3 -6
- package/dist/coValues/group.js.map +1 -1
- package/dist/config.d.ts +2 -8
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -12
- package/dist/config.js.map +1 -1
- package/dist/crypto/NapiCrypto.d.ts +1 -2
- package/dist/crypto/NapiCrypto.d.ts.map +1 -1
- package/dist/crypto/NapiCrypto.js +19 -4
- package/dist/crypto/NapiCrypto.js.map +1 -1
- package/dist/crypto/RNCrypto.d.ts.map +1 -1
- package/dist/crypto/RNCrypto.js +19 -4
- package/dist/crypto/RNCrypto.js.map +1 -1
- package/dist/crypto/WasmCrypto.d.ts +11 -4
- package/dist/crypto/WasmCrypto.d.ts.map +1 -1
- package/dist/crypto/WasmCrypto.js +52 -10
- package/dist/crypto/WasmCrypto.js.map +1 -1
- package/dist/crypto/WasmCryptoEdge.d.ts +1 -0
- package/dist/crypto/WasmCryptoEdge.d.ts.map +1 -1
- package/dist/crypto/WasmCryptoEdge.js +4 -1
- package/dist/crypto/WasmCryptoEdge.js.map +1 -1
- package/dist/crypto/crypto.d.ts +3 -3
- package/dist/crypto/crypto.d.ts.map +1 -1
- package/dist/crypto/crypto.js +6 -1
- package/dist/crypto/crypto.js.map +1 -1
- package/dist/exports.d.ts +5 -5
- package/dist/exports.d.ts.map +1 -1
- package/dist/exports.js +4 -3
- package/dist/exports.js.map +1 -1
- package/dist/ids.d.ts +4 -1
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +4 -0
- package/dist/ids.js.map +1 -1
- package/dist/knownState.d.ts +2 -0
- package/dist/knownState.d.ts.map +1 -1
- package/dist/localNode.d.ts +12 -0
- package/dist/localNode.d.ts.map +1 -1
- package/dist/localNode.js +14 -0
- package/dist/localNode.js.map +1 -1
- package/dist/platformUtils.d.ts +3 -0
- package/dist/platformUtils.d.ts.map +1 -0
- package/dist/platformUtils.js +24 -0
- package/dist/platformUtils.js.map +1 -0
- package/dist/queue/LinkedList.d.ts +9 -3
- package/dist/queue/LinkedList.d.ts.map +1 -1
- package/dist/queue/LinkedList.js +30 -1
- package/dist/queue/LinkedList.js.map +1 -1
- package/dist/queue/OutgoingLoadQueue.d.ts +95 -0
- package/dist/queue/OutgoingLoadQueue.d.ts.map +1 -0
- package/dist/queue/OutgoingLoadQueue.js +240 -0
- package/dist/queue/OutgoingLoadQueue.js.map +1 -0
- package/dist/storage/DeletedCoValuesEraserScheduler.d.ts +30 -0
- package/dist/storage/DeletedCoValuesEraserScheduler.d.ts.map +1 -0
- package/dist/storage/DeletedCoValuesEraserScheduler.js +84 -0
- package/dist/storage/DeletedCoValuesEraserScheduler.js.map +1 -0
- package/dist/storage/sqlite/client.d.ts +3 -0
- package/dist/storage/sqlite/client.d.ts.map +1 -1
- package/dist/storage/sqlite/client.js +44 -0
- package/dist/storage/sqlite/client.js.map +1 -1
- package/dist/storage/sqlite/sqliteMigrations.d.ts.map +1 -1
- package/dist/storage/sqlite/sqliteMigrations.js +7 -0
- package/dist/storage/sqlite/sqliteMigrations.js.map +1 -1
- package/dist/storage/sqliteAsync/client.d.ts +3 -0
- package/dist/storage/sqliteAsync/client.d.ts.map +1 -1
- package/dist/storage/sqliteAsync/client.js +42 -0
- package/dist/storage/sqliteAsync/client.js.map +1 -1
- package/dist/storage/storageAsync.d.ts +7 -0
- package/dist/storage/storageAsync.d.ts.map +1 -1
- package/dist/storage/storageAsync.js +48 -0
- package/dist/storage/storageAsync.js.map +1 -1
- package/dist/storage/storageSync.d.ts +6 -0
- package/dist/storage/storageSync.d.ts.map +1 -1
- package/dist/storage/storageSync.js +42 -0
- package/dist/storage/storageSync.js.map +1 -1
- package/dist/storage/types.d.ts +59 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/types.js +12 -1
- package/dist/storage/types.js.map +1 -1
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +66 -43
- package/dist/sync.js.map +1 -1
- package/dist/tests/DeletedCoValuesEraserScheduler.test.d.ts +2 -0
- package/dist/tests/DeletedCoValuesEraserScheduler.test.d.ts.map +1 -0
- package/dist/tests/DeletedCoValuesEraserScheduler.test.js +149 -0
- package/dist/tests/DeletedCoValuesEraserScheduler.test.js.map +1 -0
- package/dist/tests/GarbageCollector.test.js +5 -6
- package/dist/tests/GarbageCollector.test.js.map +1 -1
- package/dist/tests/LinkedList.test.js +90 -0
- package/dist/tests/LinkedList.test.js.map +1 -1
- package/dist/tests/OutgoingLoadQueue.test.d.ts +2 -0
- package/dist/tests/OutgoingLoadQueue.test.d.ts.map +1 -0
- package/dist/tests/OutgoingLoadQueue.test.js +814 -0
- package/dist/tests/OutgoingLoadQueue.test.js.map +1 -0
- package/dist/tests/StorageApiAsync.test.js +484 -152
- package/dist/tests/StorageApiAsync.test.js.map +1 -1
- package/dist/tests/StorageApiSync.test.js +505 -136
- package/dist/tests/StorageApiSync.test.js.map +1 -1
- package/dist/tests/WasmCrypto.test.js +6 -3
- package/dist/tests/WasmCrypto.test.js.map +1 -1
- package/dist/tests/coValueCore.loadFromStorage.test.js +3 -0
- package/dist/tests/coValueCore.loadFromStorage.test.js.map +1 -1
- package/dist/tests/coValueCore.test.js +34 -13
- package/dist/tests/coValueCore.test.js.map +1 -1
- package/dist/tests/coreWasm.test.js +127 -4
- package/dist/tests/coreWasm.test.js.map +1 -1
- package/dist/tests/crypto.test.js +89 -93
- package/dist/tests/crypto.test.js.map +1 -1
- package/dist/tests/deleteCoValue.test.d.ts +2 -0
- package/dist/tests/deleteCoValue.test.d.ts.map +1 -0
- package/dist/tests/deleteCoValue.test.js +313 -0
- package/dist/tests/deleteCoValue.test.js.map +1 -0
- package/dist/tests/group.removeMember.test.js +18 -30
- package/dist/tests/group.removeMember.test.js.map +1 -1
- package/dist/tests/knownState.lazyLoading.test.js +3 -0
- package/dist/tests/knownState.lazyLoading.test.js.map +1 -1
- package/dist/tests/sync.concurrentLoad.test.d.ts +2 -0
- package/dist/tests/sync.concurrentLoad.test.d.ts.map +1 -0
- package/dist/tests/sync.concurrentLoad.test.js +481 -0
- package/dist/tests/sync.concurrentLoad.test.js.map +1 -0
- package/dist/tests/sync.deleted.test.d.ts +2 -0
- package/dist/tests/sync.deleted.test.d.ts.map +1 -0
- package/dist/tests/sync.deleted.test.js +214 -0
- package/dist/tests/sync.deleted.test.js.map +1 -0
- package/dist/tests/sync.mesh.test.js +3 -2
- package/dist/tests/sync.mesh.test.js.map +1 -1
- package/dist/tests/sync.storage.test.js +4 -3
- package/dist/tests/sync.storage.test.js.map +1 -1
- package/dist/tests/sync.test.js +3 -2
- package/dist/tests/sync.test.js.map +1 -1
- package/dist/tests/testStorage.d.ts +3 -0
- package/dist/tests/testStorage.d.ts.map +1 -1
- package/dist/tests/testStorage.js +17 -1
- package/dist/tests/testStorage.js.map +1 -1
- package/dist/tests/testUtils.d.ts +7 -3
- package/dist/tests/testUtils.d.ts.map +1 -1
- package/dist/tests/testUtils.js +19 -4
- package/dist/tests/testUtils.js.map +1 -1
- package/package.json +6 -16
- package/src/PeerState.ts +26 -3
- package/src/coValueContentMessage.ts +0 -14
- package/src/coValueCore/SessionMap.ts +43 -1
- package/src/coValueCore/coValueCore.ts +415 -27
- package/src/coValueCore/verifiedState.ts +26 -3
- package/src/coValues/coList.ts +9 -3
- package/src/coValues/group.ts +5 -6
- package/src/config.ts +4 -13
- package/src/crypto/NapiCrypto.ts +29 -13
- package/src/crypto/RNCrypto.ts +29 -11
- package/src/crypto/WasmCrypto.ts +67 -20
- package/src/crypto/WasmCryptoEdge.ts +5 -1
- package/src/crypto/crypto.ts +16 -4
- package/src/exports.ts +4 -2
- package/src/ids.ts +11 -1
- package/src/localNode.ts +15 -0
- package/src/platformUtils.ts +26 -0
- package/src/queue/LinkedList.ts +34 -4
- package/src/queue/OutgoingLoadQueue.ts +307 -0
- package/src/storage/DeletedCoValuesEraserScheduler.ts +124 -0
- package/src/storage/sqlite/client.ts +77 -0
- package/src/storage/sqlite/sqliteMigrations.ts +7 -0
- package/src/storage/sqliteAsync/client.ts +75 -0
- package/src/storage/storageAsync.ts +62 -0
- package/src/storage/storageSync.ts +58 -0
- package/src/storage/types.ts +69 -0
- package/src/sync.ts +78 -46
- package/src/tests/DeletedCoValuesEraserScheduler.test.ts +185 -0
- package/src/tests/GarbageCollector.test.ts +6 -10
- package/src/tests/LinkedList.test.ts +111 -0
- package/src/tests/OutgoingLoadQueue.test.ts +1129 -0
- package/src/tests/StorageApiAsync.test.ts +572 -162
- package/src/tests/StorageApiSync.test.ts +580 -143
- package/src/tests/WasmCrypto.test.ts +8 -3
- package/src/tests/coValueCore.loadFromStorage.test.ts +6 -0
- package/src/tests/coValueCore.test.ts +49 -14
- package/src/tests/coreWasm.test.ts +319 -10
- package/src/tests/crypto.test.ts +141 -150
- package/src/tests/deleteCoValue.test.ts +528 -0
- package/src/tests/group.removeMember.test.ts +35 -35
- package/src/tests/knownState.lazyLoading.test.ts +6 -0
- package/src/tests/sync.concurrentLoad.test.ts +650 -0
- package/src/tests/sync.deleted.test.ts +294 -0
- package/src/tests/sync.mesh.test.ts +5 -2
- package/src/tests/sync.storage.test.ts +6 -3
- package/src/tests/sync.test.ts +5 -2
- package/src/tests/testStorage.ts +31 -2
- package/src/tests/testUtils.ts +31 -10
- package/dist/crypto/PureJSCrypto.d.ts +0 -77
- package/dist/crypto/PureJSCrypto.d.ts.map +0 -1
- package/dist/crypto/PureJSCrypto.js +0 -236
- package/dist/crypto/PureJSCrypto.js.map +0 -1
- package/dist/tests/PureJSCrypto.test.d.ts +0 -2
- package/dist/tests/PureJSCrypto.test.d.ts.map +0 -1
- package/dist/tests/PureJSCrypto.test.js +0 -145
- package/dist/tests/PureJSCrypto.test.js.map +0 -1
- package/src/crypto/PureJSCrypto.ts +0 -429
- package/src/tests/PureJSCrypto.test.ts +0 -217
|
@@ -2,9 +2,12 @@ import { createContentMessage, exceedsRecommendedSize, } from "../coValueContent
|
|
|
2
2
|
import { logger, } from "../exports.js";
|
|
3
3
|
import { StorageKnownState } from "./knownState.js";
|
|
4
4
|
import { emptyKnownState, setSessionCounter, } from "../knownState.js";
|
|
5
|
+
import { isDeleteSessionID } from "../ids.js";
|
|
5
6
|
import { collectNewTxs, getDependedOnCoValues, getNewTransactionsSize, } from "./syncUtils.js";
|
|
7
|
+
import { DeletedCoValuesEraserScheduler } from "./DeletedCoValuesEraserScheduler.js";
|
|
6
8
|
import { StorageStreamingQueue, } from "../queue/StorageStreamingQueue.js";
|
|
7
9
|
import { getPriorityFromHeader } from "../priority.js";
|
|
10
|
+
const MAX_DELETE_SCHEDULE_DURATION_MS = 100;
|
|
8
11
|
export class StorageApiSync {
|
|
9
12
|
constructor(dbClient) {
|
|
10
13
|
/**
|
|
@@ -13,6 +16,7 @@ export class StorageApiSync {
|
|
|
13
16
|
*/
|
|
14
17
|
this.inMemoryCoValues = new Set();
|
|
15
18
|
this.knownStates = new StorageKnownState();
|
|
19
|
+
this.deletedValues = new Set();
|
|
16
20
|
this.dbClient = dbClient;
|
|
17
21
|
this.streamingQueue = new StorageStreamingQueue();
|
|
18
22
|
}
|
|
@@ -175,6 +179,9 @@ export class StorageApiSync {
|
|
|
175
179
|
let invalidAssumptions = false;
|
|
176
180
|
for (const sessionID of Object.keys(msg.new)) {
|
|
177
181
|
this.dbClient.transaction((tx) => {
|
|
182
|
+
if (this.deletedValues.has(id) && isDeleteSessionID(sessionID)) {
|
|
183
|
+
tx.markCoValueAsDeleted(id);
|
|
184
|
+
}
|
|
178
185
|
const sessionRow = tx.getSingleCoValueSession(storedCoValueRowID, sessionID);
|
|
179
186
|
if (sessionRow) {
|
|
180
187
|
setSessionCounter(knownState.sessions, sessionRow.sessionID, sessionRow.lastIdx);
|
|
@@ -238,6 +245,40 @@ export class StorageApiSync {
|
|
|
238
245
|
actuallyNewTransactions.map((newTransaction, i) => tx.addTransaction(sessionRowID, nextIdx + i, newTransaction));
|
|
239
246
|
return newLastIdx;
|
|
240
247
|
}
|
|
248
|
+
markDeleteAsValid(id) {
|
|
249
|
+
this.deletedValues.add(id);
|
|
250
|
+
if (this.deletedCoValuesEraserScheduler) {
|
|
251
|
+
this.deletedCoValuesEraserScheduler.onEnqueueDeletedCoValue();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
async eraseAllDeletedCoValues() {
|
|
255
|
+
const ids = this.dbClient.getAllCoValuesWaitingForDelete();
|
|
256
|
+
for (const id of ids) {
|
|
257
|
+
this.dbClient.eraseCoValueButKeepTombstone(id);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
enableDeletedCoValuesErasure() {
|
|
261
|
+
if (this.deletedCoValuesEraserScheduler)
|
|
262
|
+
return;
|
|
263
|
+
this.deletedCoValuesEraserScheduler = new DeletedCoValuesEraserScheduler({
|
|
264
|
+
run: async () => this.eraseDeletedCoValuesOnceBudgeted(MAX_DELETE_SCHEDULE_DURATION_MS),
|
|
265
|
+
});
|
|
266
|
+
this.deletedCoValuesEraserScheduler.scheduleStartupDrain();
|
|
267
|
+
}
|
|
268
|
+
eraseDeletedCoValuesOnceBudgeted(budgetMs) {
|
|
269
|
+
const startedAt = Date.now();
|
|
270
|
+
const ids = this.dbClient.getAllCoValuesWaitingForDelete();
|
|
271
|
+
for (const id of ids) {
|
|
272
|
+
// Strict time budget for sync storage to avoid blocking.
|
|
273
|
+
if (budgetMs && Date.now() - startedAt >= budgetMs) {
|
|
274
|
+
break;
|
|
275
|
+
}
|
|
276
|
+
this.dbClient.eraseCoValueButKeepTombstone(id);
|
|
277
|
+
}
|
|
278
|
+
return {
|
|
279
|
+
hasMore: this.dbClient.getAllCoValuesWaitingForDelete().length > 0,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
241
282
|
waitForSync(id, coValue) {
|
|
242
283
|
return this.knownStates.waitForSync(id, coValue);
|
|
243
284
|
}
|
|
@@ -256,6 +297,7 @@ export class StorageApiSync {
|
|
|
256
297
|
this.inMemoryCoValues.delete(id);
|
|
257
298
|
}
|
|
258
299
|
close() {
|
|
300
|
+
this.deletedCoValuesEraserScheduler?.dispose();
|
|
259
301
|
this.inMemoryCoValues.clear();
|
|
260
302
|
return undefined;
|
|
261
303
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageSync.js","sourceRoot":"","sources":["../../src/storage/storageSync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storageSync.js","sourceRoot":"","sources":["../../src/storage/storageSync.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/types.d.ts
CHANGED
|
@@ -6,12 +6,39 @@ import type { PeerID } from "../sync.js";
|
|
|
6
6
|
import { CoValueKnownState } from "../knownState.js";
|
|
7
7
|
import { StorageStreamingQueue } from "../queue/StorageStreamingQueue.js";
|
|
8
8
|
export type CorrectionCallback = (correction: CoValueKnownState) => NewContentMessage[] | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Deletion work queue status for `deletedCoValues` (SQLite).
|
|
11
|
+
*
|
|
12
|
+
* Stored as an INTEGER in SQLite:
|
|
13
|
+
* - 0 = pending
|
|
14
|
+
* - 1 = done
|
|
15
|
+
*/
|
|
16
|
+
export declare enum DeletedCoValueDeletionStatus {
|
|
17
|
+
Pending = 0,
|
|
18
|
+
Done = 1
|
|
19
|
+
}
|
|
9
20
|
/**
|
|
10
21
|
* The StorageAPI is the interface that the StorageSync and StorageAsync classes implement.
|
|
11
22
|
*
|
|
12
23
|
* It uses callbacks instead of promises to have no overhead when using the StorageSync and less overhead when using the StorageAsync.
|
|
13
24
|
*/
|
|
14
25
|
export interface StorageAPI {
|
|
26
|
+
/**
|
|
27
|
+
* Flags that the coValue delete is valid.
|
|
28
|
+
*
|
|
29
|
+
* When the delete tx is stored, the storage will mark the coValue as deleted.
|
|
30
|
+
*/
|
|
31
|
+
markDeleteAsValid(id: RawCoID): void;
|
|
32
|
+
/**
|
|
33
|
+
* Enable the background erasure scheduler that drains the `deletedCoValues` work queue.
|
|
34
|
+
* This is intentionally opt-in and should be activated by `LocalNode`.
|
|
35
|
+
*/
|
|
36
|
+
enableDeletedCoValuesErasure(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Batch physical deletion for coValues queued in `deletedCoValues` with status `Pending`.
|
|
39
|
+
* Must preserve tombstones (header + delete session(s) + their tx/signatures).
|
|
40
|
+
*/
|
|
41
|
+
eraseAllDeletedCoValues(): Promise<void>;
|
|
15
42
|
load(id: string, callback: (data: NewContentMessage) => void, done?: (found: boolean) => void): void;
|
|
16
43
|
store(data: NewContentMessage, handleCorrection: CorrectionCallback): void;
|
|
17
44
|
streamingQueue?: StorageStreamingQueue;
|
|
@@ -79,6 +106,12 @@ export type SignatureAfterRow = {
|
|
|
79
106
|
};
|
|
80
107
|
export interface DBTransactionInterfaceAsync {
|
|
81
108
|
getSingleCoValueSession(coValueRowId: number, sessionID: SessionID): Promise<StoredSessionRow | undefined>;
|
|
109
|
+
/**
|
|
110
|
+
* Persist a "deleted coValue" marker in storage (work queue entry).
|
|
111
|
+
* This is an enqueue signal: implementations should set status to `Pending`.
|
|
112
|
+
* This is expected to be idempotent (safe to call repeatedly).
|
|
113
|
+
*/
|
|
114
|
+
markCoValueAsDeleted(id: RawCoID): Promise<unknown>;
|
|
82
115
|
addSessionUpdate({ sessionUpdate, sessionRow, }: {
|
|
83
116
|
sessionUpdate: SessionRow;
|
|
84
117
|
sessionRow?: StoredSessionRow;
|
|
@@ -93,6 +126,10 @@ export interface DBTransactionInterfaceAsync {
|
|
|
93
126
|
export interface DBClientInterfaceAsync {
|
|
94
127
|
getCoValue(coValueId: string): Promise<StoredCoValueRow | undefined> | undefined;
|
|
95
128
|
upsertCoValue(id: string, header?: CoValueHeader): Promise<number | undefined>;
|
|
129
|
+
/**
|
|
130
|
+
* Enumerate all coValue IDs currently pending in the "deleted coValues" work queue.
|
|
131
|
+
*/
|
|
132
|
+
getAllCoValuesWaitingForDelete(): Promise<RawCoID[]>;
|
|
96
133
|
getCoValueSessions(coValueRowId: number): Promise<StoredSessionRow[]>;
|
|
97
134
|
getNewTransactionInSession(sessionRowId: number, fromIdx: number, toIdx: number): Promise<TransactionRow[]>;
|
|
98
135
|
getSignatures(sessionRowId: number, firstNewTxIdx: number): Promise<SignatureAfterRow[]>;
|
|
@@ -104,6 +141,12 @@ export interface DBClientInterfaceAsync {
|
|
|
104
141
|
}[]): Promise<void>;
|
|
105
142
|
getUnsyncedCoValueIDs(): Promise<RawCoID[]>;
|
|
106
143
|
stopTrackingSyncState(id: RawCoID): Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* Physical deletion primitive: erase all persisted history for a deleted coValue,
|
|
146
|
+
* while preserving the tombstone (header + delete session(s)).
|
|
147
|
+
* Must run inside a single storage transaction.
|
|
148
|
+
*/
|
|
149
|
+
eraseCoValueButKeepTombstone(coValueID: RawCoID): Promise<unknown>;
|
|
107
150
|
/**
|
|
108
151
|
* Get the knownState for a CoValue without loading transactions.
|
|
109
152
|
* Returns undefined if the CoValue doesn't exist.
|
|
@@ -112,6 +155,12 @@ export interface DBClientInterfaceAsync {
|
|
|
112
155
|
}
|
|
113
156
|
export interface DBTransactionInterfaceSync {
|
|
114
157
|
getSingleCoValueSession(coValueRowId: number, sessionID: SessionID): StoredSessionRow | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* Persist a "deleted coValue" marker in storage (work queue entry).
|
|
160
|
+
* This is an enqueue signal: implementations should set status to `"pending"`.
|
|
161
|
+
* This is expected to be idempotent (safe to call repeatedly).
|
|
162
|
+
*/
|
|
163
|
+
markCoValueAsDeleted(id: RawCoID): unknown;
|
|
115
164
|
addSessionUpdate({ sessionUpdate, sessionRow, }: {
|
|
116
165
|
sessionUpdate: SessionRow;
|
|
117
166
|
sessionRow?: StoredSessionRow;
|
|
@@ -126,6 +175,10 @@ export interface DBTransactionInterfaceSync {
|
|
|
126
175
|
export interface DBClientInterfaceSync {
|
|
127
176
|
getCoValue(coValueId: string): StoredCoValueRow | undefined;
|
|
128
177
|
upsertCoValue(id: string, header?: CoValueHeader): number | undefined;
|
|
178
|
+
/**
|
|
179
|
+
* Enumerate all coValue IDs currently pending in the "deleted coValues" work queue.
|
|
180
|
+
*/
|
|
181
|
+
getAllCoValuesWaitingForDelete(): RawCoID[];
|
|
129
182
|
getCoValueSessions(coValueRowId: number): StoredSessionRow[];
|
|
130
183
|
getNewTransactionInSession(sessionRowId: number, fromIdx: number, toIdx: number): TransactionRow[];
|
|
131
184
|
getSignatures(sessionRowId: number, firstNewTxIdx: number): Pick<SignatureAfterRow, "idx" | "signature">[];
|
|
@@ -137,6 +190,12 @@ export interface DBClientInterfaceSync {
|
|
|
137
190
|
}[]): void;
|
|
138
191
|
getUnsyncedCoValueIDs(): RawCoID[];
|
|
139
192
|
stopTrackingSyncState(id: RawCoID): void;
|
|
193
|
+
/**
|
|
194
|
+
* Physical deletion primitive: erase all persisted history for a deleted coValue,
|
|
195
|
+
* while preserving the tombstone (header + delete session(s)).
|
|
196
|
+
* Must run inside a single storage transaction.
|
|
197
|
+
*/
|
|
198
|
+
eraseCoValueButKeepTombstone(coValueID: RawCoID): unknown;
|
|
140
199
|
/**
|
|
141
200
|
* Get the knownState for a CoValue without loading transactions.
|
|
142
201
|
* Returns undefined if the CoValue doesn't exist.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/types.js
CHANGED
|
@@ -1,2 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Deletion work queue status for `deletedCoValues` (SQLite).
|
|
3
|
+
*
|
|
4
|
+
* Stored as an INTEGER in SQLite:
|
|
5
|
+
* - 0 = pending
|
|
6
|
+
* - 1 = done
|
|
7
|
+
*/
|
|
8
|
+
export var DeletedCoValueDeletionStatus;
|
|
9
|
+
(function (DeletedCoValueDeletionStatus) {
|
|
10
|
+
DeletedCoValueDeletionStatus[DeletedCoValueDeletionStatus["Pending"] = 0] = "Pending";
|
|
11
|
+
DeletedCoValueDeletionStatus[DeletedCoValueDeletionStatus["Done"] = 1] = "Done";
|
|
12
|
+
})(DeletedCoValueDeletionStatus || (DeletedCoValueDeletionStatus = {}));
|
|
2
13
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAeA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,qFAAW,CAAA;IACX,+EAAQ,CAAA;AACV,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC"}
|
package/dist/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAUvE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/sync.js
CHANGED
|
@@ -5,7 +5,7 @@ import { SyncStateManager } from "./SyncStateManager.js";
|
|
|
5
5
|
import { UnsyncedCoValuesTracker } from "./UnsyncedCoValuesTracker.js";
|
|
6
6
|
import { SYNC_SCHEDULER_CONFIG } from "./config.js";
|
|
7
7
|
import { getContenDebugInfo, getNewTransactionsFromContentMessage, getSessionEntriesFromContentMessage, getTransactionSize, knownStateFromContent, } from "./coValueContentMessage.js";
|
|
8
|
-
import { isRawCoID } from "./ids.js";
|
|
8
|
+
import { isDeleteSessionID, isRawCoID } from "./ids.js";
|
|
9
9
|
import { logger } from "./logger.js";
|
|
10
10
|
import { IncomingMessagesQueue } from "./queue/IncomingMessagesQueue.js";
|
|
11
11
|
import { LocalTransactionsSyncQueue } from "./queue/LocalTransactionsSyncQueue.js";
|
|
@@ -91,7 +91,6 @@ export class SyncManager {
|
|
|
91
91
|
logger.warn(`Skipping message ${msg.action} on errored coValue ${msg.id} from peer ${peer.id}`);
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
94
|
-
// TODO: validate
|
|
95
94
|
switch (msg.action) {
|
|
96
95
|
case "load":
|
|
97
96
|
return this.handleLoad(msg, peer);
|
|
@@ -133,10 +132,16 @@ export class SyncManager {
|
|
|
133
132
|
peer.combineOptimisticWith(id, coValue.knownState());
|
|
134
133
|
}
|
|
135
134
|
else if (!peer.toldKnownState.has(id)) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
135
|
+
if (coValue.isDeleted) {
|
|
136
|
+
// This way we make the peer believe that we've always ingested all the content they sent, even though we skipped it because the coValue is deleted
|
|
137
|
+
this.trySendToPeer(peer, coValue.stopSyncingKnownStateMessage(peer.getKnownState(id)));
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
this.trySendToPeer(peer, {
|
|
141
|
+
action: "known",
|
|
142
|
+
...coValue.knownStateWithStreaming(),
|
|
143
|
+
});
|
|
144
|
+
}
|
|
140
145
|
}
|
|
141
146
|
peer.trackToldKnownState(id);
|
|
142
147
|
}
|
|
@@ -234,13 +239,7 @@ export class SyncManager {
|
|
|
234
239
|
// If the coValue is unavailable and we never tried this peer
|
|
235
240
|
// we try to load it from the peer
|
|
236
241
|
if (!peer.loadRequestSent.has(coValue.id)) {
|
|
237
|
-
peer.
|
|
238
|
-
this.trySendToPeer(peer, {
|
|
239
|
-
action: "load",
|
|
240
|
-
header: false,
|
|
241
|
-
id: coValue.id,
|
|
242
|
-
sessions: {},
|
|
243
|
-
});
|
|
242
|
+
peer.sendLoadRequest(coValue, "low-priority");
|
|
244
243
|
}
|
|
245
244
|
}
|
|
246
245
|
else {
|
|
@@ -259,12 +258,11 @@ export class SyncManager {
|
|
|
259
258
|
* - Subscribe to the coValue updates
|
|
260
259
|
* - Start the sync process in case we or the other peer
|
|
261
260
|
* lacks some transactions
|
|
261
|
+
*
|
|
262
|
+
* Use low priority for reconciliation loads so that user-initiated
|
|
263
|
+
* loads take precedence.
|
|
262
264
|
*/
|
|
263
|
-
peer.
|
|
264
|
-
this.trySendToPeer(peer, {
|
|
265
|
-
action: "load",
|
|
266
|
-
...coValue.knownState(),
|
|
267
|
-
});
|
|
265
|
+
peer.sendLoadRequest(coValue, "low-priority");
|
|
268
266
|
}
|
|
269
267
|
}
|
|
270
268
|
pushMessage(incoming, peer) {
|
|
@@ -331,7 +329,7 @@ export class SyncManager {
|
|
|
331
329
|
const currentTimer = performance.now();
|
|
332
330
|
if (currentTimer - lastTimer >
|
|
333
331
|
SYNC_SCHEDULER_CONFIG.INCOMING_MESSAGES_TIME_BUDGET) {
|
|
334
|
-
await
|
|
332
|
+
await waitForNextTick();
|
|
335
333
|
lastTimer = performance.now();
|
|
336
334
|
}
|
|
337
335
|
}
|
|
@@ -511,6 +509,7 @@ export class SyncManager {
|
|
|
511
509
|
if (coValue.isAvailable()) {
|
|
512
510
|
this.sendNewContent(msg.id, peer);
|
|
513
511
|
}
|
|
512
|
+
peer.trackLoadRequestComplete(coValue);
|
|
514
513
|
}
|
|
515
514
|
recordTransactionsSize(newTransactions, source) {
|
|
516
515
|
for (const tx of newTransactions) {
|
|
@@ -536,6 +535,7 @@ export class SyncManager {
|
|
|
536
535
|
expectContentUntil: undefined,
|
|
537
536
|
};
|
|
538
537
|
}
|
|
538
|
+
peer?.trackLoadRequestUpdate(coValue);
|
|
539
539
|
coValue.addDependenciesFromContentMessage(msg);
|
|
540
540
|
// If some of the dependencies are missing, we wait for them to be available
|
|
541
541
|
// before handling the new content
|
|
@@ -551,7 +551,12 @@ export class SyncManager {
|
|
|
551
551
|
if (peer?.role === "client") {
|
|
552
552
|
peers.push(peer);
|
|
553
553
|
}
|
|
554
|
-
|
|
554
|
+
// Use immediate mode to bypass the concurrency limit for dependencies
|
|
555
|
+
// We do this to avoid that the dependency load is blocked
|
|
556
|
+
// by the pending dependendant load
|
|
557
|
+
// Also these should be done with the highest priority, because we need to
|
|
558
|
+
// unblock the coValue wait
|
|
559
|
+
dependencyCoValue.load(peers, "immediate");
|
|
555
560
|
}
|
|
556
561
|
}
|
|
557
562
|
return;
|
|
@@ -628,10 +633,14 @@ export class SyncManager {
|
|
|
628
633
|
header: msg.header,
|
|
629
634
|
new: {},
|
|
630
635
|
};
|
|
636
|
+
let wasAlreadyDeleted = coValue.isDeleted;
|
|
631
637
|
/**
|
|
632
638
|
* The coValue is in memory, load the transactions from the content message
|
|
633
639
|
*/
|
|
634
640
|
for (const [sessionID, newContentForSession,] of getSessionEntriesFromContentMessage(msg)) {
|
|
641
|
+
if (wasAlreadyDeleted && !isDeleteSessionID(sessionID)) {
|
|
642
|
+
continue;
|
|
643
|
+
}
|
|
635
644
|
const newTransactions = getNewTransactionsFromContentMessage(newContentForSession, coValue.knownState(), sessionID);
|
|
636
645
|
if (newTransactions === undefined) {
|
|
637
646
|
invalidStateAssumed = true;
|
|
@@ -672,11 +681,24 @@ export class SyncManager {
|
|
|
672
681
|
if (sourceRole && sourceRole !== "import") {
|
|
673
682
|
this.recordTransactionsSize(newTransactions, sourceRole);
|
|
674
683
|
}
|
|
684
|
+
// We reset the new content for the deleted coValue
|
|
685
|
+
// because we want to store only the delete session/transaction
|
|
686
|
+
if (!wasAlreadyDeleted && coValue.isDeleted) {
|
|
687
|
+
wasAlreadyDeleted = true;
|
|
688
|
+
validNewContent.new = {};
|
|
689
|
+
}
|
|
675
690
|
// The new content for this session has been verified, so we can store it
|
|
676
691
|
validNewContent.new[sessionID] = newContentForSession;
|
|
677
692
|
}
|
|
678
693
|
if (peer) {
|
|
679
|
-
|
|
694
|
+
if (coValue.isDeleted) {
|
|
695
|
+
// In case of deleted coValues, we combine the known state with the content message
|
|
696
|
+
// to avoid that clients that don't support deleted coValues try to sync their own content indefinitely
|
|
697
|
+
peer.combineWith(msg.id, knownStateFromContent(msg));
|
|
698
|
+
}
|
|
699
|
+
else {
|
|
700
|
+
peer.combineWith(msg.id, knownStateFromContent(validNewContent));
|
|
701
|
+
}
|
|
680
702
|
}
|
|
681
703
|
/**
|
|
682
704
|
* Check if we lack some transactions to be able to load the new content
|
|
@@ -706,13 +728,18 @@ export class SyncManager {
|
|
|
706
728
|
* This way the sender knows that the content has been received and applied
|
|
707
729
|
* and can update their peer's knownState accordingly.
|
|
708
730
|
*/
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
}
|
|
731
|
+
if (coValue.isDeleted) {
|
|
732
|
+
// This way we make the peer believe that we've ingested all the content, even though we skipped it because the coValue is deleted
|
|
733
|
+
this.trySendToPeer(peer, coValue.stopSyncingKnownStateMessage(peer.getKnownState(msg.id)));
|
|
734
|
+
}
|
|
735
|
+
else {
|
|
736
|
+
this.trySendToPeer(peer, {
|
|
737
|
+
action: "known",
|
|
738
|
+
...coValue.knownState(),
|
|
739
|
+
});
|
|
740
|
+
}
|
|
713
741
|
peer.trackToldKnownState(msg.id);
|
|
714
742
|
}
|
|
715
|
-
const syncedPeers = [];
|
|
716
743
|
/**
|
|
717
744
|
* Store the content and propagate it to the server peers and the subscribed client peers
|
|
718
745
|
*/
|
|
@@ -723,6 +750,7 @@ export class SyncManager {
|
|
|
723
750
|
this.trackSyncState(coValue.id);
|
|
724
751
|
}
|
|
725
752
|
}
|
|
753
|
+
peer?.trackLoadRequestComplete(coValue);
|
|
726
754
|
for (const peer of this.getPeers(coValue.id)) {
|
|
727
755
|
/**
|
|
728
756
|
* We sync the content against the source peer if it is a client or server peers
|
|
@@ -735,23 +763,9 @@ export class SyncManager {
|
|
|
735
763
|
// We directly forward the new content to peers that have an active subscription
|
|
736
764
|
if (peer.isCoValueSubscribedToPeer(coValue.id)) {
|
|
737
765
|
this.sendNewContent(coValue.id, peer);
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
!peer.loadRequestSent.has(coValue.id)) {
|
|
742
|
-
const state = coValue.getLoadingStateForPeer(peer.id);
|
|
743
|
-
// Check if there is a inflight load operation and we
|
|
744
|
-
// are waiting for other peers to send the load request
|
|
745
|
-
if (state === "unknown") {
|
|
746
|
-
// Sending a load message to the peer to get to know how much content is missing
|
|
747
|
-
// before sending the new content
|
|
748
|
-
this.trySendToPeer(peer, {
|
|
749
|
-
action: "load",
|
|
750
|
-
...coValue.knownStateWithStreaming(),
|
|
751
|
-
});
|
|
752
|
-
peer.trackLoadRequestSent(coValue.id);
|
|
753
|
-
syncedPeers.push(peer);
|
|
754
|
-
}
|
|
766
|
+
}
|
|
767
|
+
else if (peer.role === "server") {
|
|
768
|
+
peer.sendLoadRequest(coValue);
|
|
755
769
|
}
|
|
756
770
|
}
|
|
757
771
|
}
|
|
@@ -817,6 +831,11 @@ export class SyncManager {
|
|
|
817
831
|
if (!storage)
|
|
818
832
|
return;
|
|
819
833
|
const value = this.local.getCoValue(content.id);
|
|
834
|
+
if (value.isDeleted) {
|
|
835
|
+
// This doesn't persist the delete flag, it only signals the storage
|
|
836
|
+
// API that the delete transaction is valid
|
|
837
|
+
storage.markDeleteAsValid(value.id);
|
|
838
|
+
}
|
|
820
839
|
// Try to store the content as-is for performance
|
|
821
840
|
// In case that some transactions are missing, a correction will be requested, but it's an edge case
|
|
822
841
|
storage.store(content, (correction) => {
|
|
@@ -955,4 +974,8 @@ export function hwrServerPeerSelector(n) {
|
|
|
955
974
|
.map((wp) => wp.peer);
|
|
956
975
|
};
|
|
957
976
|
}
|
|
977
|
+
let waitForNextTick = () => new Promise((resolve) => queueMicrotask(resolve));
|
|
978
|
+
if (typeof setImmediate === "function") {
|
|
979
|
+
waitForNextTick = () => new Promise((resolve) => setImmediate(resolve));
|
|
980
|
+
}
|
|
958
981
|
//# sourceMappingURL=sync.js.map
|