@evolu/common 8.17.0 → 8.19.0
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/dist/src/Bytes.d.ts +31 -14
- package/dist/src/Bytes.d.ts.map +1 -1
- package/dist/src/Bytes.js +48 -8
- package/dist/src/Error.d.ts.map +1 -1
- package/dist/src/Error.js +5 -1
- package/dist/src/Polyfills.d.ts.map +1 -1
- package/dist/src/Polyfills.js +3 -2
- package/dist/src/Sqlite.d.ts +1 -1
- package/dist/src/Task.d.ts +4 -3
- package/dist/src/Task.d.ts.map +1 -1
- package/dist/src/Task.js +4 -3
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/local-first/Db.d.ts +32 -3
- package/dist/src/local-first/Db.d.ts.map +1 -1
- package/dist/src/local-first/Db.js +30 -9
- package/dist/src/local-first/Evolu.d.ts +21 -6
- package/dist/src/local-first/Evolu.d.ts.map +1 -1
- package/dist/src/local-first/Evolu.js +5 -1
- package/dist/src/local-first/Protocol.d.ts +215 -93
- package/dist/src/local-first/Protocol.d.ts.map +1 -1
- package/dist/src/local-first/Protocol.js +799 -489
- package/dist/src/local-first/Relay.d.ts +9 -1
- package/dist/src/local-first/Relay.d.ts.map +1 -1
- package/dist/src/local-first/Relay.js +41 -36
- package/dist/src/local-first/Shared.d.ts +79 -53
- package/dist/src/local-first/Shared.d.ts.map +1 -1
- package/dist/src/local-first/Shared.js +67 -42
- package/dist/src/local-first/Storage.d.ts +80 -18
- package/dist/src/local-first/Storage.d.ts.map +1 -1
- package/dist/src/local-first/Storage.js +20 -4
- package/package.json +1 -1
- package/src/Bytes.test.ts +212 -0
- package/src/Bytes.ts +67 -17
- package/src/Error.ts +5 -1
- package/src/Polyfills.ts +3 -2
- package/src/Sqlite.ts +1 -1
- package/src/Task.ts +4 -3
- package/src/index.ts +4 -1
- package/src/local-first/Db.ts +76 -17
- package/src/local-first/Evolu.test.ts +43 -12
- package/src/local-first/Evolu.ts +34 -7
- package/src/local-first/Protocol.test.ts +1541 -44
- package/src/local-first/Protocol.ts +1070 -605
- package/src/local-first/Relay.ts +80 -69
- package/src/local-first/Shared.test.ts +37 -1
- package/src/local-first/Shared.ts +124 -73
- package/src/local-first/Storage.ts +100 -27
|
@@ -34,7 +34,15 @@ export interface RelayConfig extends StorageConfig {
|
|
|
34
34
|
*
|
|
35
35
|
* OwnerId is used rather than short-lived tokens because this only controls
|
|
36
36
|
* relay access, not write permissions. Since all data is encrypted on the
|
|
37
|
-
* relay, OwnerId exposure
|
|
37
|
+
* relay, OwnerId exposure reveals no data.
|
|
38
|
+
*
|
|
39
|
+
* It does allow write-key squatting. The relay stores the first write key
|
|
40
|
+
* presented for an owner, so anyone who learns an OwnerId before the owner's
|
|
41
|
+
* own write key reaches the relay can claim it. The owner then gets
|
|
42
|
+
* {@link ProtocolWriteKeyError} on this relay until the operator deletes the
|
|
43
|
+
* owner's row in `evolu_writeKey`. This callback does not prevent that: it
|
|
44
|
+
* receives only the OwnerId of a connection, which a squatter can name as
|
|
45
|
+
* well, and every message on the connection can name another owner.
|
|
38
46
|
*
|
|
39
47
|
* Owners specify which relays to connect to via `OwnerTransport`. In
|
|
40
48
|
* WebSocket-based implementations, this check occurs before accepting the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Relay.d.ts","sourceRoot":"","sources":["../../../src/local-first/Relay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Relay.d.ts","sourceRoot":"","sources":["../../../src/local-first/Relay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,IAAI,EAAyC,MAAM,YAAY,CAAC;AACzE,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,OAAO,EAIR,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAEV,iBAAiB,EACjB,OAAO,EACP,aAAa,EAEd,MAAM,cAAc,CAAC;AAStB,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwFG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;QACP,iEAAiE;QACjE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;KAC9B,KACE,SAAS,CAAC,OAAO,CAAC,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,KAAM,SAAQ,eAAe;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,wBAAwB,SAC5B,iBAAiB,GAAG,kBAAkB,cACpC,aAAa,KAAG,OA0LxB,CAAC;AAEJ,eAAO,MAAM,wBAAwB,SAAU,SAAS,KAAG,IAuB1D,CAAC"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { dedupeArray, filterArray, firstInArray, isNonEmptyArray, mapArray, } from "../Array.js";
|
|
7
7
|
import { assert } from "../Assert.js";
|
|
8
|
-
import {
|
|
8
|
+
import { createUnknownError } from "../Error.js";
|
|
9
|
+
import { err, ok, trySync } from "../Result.js";
|
|
9
10
|
import { sql } from "../Sqlite.js";
|
|
10
11
|
import { createMutexByKey } from "../Task.js";
|
|
11
12
|
import { Name, NonNegativeInt, uint8ArrayToBase64Url } from "../Type.js";
|
|
@@ -40,20 +41,15 @@ export const createRelaySqliteStorage = (deps) => (config) => {
|
|
|
40
41
|
if (isNonEmptyArray(rows)) {
|
|
41
42
|
return deps.timingSafeEqual(rows[0].writeKey, writeKey);
|
|
42
43
|
}
|
|
44
|
+
// When SQLite fails this insert, for example on a full disk, the throw
|
|
45
|
+
// reaches the protocol, which logs it and answers with WriteError,
|
|
46
|
+
// because a boolean has no room for the error.
|
|
43
47
|
deps.sqlite.exec(sql `
|
|
44
48
|
insert into evolu_writeKey (ownerId, writeKey)
|
|
45
49
|
values (${ownerId}, ${writeKey});
|
|
46
50
|
`);
|
|
47
51
|
return true;
|
|
48
52
|
},
|
|
49
|
-
setWriteKey: (ownerId, writeKey) => {
|
|
50
|
-
deps.sqlite.exec(sql `
|
|
51
|
-
insert into evolu_writeKey (ownerId, writeKey)
|
|
52
|
-
values (${ownerId}, ${writeKey})
|
|
53
|
-
on conflict (ownerId) do update
|
|
54
|
-
set writeKey = excluded.writeKey;
|
|
55
|
-
`);
|
|
56
|
-
},
|
|
57
53
|
writeMessages: (ownerIdBytes, messages) => async (run) => {
|
|
58
54
|
const ownerId = ownerIdBytesToOwnerId(ownerIdBytes);
|
|
59
55
|
const uniqueMessagesWithTimestampBytes = dedupeArray(mapArray(messages, (m) => ({
|
|
@@ -61,14 +57,23 @@ export const createRelaySqliteStorage = (deps) => (config) => {
|
|
|
61
57
|
change: m.change,
|
|
62
58
|
})), (message) => uint8ArrayToBase64Url(message.timestamp));
|
|
63
59
|
return run(mutexByOwnerId.withLock(ownerId, async () => {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
60
|
+
// SQLite can fail these reads, for example on a corrupt page, and
|
|
61
|
+
// a throw would panic the relay's shared Run.
|
|
62
|
+
const readResult = trySync(() => {
|
|
63
|
+
const existingTimestampsResult = sqliteStorageBase.getExistingTimestamps(ownerIdBytes, mapArray(uniqueMessagesWithTimestampBytes, (m) => m.timestamp));
|
|
64
|
+
const existingTimestampKeys = new Set(mapArray(existingTimestampsResult, uint8ArrayToBase64Url));
|
|
65
|
+
const newMessages = filterArray(uniqueMessagesWithTimestampBytes, (message) => !existingTimestampKeys.has(uint8ArrayToBase64Url(message.timestamp)));
|
|
66
|
+
// Nothing to write
|
|
67
|
+
if (!isNonEmptyArray(newMessages))
|
|
68
|
+
return null;
|
|
69
|
+
const usage = readOwnerUsageOrDefault(deps)(ownerIdBytes, firstInArray(newMessages).timestamp);
|
|
70
|
+
return { newMessages, usage };
|
|
71
|
+
}, createUnknownError);
|
|
72
|
+
if (!readResult.ok)
|
|
73
|
+
return readResult;
|
|
74
|
+
if (readResult.value === null)
|
|
69
75
|
return ok();
|
|
70
|
-
}
|
|
71
|
-
const usage = readOwnerUsageOrDefault(deps)(ownerIdBytes, firstInArray(newMessages).timestamp);
|
|
76
|
+
const { newMessages, usage } = readResult.value;
|
|
72
77
|
const incomingBytes = newMessages.reduce((sum, m) => sum + m.change.length, 0);
|
|
73
78
|
// A sum of lengths can be zero. Throwing here would panic the
|
|
74
79
|
// relay's shared Run.
|
|
@@ -84,22 +89,26 @@ export const createRelaySqliteStorage = (deps) => (config) => {
|
|
|
84
89
|
});
|
|
85
90
|
}
|
|
86
91
|
let { firstTimestamp, lastTimestamp } = usage;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
92
|
+
// SQLite can fail the write, for example on a full disk. The
|
|
93
|
+
// transaction has rolled back, and a throw would panic the relay's
|
|
94
|
+
// shared Run.
|
|
95
|
+
return trySync(() => {
|
|
96
|
+
deps.sqlite.transaction(() => {
|
|
97
|
+
for (const { timestamp, change } of newMessages) {
|
|
98
|
+
let strategy;
|
|
99
|
+
[strategy, firstTimestamp, lastTimestamp] =
|
|
100
|
+
getTimestampInsertStrategy(timestamp, firstTimestamp, lastTimestamp);
|
|
101
|
+
sqliteStorageBase.insertTimestamp(ownerIdBytes, timestamp, strategy);
|
|
102
|
+
deps.sqlite.exec(sql `
|
|
103
|
+
insert into evolu_message
|
|
104
|
+
("ownerId", "timestamp", "change")
|
|
105
|
+
values (${ownerIdBytes}, ${timestamp}, ${change})
|
|
106
|
+
on conflict do nothing;
|
|
107
|
+
`);
|
|
108
|
+
}
|
|
109
|
+
updateOwnerUsage(deps)(ownerIdBytes, newStoredBytes, firstTimestamp, lastTimestamp);
|
|
110
|
+
});
|
|
111
|
+
}, createUnknownError);
|
|
103
112
|
}));
|
|
104
113
|
},
|
|
105
114
|
readDbChange: (ownerId, timestamp) => {
|
|
@@ -119,12 +128,8 @@ export const createRelaySqliteStorage = (deps) => (config) => {
|
|
|
119
128
|
`);
|
|
120
129
|
deps.sqlite.exec(sql `
|
|
121
130
|
delete from evolu_message where ownerId = ${ownerId};
|
|
122
|
-
`);
|
|
123
|
-
deps.sqlite.exec(sql `
|
|
124
|
-
delete from evolu_usage where ownerId = ${ownerId};
|
|
125
131
|
`);
|
|
126
132
|
sqliteStorageBase.deleteOwner(ownerId);
|
|
127
|
-
return ok();
|
|
128
133
|
});
|
|
129
134
|
},
|
|
130
135
|
};
|
|
@@ -111,10 +111,10 @@
|
|
|
111
111
|
* whichever instance made it, even one disposed before the database worker
|
|
112
112
|
* answered. When a relay frame stores new messages, the tenant requests a round
|
|
113
113
|
* through each other transport claimed for the owner, so data learned from one
|
|
114
|
-
* relay reaches the others, except through a route that skipped a message
|
|
115
|
-
* described below. A closed transport reconciles
|
|
116
|
-
* replacement leader reconciles every transport again,
|
|
117
|
-
* reporting stored messages may have been lost.
|
|
114
|
+
* relay reaches the others, except through a route that skipped a message it
|
|
115
|
+
* received or could not send, as described below. A closed transport reconciles
|
|
116
|
+
* when it opens, and a replacement leader reconciles every transport again,
|
|
117
|
+
* because a response reporting stored messages may have been lost.
|
|
118
118
|
*
|
|
119
119
|
* Relays omit the sending socket when broadcasting an upload, so the uploader
|
|
120
120
|
* also delivers it as local Broadcast frames to every other tenant with
|
|
@@ -178,17 +178,17 @@
|
|
|
178
178
|
* request, a replacement leader, or storing messages from another transport,
|
|
179
179
|
* unless the route skipped a message. No failed or aborted result has arrived
|
|
180
180
|
* on the route since.
|
|
181
|
-
* - No result that skipped a received message
|
|
182
|
-
* round was last requested through it,
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
* skipped a message.
|
|
181
|
+
* - No result that skipped a received message or a stored change too large to
|
|
182
|
+
* send has arrived on the route since a round was last requested through it,
|
|
183
|
+
* and since that request, no messages have been stored from another
|
|
184
|
+
* transport, directly or through a sibling copy uploaded outside this
|
|
185
|
+
* transport, and no sibling copy has failed to apply or skipped a message.
|
|
186
186
|
*
|
|
187
187
|
* A route is settled when every condition except the last holds, so a complete
|
|
188
188
|
* route is settled too. A settled route that is incomplete has ended its
|
|
189
|
-
* reconciliation, but its relay may offer a message the database skipped,
|
|
190
|
-
*
|
|
191
|
-
* {@link SettledSyncRoute}.
|
|
189
|
+
* reconciliation, but its relay may offer a message the database skipped, the
|
|
190
|
+
* database may store a change too large to send, or messages stored elsewhere
|
|
191
|
+
* may not have reached it; it is published as {@link SettledSyncRoute}.
|
|
192
192
|
*
|
|
193
193
|
* A reconciliation chain ends only with a converged result, a failure, an
|
|
194
194
|
* abort, a dropped frame, or a continuation that finds the socket closed, and
|
|
@@ -207,20 +207,34 @@
|
|
|
207
207
|
* while the database worker creates a round is logged there and fails the
|
|
208
208
|
* round's routes with `SyncFailed` without a retry. A mutation that throws is
|
|
209
209
|
* rolled back and reported as an {@link UnknownError} to the tab that made it,
|
|
210
|
-
* or to every tab when its Evolu instance was disposed first.
|
|
211
|
-
* SQLite
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
210
|
+
* or to every tab when its Evolu instance was disposed first. A received batch
|
|
211
|
+
* SQLite fails to store, for example on a full disk, is rolled back and fails
|
|
212
|
+
* its route with an `UnknownError`. Other unexpected SQLite exceptions remain
|
|
213
|
+
* unsupported and can panic the database worker. A frame the relay silently
|
|
214
|
+
* drops, such as invalid data, leaves the count above zero until the liveness
|
|
215
|
+
* rule below replaces the socket.
|
|
216
|
+
*
|
|
217
|
+
* A result that skipped a message records the error on the route as its
|
|
218
|
+
* `skippedError`, without ending its chain, so it requests no round. A message
|
|
219
|
+
* is skipped in two cases:
|
|
220
|
+
*
|
|
221
|
+
* - The relay offers a message the database could not decrypt, verify, or decode.
|
|
222
|
+
* The relay offers it again in every round through the route until the
|
|
223
|
+
* database stores a message with that timestamp.
|
|
224
|
+
* - The database stores a change it cannot send, a
|
|
225
|
+
* {@link ProtocolChangeTooLargeError}: one saved before `maxMutationSize`
|
|
226
|
+
* existed, or a crafted one received from a relay. Every route through a
|
|
227
|
+
* relay that lacks it skips it on every sync, so each such route stays
|
|
228
|
+
* settled.
|
|
229
|
+
*
|
|
230
|
+
* The messages received elsewhere that the last condition names request no
|
|
231
|
+
* round through such a route, even while a requested round checks it again,
|
|
232
|
+
* because each round would download every skipped message again, or skip again
|
|
233
|
+
* a change too large to send. The next round that an explicit request, a
|
|
234
|
+
* reopen, a replacement leader, or a failure sends through the route reconciles
|
|
235
|
+
* them. So while the database stores a change too large to send, messages from
|
|
236
|
+
* other relays reach a route only through such a round, for example after a
|
|
237
|
+
* reconnect or {@link Evolu.requestSync}.
|
|
224
238
|
*
|
|
225
239
|
* ### Liveness
|
|
226
240
|
*
|
|
@@ -270,10 +284,10 @@ import { type Millis } from "../Time.ts";
|
|
|
270
284
|
import { type ExtractTyped, type Id, type InferType, type LiteralType, type Name, type ObjectType, type Typed } from "../Type.ts";
|
|
271
285
|
import type { CreateWebSocketDep, WebSocketError } from "../WebSocket.ts";
|
|
272
286
|
import type { BroadcastChannel, SharedWorker as CommonSharedWorker, CreateBroadcastChannelDep, CreateMessageChannelDep, NativeMessagePort, SharedWorkerSelf, WorkerDeps } from "../Worker.ts";
|
|
273
|
-
import type { DbWorkerInit, UnsupportedDbVersionError } from "./Db.ts";
|
|
287
|
+
import type { DatabaseHeldError, DbWorkerInit, UnsupportedDbVersionError } from "./Db.ts";
|
|
274
288
|
import type { DevicePersistence } from "./Evolu.ts";
|
|
275
289
|
import type { Owner, OwnerId, SyncOwner } from "./Owner.ts";
|
|
276
|
-
import { type ApplyProtocolMessageAsClientResult, type ProtocolError, type ProtocolInvalidDataError, type ProtocolMessage, type ProtocolTimestampMismatchError } from "./Protocol.ts";
|
|
290
|
+
import { type ApplyProtocolMessageAsClientResult, type ProtocolChangeTooLargeError, type ProtocolError, type ProtocolInvalidDataError, type ProtocolMessage, type ProtocolTimestampMismatchError } from "./Protocol.ts";
|
|
277
291
|
import { type Patch, type Query, type RowsByQueryMap } from "./Query.ts";
|
|
278
292
|
import { type MutationChange } from "./Schema.ts";
|
|
279
293
|
import type { CrdtMessage, StorageWriteMessagesError } from "./Storage.ts";
|
|
@@ -308,7 +322,7 @@ export type SharedWorkerOutput = DbWorkerInit | {
|
|
|
308
322
|
* could not be stored, or another build keeps this worker waiting.
|
|
309
323
|
*/
|
|
310
324
|
readonly type: "Error";
|
|
311
|
-
readonly error: OtherBuildRunningError | UnknownError | UnsupportedDbVersionError;
|
|
325
|
+
readonly error: DatabaseHeldError | OtherBuildRunningError | UnknownError | UnsupportedDbVersionError;
|
|
312
326
|
} | {
|
|
313
327
|
/**
|
|
314
328
|
* Sent to a tab that connects while the worker waits for the build lock;
|
|
@@ -471,7 +485,7 @@ export interface ActiveSyncTenant extends Typed<"Active"> {
|
|
|
471
485
|
*/
|
|
472
486
|
export interface RefusedSyncTenant extends Typed<"Refused"> {
|
|
473
487
|
readonly name: Name;
|
|
474
|
-
readonly error: UnsupportedDbVersionError;
|
|
488
|
+
readonly error: DatabaseHeldError | UnsupportedDbVersionError;
|
|
475
489
|
}
|
|
476
490
|
/**
|
|
477
491
|
* An owner registered by any instance of an {@link ActiveSyncTenant}: `Writable`
|
|
@@ -499,8 +513,9 @@ export interface ReadonlySyncTenantOwner extends Typed<"Readonly"> {
|
|
|
499
513
|
}
|
|
500
514
|
/**
|
|
501
515
|
* One database's use of one owner through one transport: `Pending` until its
|
|
502
|
-
* reconciliation ends, then `Complete`, or `Settled` while
|
|
503
|
-
*
|
|
516
|
+
* reconciliation ends, then `Complete`, or `Settled` while it skips a change:
|
|
517
|
+
* one its relay offers that the database could not store, or one the database
|
|
518
|
+
* stores but cannot send. See Synchronization completion in this module's
|
|
504
519
|
* documentation.
|
|
505
520
|
*/
|
|
506
521
|
export type SyncRoute = PendingSyncRoute | SettledSyncRoute | CompleteSyncRoute;
|
|
@@ -519,9 +534,12 @@ export interface PendingSyncRoute extends Typed<"Pending"> {
|
|
|
519
534
|
*/
|
|
520
535
|
readonly failure: SyncRouteError | null;
|
|
521
536
|
/**
|
|
522
|
-
* The first change skipped in the latest reply that skipped one, or null.
|
|
523
|
-
* relay offers
|
|
524
|
-
* stores a change with that timestamp.
|
|
537
|
+
* The first change skipped in the latest reply that skipped one, or null. A
|
|
538
|
+
* change the relay offers is offered again in every round through the route
|
|
539
|
+
* until this database stores a change with that timestamp. A
|
|
540
|
+
* {@link ProtocolChangeTooLargeError} is a change this database stores but
|
|
541
|
+
* cannot send, which every route through a relay that lacks it skips on every
|
|
542
|
+
* sync.
|
|
525
543
|
*/
|
|
526
544
|
readonly skippedError: SyncRouteError | null;
|
|
527
545
|
/** When the route last became complete, or null. */
|
|
@@ -535,10 +553,15 @@ export interface PendingSyncRoute extends Typed<"Pending"> {
|
|
|
535
553
|
readonly lastReceivedAt: Millis | null;
|
|
536
554
|
}
|
|
537
555
|
/**
|
|
538
|
-
* A route whose reconciliation ended
|
|
539
|
-
*
|
|
540
|
-
*
|
|
541
|
-
* {@link
|
|
556
|
+
* A route whose reconciliation ended with a skipped change, so it is
|
|
557
|
+
* incomplete: its relay offers a change the database could not store, or the
|
|
558
|
+
* database stores a change it cannot send, a
|
|
559
|
+
* {@link ProtocolChangeTooLargeError}. Changes stored from other relays request
|
|
560
|
+
* no round through it; the next round requested through it, such as by
|
|
561
|
+
* {@link Evolu.requestSync} or a reopen, checks it again. Every route through a
|
|
562
|
+
* relay that lacks a change too large to send skips it on every sync, so those
|
|
563
|
+
* routes stay settled, and messages from other relays reach them only through
|
|
564
|
+
* such rounds.
|
|
542
565
|
*/
|
|
543
566
|
export interface SettledSyncRoute extends Typed<"Settled"> {
|
|
544
567
|
readonly transportId: SyncTransportId;
|
|
@@ -570,17 +593,19 @@ export interface CompleteSyncRoute extends Typed<"Complete"> {
|
|
|
570
593
|
*
|
|
571
594
|
* It is the error itself, so it carries its details, such as the expected and
|
|
572
595
|
* actual timestamps of a {@link ProtocolTimestampMismatchError}. A skipped
|
|
573
|
-
* message adds {@link DecryptWithXChaCha20Poly1305Error}
|
|
574
|
-
* {@link
|
|
575
|
-
*
|
|
576
|
-
*
|
|
577
|
-
*
|
|
596
|
+
* message adds {@link DecryptWithXChaCha20Poly1305Error} and
|
|
597
|
+
* {@link ProtocolChangeTooLargeError}. A {@link ProtocolInvalidDataError} leaves
|
|
598
|
+
* out its data, which can be a whole frame. An {@link UnknownError} means SQLite
|
|
599
|
+
* failed to store received messages, for example on a full disk. `WriteFailed`
|
|
600
|
+
* means a `writeMessages` call that threw, logged by the protocol, and
|
|
601
|
+
* `SyncFailed` means a logged failure while creating a round or reconciling
|
|
602
|
+
* ranges.
|
|
578
603
|
*/
|
|
579
604
|
export type SyncRouteError = (Exclude<ProtocolError, ProtocolInvalidDataError> | (Omit<ProtocolInvalidDataError, "data" | "error"> & {
|
|
580
605
|
readonly error: UnknownError;
|
|
581
606
|
}) | StorageWriteMessagesError | (Omit<DecryptWithXChaCha20Poly1305Error, "error"> & {
|
|
582
607
|
readonly error: UnknownError;
|
|
583
|
-
}) | Typed<"WriteFailed"> | Typed<"SyncFailed">) & {
|
|
608
|
+
}) | ProtocolChangeTooLargeError | Typed<"WriteFailed"> | Typed<"SyncFailed">) & {
|
|
584
609
|
readonly at: Millis;
|
|
585
610
|
};
|
|
586
611
|
/**
|
|
@@ -608,10 +633,10 @@ export interface RelaySyncState {
|
|
|
608
633
|
* - `Synced`: a relay is up to date, and none syncs.
|
|
609
634
|
* - `Offline`: every relay is disconnected. Evolu keeps reconnecting, up to 30
|
|
610
635
|
* seconds apart, so `Offline` can briefly outlast the outage.
|
|
611
|
-
* - `Error`: a relay failed
|
|
612
|
-
*
|
|
613
|
-
*
|
|
614
|
-
* that change.
|
|
636
|
+
* - `Error`: a relay failed, a relay offers a change this database skipped, or
|
|
637
|
+
* this database stores a change too large to send. `error` is the newest
|
|
638
|
+
* failure, or without one, the newest skipped change: a failure stops syncing
|
|
639
|
+
* through its relay, while a skipped change leaves out only that change.
|
|
615
640
|
*
|
|
616
641
|
* Evolu stores changes in the local database before they sync, so sync needs no
|
|
617
642
|
* UI while it works: show nothing for `NoRelays`, `Syncing`, and `Synced`. An
|
|
@@ -999,7 +1024,7 @@ export type DbWorkerOutput = {
|
|
|
999
1024
|
} | {
|
|
1000
1025
|
/** Startup was refused; the worker is releasing its resources. */
|
|
1001
1026
|
readonly type: "LeaderRefused";
|
|
1002
|
-
readonly error: UnsupportedDbVersionError;
|
|
1027
|
+
readonly error: DatabaseHeldError | UnsupportedDbVersionError;
|
|
1003
1028
|
} | {
|
|
1004
1029
|
readonly type: "OnQueuedResponse";
|
|
1005
1030
|
readonly attemptId: Id;
|
|
@@ -1037,10 +1062,11 @@ export type DbWorkerQueuedResponse = {
|
|
|
1037
1062
|
readonly ownerId: OwnerId;
|
|
1038
1063
|
readonly didWriteMessages: boolean;
|
|
1039
1064
|
/**
|
|
1040
|
-
* The first error of a
|
|
1041
|
-
* storing the rest, or
|
|
1065
|
+
* The first error of a message the DbWorker skipped, or null: a
|
|
1066
|
+
* received one it did not store while storing the rest, or a stored
|
|
1067
|
+
* change too large to send. It does not end the round.
|
|
1042
1068
|
*/
|
|
1043
|
-
readonly skippedError: DecryptWithXChaCha20Poly1305Error | ProtocolInvalidDataError | ProtocolTimestampMismatchError | null;
|
|
1069
|
+
readonly skippedError: DecryptWithXChaCha20Poly1305Error | ProtocolInvalidDataError | ProtocolTimestampMismatchError | ProtocolChangeTooLargeError | null;
|
|
1044
1070
|
readonly result: Result<ApplyProtocolMessageAsClientResult, ProtocolError | StorageWriteMessagesError | AbortError>;
|
|
1045
1071
|
};
|
|
1046
1072
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shared.d.ts","sourceRoot":"","sources":["../../../src/local-first/Shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Shared.d.ts","sourceRoot":"","sources":["../../../src/local-first/Shared.ts"],"names":[],"mappings":"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"}
|