@powersync/web 0.0.0-dev-20260503073249 → 0.0.0-dev-20260630141119
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/bin/powersync.cjs +1 -1
- package/dist/index.react_native_web.js +1879 -0
- package/dist/index.react_native_web.js.map +1 -0
- package/dist/worker/AccessHandlePoolVFS-BPUHfZME.js +2 -0
- package/dist/worker/AccessHandlePoolVFS-BPUHfZME.js.map +1 -0
- package/dist/worker/FacadeVFS-d1ZDvud7.js +2 -0
- package/dist/worker/FacadeVFS-d1ZDvud7.js.map +1 -0
- package/dist/worker/IDBBatchAtomicVFS-DbkDb777.js +2 -0
- package/dist/worker/IDBBatchAtomicVFS-DbkDb777.js.map +1 -0
- package/dist/worker/OPFSCoopSyncVFS-DRKedN0p.js +2 -0
- package/dist/worker/OPFSCoopSyncVFS-DRKedN0p.js.map +1 -0
- package/dist/worker/OPFSWriteAheadVFS-BzodSqNq.js +2 -0
- package/dist/worker/OPFSWriteAheadVFS-BzodSqNq.js.map +1 -0
- package/dist/worker/mc-wa-sqlite-DiBqIVE5.js +2 -0
- package/dist/worker/mc-wa-sqlite-DiBqIVE5.js.map +1 -0
- package/dist/worker/mc-wa-sqlite-async-DUEhO9ef.js +2 -0
- package/dist/worker/mc-wa-sqlite-async-DUEhO9ef.js.map +1 -0
- package/dist/worker/wa-sqlite-BlSx7-_P.js +2 -0
- package/dist/worker/wa-sqlite-BlSx7-_P.js.map +1 -0
- package/dist/worker/wa-sqlite-async-BdR24Ucf.js +2 -0
- package/dist/worker/wa-sqlite-async-BdR24Ucf.js.map +1 -0
- package/dist/worker/websockets-Q8W_lerF.js +9 -0
- package/dist/worker/websockets-Q8W_lerF.js.map +1 -0
- package/dist/worker/worker.js +7 -0
- package/dist/worker/worker.js.map +1 -0
- package/lib/{src/attachments → attachments}/IndexDBFileSystemAdapter.js +1 -0
- package/lib/attachments/IndexDBFileSystemAdapter.js.map +1 -0
- package/lib/{src/db → db}/NavigatorTriggerClaimManager.d.ts +1 -1
- package/lib/{src/db → db}/NavigatorTriggerClaimManager.js +1 -0
- package/lib/db/NavigatorTriggerClaimManager.js.map +1 -0
- package/lib/db/PowerSyncDatabase.d.ts +67 -0
- package/lib/{src/db → db}/PowerSyncDatabase.js +48 -61
- package/lib/db/PowerSyncDatabase.js.map +1 -0
- package/lib/db/adapters/AsyncWebAdapter.d.ts +32 -0
- package/lib/{src/db → db}/adapters/AsyncWebAdapter.js +15 -14
- package/lib/db/adapters/AsyncWebAdapter.js.map +1 -0
- package/lib/db/adapters/SSRDBAdapter.d.ts +17 -0
- package/lib/db/adapters/SSRDBAdapter.js +37 -0
- package/lib/db/adapters/SSRDBAdapter.js.map +1 -0
- package/lib/{src/db → db}/adapters/WebDBAdapter.d.ts +1 -1
- package/lib/db/adapters/WebDBAdapter.js +2 -0
- package/lib/db/adapters/WebDBAdapter.js.map +1 -0
- package/lib/db/adapters/options.d.ts +87 -0
- package/lib/db/adapters/options.js +6 -0
- package/lib/db/adapters/options.js.map +1 -0
- package/lib/db/adapters/resolveAndValidateOptions.d.ts +5 -0
- package/lib/db/adapters/resolveAndValidateOptions.js +33 -0
- package/lib/db/adapters/resolveAndValidateOptions.js.map +1 -0
- package/lib/{src/db → db}/adapters/wa-sqlite/ConcurrentConnection.d.ts +3 -4
- package/lib/{src/db → db}/adapters/wa-sqlite/ConcurrentConnection.js +3 -2
- package/lib/db/adapters/wa-sqlite/ConcurrentConnection.js.map +1 -0
- package/lib/{src/db → db}/adapters/wa-sqlite/DatabaseClient.d.ts +4 -4
- package/lib/{src/db → db}/adapters/wa-sqlite/DatabaseClient.js +12 -37
- package/lib/db/adapters/wa-sqlite/DatabaseClient.js.map +1 -0
- package/lib/{src/db → db}/adapters/wa-sqlite/DatabaseServer.d.ts +5 -5
- package/lib/{src/db → db}/adapters/wa-sqlite/DatabaseServer.js +12 -7
- package/lib/db/adapters/wa-sqlite/DatabaseServer.js.map +1 -0
- package/lib/{src/db → db}/adapters/wa-sqlite/RawSqliteConnection.d.ts +22 -12
- package/lib/{src/db → db}/adapters/wa-sqlite/RawSqliteConnection.js +12 -10
- package/lib/db/adapters/wa-sqlite/RawSqliteConnection.js.map +1 -0
- package/lib/db/adapters/wa-sqlite/WASQLiteOpenFactory.d.ts +18 -0
- package/lib/db/adapters/wa-sqlite/WASQLiteOpenFactory.js +131 -0
- package/lib/db/adapters/wa-sqlite/WASQLiteOpenFactory.js.map +1 -0
- package/lib/{src/db → db}/adapters/wa-sqlite/vfs.js +1 -0
- package/lib/db/adapters/wa-sqlite/vfs.js.map +1 -0
- package/lib/{src/db → db}/sync/SSRWebStreamingSyncImplementation.d.ts +4 -8
- package/lib/{src/db → db}/sync/SSRWebStreamingSyncImplementation.js +5 -11
- package/lib/db/sync/SSRWebStreamingSyncImplementation.js.map +1 -0
- package/lib/{src/db → db}/sync/SharedWebStreamingSyncImplementation.d.ts +13 -15
- package/lib/{src/db → db}/sync/SharedWebStreamingSyncImplementation.js +32 -69
- package/lib/db/sync/SharedWebStreamingSyncImplementation.js.map +1 -0
- package/lib/db/sync/WebRemote.d.ts +10 -0
- package/lib/db/sync/WebRemote.js +33 -0
- package/lib/db/sync/WebRemote.js.map +1 -0
- package/lib/{src/db → db}/sync/WebStreamingSyncImplementation.d.ts +2 -4
- package/lib/{src/db → db}/sync/WebStreamingSyncImplementation.js +4 -2
- package/lib/db/sync/WebStreamingSyncImplementation.js.map +1 -0
- package/lib/{src/db → db}/sync/userAgent.js +1 -0
- package/lib/db/sync/userAgent.js.map +1 -0
- package/lib/{src/index.d.ts → index.d.ts} +1 -3
- package/lib/{src/index.js → index.js} +2 -3
- package/lib/index.js.map +1 -0
- package/lib/{src/shared → shared}/navigator.js +1 -0
- package/lib/shared/navigator.js.map +1 -0
- package/lib/{src/shared → shared}/tab_close_signal.js +1 -0
- package/lib/shared/tab_close_signal.js.map +1 -0
- package/lib/worker/SharedWorkerConnectionRequest.d.ts +5 -0
- package/lib/worker/SharedWorkerConnectionRequest.js +2 -0
- package/lib/worker/SharedWorkerConnectionRequest.js.map +1 -0
- package/lib/worker/client.d.ts +15 -0
- package/lib/worker/client.js +77 -0
- package/lib/worker/client.js.map +1 -0
- package/lib/worker/db/MultiDatabaseServer.d.ts +22 -0
- package/lib/{src/worker → worker}/db/MultiDatabaseServer.js +26 -15
- package/lib/worker/db/MultiDatabaseServer.js.map +1 -0
- package/lib/worker/sync/AbstractSharedSyncClientProvider.d.ts +13 -0
- package/lib/{src/worker → worker}/sync/AbstractSharedSyncClientProvider.js +1 -0
- package/lib/worker/sync/AbstractSharedSyncClientProvider.js.map +1 -0
- package/lib/worker/sync/BroadcastLogger.d.ts +27 -0
- package/lib/worker/sync/BroadcastLogger.js +65 -0
- package/lib/worker/sync/BroadcastLogger.js.map +1 -0
- package/lib/{src/worker → worker}/sync/SharedSyncImplementation.d.ts +11 -17
- package/lib/{src/worker → worker}/sync/SharedSyncImplementation.js +43 -51
- package/lib/worker/sync/SharedSyncImplementation.js.map +1 -0
- package/lib/{src/worker → worker}/sync/WorkerClient.d.ts +3 -4
- package/lib/{src/worker → worker}/sync/WorkerClient.js +3 -5
- package/lib/worker/sync/WorkerClient.js.map +1 -0
- package/lib/worker/worker.js +34 -0
- package/lib/worker/worker.js.map +1 -0
- package/package.json +23 -33
- package/src/db/NavigatorTriggerClaimManager.ts +1 -1
- package/src/db/PowerSyncDatabase.ts +80 -122
- package/src/db/adapters/AsyncWebAdapter.ts +17 -26
- package/src/db/adapters/SSRDBAdapter.ts +14 -64
- package/src/db/adapters/WebDBAdapter.ts +1 -1
- package/src/db/adapters/options.ts +100 -0
- package/src/db/adapters/resolveAndValidateOptions.ts +40 -0
- package/src/db/adapters/wa-sqlite/ConcurrentConnection.ts +4 -5
- package/src/db/adapters/wa-sqlite/DatabaseClient.ts +20 -56
- package/src/db/adapters/wa-sqlite/DatabaseServer.ts +15 -12
- package/src/db/adapters/wa-sqlite/RawSqliteConnection.ts +35 -24
- package/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.ts +63 -126
- package/src/db/sync/SSRWebStreamingSyncImplementation.ts +4 -22
- package/src/db/sync/SharedWebStreamingSyncImplementation.ts +38 -81
- package/src/db/sync/WebRemote.ts +23 -42
- package/src/db/sync/WebStreamingSyncImplementation.ts +4 -5
- package/src/index.ts +1 -3
- package/src/worker/SharedWorkerConnectionRequest.ts +6 -0
- package/src/worker/client.ts +100 -0
- package/src/worker/db/MultiDatabaseServer.ts +40 -22
- package/src/worker/sync/AbstractSharedSyncClientProvider.ts +4 -10
- package/src/worker/sync/BroadcastLogger.ts +35 -103
- package/src/worker/sync/SharedSyncImplementation.ts +62 -73
- package/src/worker/sync/WorkerClient.ts +4 -8
- package/src/worker/worker.ts +38 -0
- package/dist/index.umd.js +0 -12277
- package/dist/index.umd.js.map +0 -1
- package/dist/worker/SharedSyncImplementation.umd.js +0 -16655
- package/dist/worker/SharedSyncImplementation.umd.js.map +0 -1
- package/dist/worker/WASQLiteDB.umd.js +0 -17810
- package/dist/worker/WASQLiteDB.umd.js.map +0 -1
- package/dist/worker/node_modules_pnpm_bson_6_10_4_node_modules_bson_lib_bson_mjs.umd.js +0 -4646
- package/dist/worker/node_modules_pnpm_bson_6_10_4_node_modules_bson_lib_bson_mjs.umd.js.map +0 -1
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-9af0a7.umd.js +0 -31
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-9af0a7.umd.js.map +0 -1
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-bbf5a9.umd.js +0 -31
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-bbf5a9.umd.js.map +0 -1
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_dist_wa-sqli-c26e0f.umd.js +0 -31
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_dist_wa-sqli-c26e0f.umd.js.map +0 -1
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js +0 -31
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js.map +0 -1
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_src_examples-2fb422.umd.js +0 -3562
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_src_examples-2fb422.umd.js.map +0 -1
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_src_examples-96fb23.umd.js +0 -2478
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_src_examples-96fb23.umd.js.map +0 -1
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_src_examples-c89911.umd.js +0 -1681
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_src_examples-c89911.umd.js.map +0 -1
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_src_examples-ec4eb1.umd.js +0 -1820
- package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_7_0_node_modules_journeyapps_wa-sqlite_src_examples-ec4eb1.umd.js.map +0 -1
- package/lib/package.json +0 -94
- package/lib/src/db/PowerSyncDatabase.d.ts +0 -78
- package/lib/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.d.ts +0 -23
- package/lib/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.js +0 -26
- package/lib/src/db/adapters/AsyncWebAdapter.d.ts +0 -50
- package/lib/src/db/adapters/SSRDBAdapter.d.ts +0 -30
- package/lib/src/db/adapters/SSRDBAdapter.js +0 -68
- package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.d.ts +0 -45
- package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.js +0 -145
- package/lib/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.d.ts +0 -15
- package/lib/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.js +0 -21
- package/lib/src/db/adapters/web-sql-flags.d.ts +0 -92
- package/lib/src/db/adapters/web-sql-flags.js +0 -36
- package/lib/src/db/sync/WebRemote.d.ts +0 -9
- package/lib/src/db/sync/WebRemote.js +0 -44
- package/lib/src/worker/db/MultiDatabaseServer.d.ts +0 -17
- package/lib/src/worker/db/WASQLiteDB.worker.d.ts +0 -4
- package/lib/src/worker/db/WASQLiteDB.worker.js +0 -30
- package/lib/src/worker/db/open-worker-database.d.ts +0 -14
- package/lib/src/worker/db/open-worker-database.js +0 -52
- package/lib/src/worker/sync/AbstractSharedSyncClientProvider.d.ts +0 -19
- package/lib/src/worker/sync/BroadcastLogger.d.ts +0 -47
- package/lib/src/worker/sync/BroadcastLogger.js +0 -128
- package/lib/src/worker/sync/SharedSyncImplementation.worker.d.ts +0 -1
- package/lib/src/worker/sync/SharedSyncImplementation.worker.js +0 -11
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.ts +0 -47
- package/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.ts +0 -24
- package/src/db/adapters/web-sql-flags.ts +0 -141
- package/src/worker/db/WASQLiteDB.worker.ts +0 -35
- package/src/worker/db/open-worker-database.ts +0 -62
- package/src/worker/sync/SharedSyncImplementation.worker.ts +0 -14
- /package/dist/{8e97452e297be23b5e50.wasm → worker/assets/mc-wa-sqlite-CnHbhWvs.wasm} +0 -0
- /package/dist/{2075a31bb151adbb9767.wasm → worker/assets/mc-wa-sqlite-async-D6idQS2r.wasm} +0 -0
- /package/dist/{3322bc84de986b63c2cd.wasm → worker/assets/wa-sqlite-XZW__iJk.wasm} +0 -0
- /package/dist/{fbc178b70d530e8ce02b.wasm → worker/assets/wa-sqlite-async-rHzzC98y.wasm} +0 -0
- /package/lib/{src/attachments → attachments}/IndexDBFileSystemAdapter.d.ts +0 -0
- /package/lib/{src/db → db}/adapters/wa-sqlite/vfs.d.ts +0 -0
- /package/lib/{src/db → db}/sync/userAgent.d.ts +0 -0
- /package/lib/{src/shared → shared}/navigator.d.ts +0 -0
- /package/lib/{src/shared → shared}/tab_close_signal.d.ts +0 -0
- /package/lib/{src/db/adapters/WebDBAdapter.js → worker/worker.d.ts} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LogLevels } from '@powersync/common';
|
|
1
2
|
import * as Comlink from 'comlink';
|
|
2
3
|
import { DatabaseServer } from '../../db/adapters/wa-sqlite/DatabaseServer.js';
|
|
3
4
|
import { getNavigatorLocks } from '../../shared/navigator.js';
|
|
@@ -13,9 +14,14 @@ export class MultiDatabaseServer {
|
|
|
13
14
|
constructor(logger) {
|
|
14
15
|
this.logger = logger;
|
|
15
16
|
}
|
|
16
|
-
async handleConnection(
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
async handleConnection({ logLevel, database, lockName }) {
|
|
18
|
+
const logger = {
|
|
19
|
+
log: (record) => {
|
|
20
|
+
if (record.level >= logLevel)
|
|
21
|
+
this.logger.log(record);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
return Comlink.proxy(await this.openConnectionLocally(logger, database, lockName));
|
|
19
25
|
}
|
|
20
26
|
async connectToExisting(name, lockName) {
|
|
21
27
|
return getNavigatorLocks().request(OPEN_DB_LOCK, async () => {
|
|
@@ -26,33 +32,37 @@ export class MultiDatabaseServer {
|
|
|
26
32
|
return Comlink.proxy(await server.connect(lockName));
|
|
27
33
|
});
|
|
28
34
|
}
|
|
29
|
-
async openConnectionLocally(options, lockName) {
|
|
35
|
+
async openConnectionLocally(logger, options, lockName) {
|
|
30
36
|
// Especially on Firefox, we're sometimes seeing "NoModificationAllowedError"s when opening OPFS databases we can
|
|
31
37
|
// work around by retrying.
|
|
32
38
|
const maxAttempts = 3;
|
|
33
39
|
let server;
|
|
34
40
|
for (let count = 0; count < maxAttempts - 1; count++) {
|
|
35
41
|
try {
|
|
36
|
-
server = await this.databaseOpenAttempt(options);
|
|
42
|
+
server = await this.databaseOpenAttempt(logger, options);
|
|
37
43
|
}
|
|
38
|
-
catch (
|
|
39
|
-
this.logger.
|
|
44
|
+
catch (error) {
|
|
45
|
+
this.logger.log({
|
|
46
|
+
level: LogLevels.warn,
|
|
47
|
+
message: `Attempt ${count + 1} of ${maxAttempts} to open database failed, retrying in 1 second...`,
|
|
48
|
+
error
|
|
49
|
+
});
|
|
40
50
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
41
51
|
}
|
|
42
52
|
}
|
|
43
53
|
// Final attempt if we haven't been able to open the server - rethrow errors if we still can't open.
|
|
44
|
-
server ??= await this.databaseOpenAttempt(options);
|
|
54
|
+
server ??= await this.databaseOpenAttempt(logger, options);
|
|
45
55
|
return server.connect(lockName);
|
|
46
56
|
}
|
|
47
|
-
async databaseOpenAttempt(options) {
|
|
57
|
+
async databaseOpenAttempt(logger, options) {
|
|
48
58
|
return getNavigatorLocks().request(OPEN_DB_LOCK, async () => {
|
|
49
|
-
const {
|
|
50
|
-
let server = this.activeDatabases.get(
|
|
59
|
+
const { filename } = options;
|
|
60
|
+
let server = this.activeDatabases.get(filename);
|
|
51
61
|
if (server == null) {
|
|
52
62
|
// We don't need navigator locks for shared workers because all queries run in this shared worker exclusively.
|
|
53
63
|
// For read-only connections, we use a VFS that supports concurrent reads (so a single lock on the connection is
|
|
54
64
|
// fine).
|
|
55
|
-
const needsNavigatorLocks = !(isSharedWorker || options.
|
|
65
|
+
const needsNavigatorLocks = !(isSharedWorker || options.readonly);
|
|
56
66
|
const connection = new RawSqliteConnection(options);
|
|
57
67
|
const withSafeConcurrency = new ConcurrentSqliteConnection(connection, needsNavigatorLocks);
|
|
58
68
|
// Initializing the RawSqliteConnection will run some pragmas that might write to the database file, so we want
|
|
@@ -68,13 +78,13 @@ export class MultiDatabaseServer {
|
|
|
68
78
|
throw e;
|
|
69
79
|
}
|
|
70
80
|
returnLease();
|
|
71
|
-
const onClose = () => this.activeDatabases.delete(
|
|
81
|
+
const onClose = () => this.activeDatabases.delete(filename);
|
|
72
82
|
server = new DatabaseServer({
|
|
73
83
|
inner: withSafeConcurrency,
|
|
74
|
-
logger
|
|
84
|
+
logger,
|
|
75
85
|
onClose
|
|
76
86
|
});
|
|
77
|
-
this.activeDatabases.set(
|
|
87
|
+
this.activeDatabases.set(filename, server);
|
|
78
88
|
}
|
|
79
89
|
return server;
|
|
80
90
|
});
|
|
@@ -87,3 +97,4 @@ export class MultiDatabaseServer {
|
|
|
87
97
|
}
|
|
88
98
|
}
|
|
89
99
|
export const isSharedWorker = 'SharedWorkerGlobalScope' in globalThis;
|
|
100
|
+
//# sourceMappingURL=MultiDatabaseServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiDatabaseServer.js","sourceRoot":"","sources":["../../../src/worker/db/MultiDatabaseServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { LogRecord, PowerSyncCredentials } from '@powersync/common';
|
|
2
|
+
import { SyncStatusJson } from '@powersync/shared-internals';
|
|
3
|
+
/**
|
|
4
|
+
* The client side port should provide these methods.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class AbstractSharedSyncClientProvider {
|
|
7
|
+
abstract fetchCredentials(): Promise<PowerSyncCredentials | null>;
|
|
8
|
+
abstract invalidateCredentials(): void;
|
|
9
|
+
abstract uploadCrud(): Promise<void>;
|
|
10
|
+
abstract statusChanged(status: SyncStatusJson): void;
|
|
11
|
+
abstract getDBWorkerPort(): Promise<MessagePort>;
|
|
12
|
+
abstract log(record: LogRecord): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractSharedSyncClientProvider.js","sourceRoot":"","sources":["../../../src/worker/sync/AbstractSharedSyncClientProvider.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAgB,gCAAgC;CAQrD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { PowerSyncLogger, LogRecord } from '@powersync/common';
|
|
2
|
+
import { type WrappedSyncPort } from './SharedSyncImplementation.js';
|
|
3
|
+
/**
|
|
4
|
+
* Broadcasts logs to all clients
|
|
5
|
+
*/
|
|
6
|
+
export declare class BroadcastLogger implements PowerSyncLogger {
|
|
7
|
+
private clients;
|
|
8
|
+
private readonly inner;
|
|
9
|
+
private currentLevel;
|
|
10
|
+
sendBroadcasts: boolean;
|
|
11
|
+
constructor(prefix: string, clients: WrappedSyncPort[]);
|
|
12
|
+
log(record: LogRecord): void;
|
|
13
|
+
/**
|
|
14
|
+
* Set the global log level.
|
|
15
|
+
*/
|
|
16
|
+
setLevel(level: number): void;
|
|
17
|
+
/**
|
|
18
|
+
* Iterates all clients, catches individual client exceptions
|
|
19
|
+
* and proceeds to execute for all clients.
|
|
20
|
+
*/
|
|
21
|
+
protected iterateClients(callback: (client: WrappedSyncPort) => Promise<void>): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Guards against any logging errors.
|
|
24
|
+
* We don't want a logging exception to cause further issues upstream
|
|
25
|
+
*/
|
|
26
|
+
protected sanitizeRecord(record: LogRecord): LogRecord;
|
|
27
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { LogLevels, createConsoleLogger } from '@powersync/common';
|
|
2
|
+
/**
|
|
3
|
+
* Broadcasts logs to all clients
|
|
4
|
+
*/
|
|
5
|
+
export class BroadcastLogger {
|
|
6
|
+
clients;
|
|
7
|
+
inner;
|
|
8
|
+
currentLevel = LogLevels.info;
|
|
9
|
+
sendBroadcasts = true;
|
|
10
|
+
constructor(prefix, clients) {
|
|
11
|
+
this.clients = clients;
|
|
12
|
+
this.inner = createConsoleLogger({ prefix: prefix });
|
|
13
|
+
}
|
|
14
|
+
log(record) {
|
|
15
|
+
this.inner.log(record);
|
|
16
|
+
if (this.sendBroadcasts && record.level >= this.currentLevel) {
|
|
17
|
+
const sanitized = this.sanitizeRecord(record);
|
|
18
|
+
this.iterateClients((client) => client.clientProvider.log(sanitized));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Set the global log level.
|
|
23
|
+
*/
|
|
24
|
+
setLevel(level) {
|
|
25
|
+
this.inner.minLevel = level;
|
|
26
|
+
this.currentLevel = level;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Iterates all clients, catches individual client exceptions
|
|
30
|
+
* and proceeds to execute for all clients.
|
|
31
|
+
*/
|
|
32
|
+
async iterateClients(callback) {
|
|
33
|
+
for (const client of this.clients) {
|
|
34
|
+
try {
|
|
35
|
+
await callback(client);
|
|
36
|
+
}
|
|
37
|
+
catch (ex) {
|
|
38
|
+
console.error('Caught exception when iterating client', ex);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Guards against any logging errors.
|
|
44
|
+
* We don't want a logging exception to cause further issues upstream
|
|
45
|
+
*/
|
|
46
|
+
sanitizeRecord(record) {
|
|
47
|
+
if (!record.error) {
|
|
48
|
+
return record;
|
|
49
|
+
}
|
|
50
|
+
let error;
|
|
51
|
+
try {
|
|
52
|
+
// Try and clone here first. If it fails it won't be passable over a MessagePort
|
|
53
|
+
error = structuredClone(record.error);
|
|
54
|
+
}
|
|
55
|
+
catch (ex) {
|
|
56
|
+
console.error(ex);
|
|
57
|
+
error = 'Could not serialize log params. Check shared worker logs for more details.';
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
...record,
|
|
61
|
+
error
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=BroadcastLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BroadcastLogger.js","sourceRoot":"","sources":["../../../src/worker/sync/BroadcastLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAuB,mBAAmB,EAAa,MAAM,mBAAmB,CAAC;AAGpH;;GAEG;AACH,MAAM,OAAO,eAAe;IAQhB;IAPO,KAAK,CAAwC;IACtD,YAAY,GAAW,SAAS,CAAC,IAAI,CAAC;IAE9C,cAAc,GAAG,IAAI,CAAC;IAEtB,YACE,MAAc,EACN,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;QAElC,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,MAAiB;QACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,cAAc,CAAC,QAAoD;QACjF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,cAAc,CAAC,MAAiB;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,gFAAgF;YAChF,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,KAAK,GAAG,4EAA4E,CAAC;QACvF,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,KAAK;SACN,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { BaseObserver,
|
|
1
|
+
import { BaseObserver, DBAdapter, SyncStatus } from '@powersync/common';
|
|
2
|
+
import { ConnectionManager, SubscribedStream, type StreamingSyncImplementation, type StreamingSyncImplementationListener, Mutex, ResolvedSyncOptions } from '@powersync/shared-internals';
|
|
2
3
|
import * as Comlink from 'comlink';
|
|
3
4
|
import { WebStreamingSyncImplementation, WebStreamingSyncImplementationOptions } from '../../db/sync/WebStreamingSyncImplementation.js';
|
|
4
|
-
import { ResolvedWebSQLOpenOptions } from '../../db/adapters/web-sql-flags.js';
|
|
5
5
|
import { AbstractSharedSyncClientProvider } from './AbstractSharedSyncClientProvider.js';
|
|
6
|
+
import { BroadcastLogger } from './BroadcastLogger.js';
|
|
7
|
+
import { ResolvedWebSQLOpenOptions } from '../../db/adapters/options.js';
|
|
6
8
|
/**
|
|
7
9
|
* @internal
|
|
8
10
|
* Manual message events for shared sync clients
|
|
@@ -26,8 +28,9 @@ export type ManualSharedSyncPayload = {
|
|
|
26
28
|
* @internal
|
|
27
29
|
*/
|
|
28
30
|
export type SharedSyncInitOptions = {
|
|
29
|
-
streamOptions: Omit<WebStreamingSyncImplementationOptions, 'adapter' | 'uploadCrud' | 'remote' | 'subscriptions'>;
|
|
31
|
+
streamOptions: Omit<WebStreamingSyncImplementationOptions, 'adapter' | 'uploadCrud' | 'remote' | 'subscriptions' | 'logger'>;
|
|
30
32
|
dbParams: ResolvedWebSQLOpenOptions;
|
|
33
|
+
enableBroadcastLogs: boolean;
|
|
31
34
|
};
|
|
32
35
|
/**
|
|
33
36
|
* @internal
|
|
@@ -64,16 +67,14 @@ export declare class SharedSyncImplementation extends BaseObserver<SharedSyncImp
|
|
|
64
67
|
protected fetchCredentialsController?: RemoteOperationAbortController;
|
|
65
68
|
protected uploadDataController?: RemoteOperationAbortController;
|
|
66
69
|
protected syncParams: SharedSyncInitOptions | null;
|
|
67
|
-
protected
|
|
68
|
-
protected lastConnectOptions: PowerSyncConnectionOptions | undefined;
|
|
70
|
+
protected lastConnectOptions: ResolvedSyncOptions | undefined;
|
|
69
71
|
protected portMutex: Mutex;
|
|
70
72
|
private subscriptions;
|
|
71
73
|
protected connectionManager: ConnectionManager;
|
|
72
|
-
syncStatus
|
|
73
|
-
|
|
74
|
+
private syncStatus?;
|
|
75
|
+
logger: BroadcastLogger;
|
|
74
76
|
protected readonly database: DBAdapter;
|
|
75
77
|
constructor();
|
|
76
|
-
get lastSyncedAt(): Date | undefined;
|
|
77
78
|
get isConnected(): boolean;
|
|
78
79
|
/**
|
|
79
80
|
* Gets the last client port which we know is safe from unexpected closes.
|
|
@@ -84,12 +85,11 @@ export declare class SharedSyncImplementation extends BaseObserver<SharedSyncImp
|
|
|
84
85
|
* This returns a random port which is not closing.
|
|
85
86
|
*/
|
|
86
87
|
protected getRandomWrappedPort(): Promise<WrappedSyncPort | undefined>;
|
|
87
|
-
waitForStatus(status: SyncStatusOptions): Promise<void>;
|
|
88
88
|
waitUntilStatusMatches(predicate: (status: SyncStatus) => boolean): Promise<void>;
|
|
89
89
|
waitForReady(): Promise<void>;
|
|
90
90
|
private collectActiveSubscriptions;
|
|
91
91
|
updateSubscriptions(port: WrappedSyncPort, subscriptions: SubscribedStream[]): void;
|
|
92
|
-
setLogLevel(level:
|
|
92
|
+
setLogLevel(level: number): void;
|
|
93
93
|
/**
|
|
94
94
|
* Configures the DBAdapter connection and a streaming sync client.
|
|
95
95
|
*/
|
|
@@ -101,7 +101,7 @@ export declare class SharedSyncImplementation extends BaseObserver<SharedSyncImp
|
|
|
101
101
|
* The connection will simply be reconnected whenever a new tab
|
|
102
102
|
* connects.
|
|
103
103
|
*/
|
|
104
|
-
connect(options
|
|
104
|
+
connect(options: ResolvedSyncOptions, serializedSchema: any): Promise<void>;
|
|
105
105
|
disconnect(): Promise<void>;
|
|
106
106
|
/**
|
|
107
107
|
* Adds a new client tab's message port to the list of connected ports
|
|
@@ -119,7 +119,6 @@ export declare class SharedSyncImplementation extends BaseObserver<SharedSyncImp
|
|
|
119
119
|
*/
|
|
120
120
|
removePort(port: WrappedSyncPort): Promise<() => void>;
|
|
121
121
|
triggerCrudUpload(): void;
|
|
122
|
-
hasCompletedSync(): Promise<boolean>;
|
|
123
122
|
getWriteCheckpoint(): Promise<string>;
|
|
124
123
|
protected withSyncImplementation<T>(callback: (sync: StreamingSyncImplementation) => Promise<T>): Promise<T>;
|
|
125
124
|
protected generateStreamingImplementation(): WebStreamingSyncImplementation;
|
|
@@ -128,9 +127,4 @@ export declare class SharedSyncImplementation extends BaseObserver<SharedSyncImp
|
|
|
128
127
|
*/
|
|
129
128
|
private openInternalDB;
|
|
130
129
|
private generateReconnectableDatabase;
|
|
131
|
-
/**
|
|
132
|
-
* A method to update the all shared statuses for each
|
|
133
|
-
* client.
|
|
134
|
-
*/
|
|
135
|
-
private updateAllStatuses;
|
|
136
130
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseObserver, DBAdapter, LogLevels, SyncStreamConnectionMethod } from '@powersync/common';
|
|
2
|
+
import { AbortOperation, ConnectionManager, SqliteBucketStorage, Mutex } from '@powersync/shared-internals';
|
|
2
3
|
import * as Comlink from 'comlink';
|
|
3
4
|
import { WebRemote } from '../../db/sync/WebRemote.js';
|
|
4
5
|
import { WebStreamingSyncImplementation } from '../../db/sync/WebStreamingSyncImplementation.js';
|
|
@@ -35,19 +36,17 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
35
36
|
fetchCredentialsController;
|
|
36
37
|
uploadDataController;
|
|
37
38
|
syncParams;
|
|
38
|
-
logger;
|
|
39
39
|
lastConnectOptions;
|
|
40
40
|
portMutex;
|
|
41
41
|
subscriptions = [];
|
|
42
42
|
connectionManager;
|
|
43
43
|
syncStatus;
|
|
44
|
-
|
|
44
|
+
logger;
|
|
45
45
|
database = this.generateReconnectableDatabase();
|
|
46
46
|
constructor() {
|
|
47
47
|
super();
|
|
48
48
|
this.ports = [];
|
|
49
49
|
this.syncParams = null;
|
|
50
|
-
this.logger = createLogger('shared-sync');
|
|
51
50
|
this.lastConnectOptions = undefined;
|
|
52
51
|
this.portMutex = new Mutex();
|
|
53
52
|
this.isInitialized = new Promise((resolve) => {
|
|
@@ -58,15 +57,16 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
58
57
|
}
|
|
59
58
|
});
|
|
60
59
|
});
|
|
61
|
-
this.
|
|
62
|
-
this.broadCastLogger = new BroadcastLogger(this.ports);
|
|
60
|
+
this.logger = new BroadcastLogger('shared-sync', this.ports);
|
|
63
61
|
this.connectionManager = new ConnectionManager({
|
|
64
62
|
createSyncImplementation: async () => {
|
|
65
63
|
await this.waitForReady();
|
|
66
64
|
const sync = this.generateStreamingImplementation();
|
|
67
65
|
const onDispose = sync.registerListener({
|
|
68
|
-
statusChanged: (
|
|
69
|
-
this.
|
|
66
|
+
statusChanged: (snapshot) => {
|
|
67
|
+
this.syncStatus = snapshot;
|
|
68
|
+
const json = snapshot.toJSON();
|
|
69
|
+
this.ports.forEach((p) => p.clientProvider.statusChanged(json));
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
72
|
return {
|
|
@@ -74,12 +74,10 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
74
74
|
onDispose
|
|
75
75
|
};
|
|
76
76
|
},
|
|
77
|
-
logger: this.logger
|
|
77
|
+
logger: this.logger,
|
|
78
|
+
defaultConnectionMethod: SyncStreamConnectionMethod.HTTP
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
|
-
get lastSyncedAt() {
|
|
81
|
-
return this.connectionManager.syncStreamImplementation?.lastSyncedAt;
|
|
82
|
-
}
|
|
83
81
|
get isConnected() {
|
|
84
82
|
return this.connectionManager.syncStreamImplementation?.isConnected ?? false;
|
|
85
83
|
}
|
|
@@ -107,11 +105,6 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
107
105
|
return nonClosingPorts[Math.floor(Math.random() * nonClosingPorts.length)];
|
|
108
106
|
});
|
|
109
107
|
}
|
|
110
|
-
async waitForStatus(status) {
|
|
111
|
-
return this.withSyncImplementation(async (sync) => {
|
|
112
|
-
return sync.waitForStatus(status);
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
108
|
async waitUntilStatusMatches(predicate) {
|
|
116
109
|
return this.withSyncImplementation(async (sync) => {
|
|
117
110
|
return sync.waitUntilStatusMatches(predicate);
|
|
@@ -121,7 +114,7 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
121
114
|
return this.isInitialized;
|
|
122
115
|
}
|
|
123
116
|
collectActiveSubscriptions() {
|
|
124
|
-
this.logger.debug
|
|
117
|
+
this.logger.log({ level: LogLevels.debug, message: 'Collecting active stream subscriptions across tabs' });
|
|
125
118
|
const active = new Map();
|
|
126
119
|
for (const port of this.ports) {
|
|
127
120
|
for (const stream of port.currentSubscriptions) {
|
|
@@ -130,7 +123,10 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
130
123
|
}
|
|
131
124
|
}
|
|
132
125
|
this.subscriptions = [...active.values()];
|
|
133
|
-
this.logger.
|
|
126
|
+
this.logger.log({
|
|
127
|
+
level: LogLevels.debug,
|
|
128
|
+
message: `Collected stream subscriptions, ${JSON.stringify(this.subscriptions)}`
|
|
129
|
+
});
|
|
134
130
|
this.connectionManager.syncStreamImplementation?.updateSubscriptions(this.subscriptions);
|
|
135
131
|
}
|
|
136
132
|
updateSubscriptions(port, subscriptions) {
|
|
@@ -139,7 +135,6 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
139
135
|
}
|
|
140
136
|
setLogLevel(level) {
|
|
141
137
|
this.logger.setLevel(level);
|
|
142
|
-
this.broadCastLogger.setLevel(level);
|
|
143
138
|
}
|
|
144
139
|
/**
|
|
145
140
|
* Configures the DBAdapter connection and a streaming sync client.
|
|
@@ -154,14 +149,16 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
154
149
|
}
|
|
155
150
|
// First time setting params
|
|
156
151
|
this.syncParams = params;
|
|
157
|
-
|
|
158
|
-
this.logger = this.broadCastLogger;
|
|
159
|
-
}
|
|
152
|
+
this.logger.sendBroadcasts = params.enableBroadcastLogs;
|
|
160
153
|
// Ensure we have a usable database connection, the reconnectable database will connect lazily on first use.
|
|
161
154
|
await this.database.readLock(async () => { });
|
|
162
155
|
self.onerror = (event) => {
|
|
163
156
|
// Share any uncaught events on the broadcast logger
|
|
164
|
-
this.logger.
|
|
157
|
+
this.logger.log({
|
|
158
|
+
level: LogLevels.error,
|
|
159
|
+
message: 'Uncaught exception in PowerSync shared sync worker',
|
|
160
|
+
error: event
|
|
161
|
+
});
|
|
165
162
|
};
|
|
166
163
|
this.iterateListeners((l) => l.initialized?.());
|
|
167
164
|
}
|
|
@@ -176,9 +173,9 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
176
173
|
* The connection will simply be reconnected whenever a new tab
|
|
177
174
|
* connects.
|
|
178
175
|
*/
|
|
179
|
-
async connect(options) {
|
|
176
|
+
async connect(options, serializedSchema) {
|
|
180
177
|
this.lastConnectOptions = options;
|
|
181
|
-
return this.connectionManager.connect(CONNECTOR_PLACEHOLDER, options ?? {});
|
|
178
|
+
return this.connectionManager.connect(CONNECTOR_PLACEHOLDER, options ?? {}, serializedSchema);
|
|
182
179
|
}
|
|
183
180
|
async disconnect() {
|
|
184
181
|
return this.connectionManager.disconnect();
|
|
@@ -197,7 +194,7 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
197
194
|
};
|
|
198
195
|
this.ports.push(portProvider);
|
|
199
196
|
// Give the newly connected client the latest status
|
|
200
|
-
const status = this.
|
|
197
|
+
const status = this.syncStatus;
|
|
201
198
|
if (status) {
|
|
202
199
|
portProvider.clientProvider.statusChanged(status.toJSON());
|
|
203
200
|
}
|
|
@@ -217,7 +214,10 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
217
214
|
return await this.portMutex.runExclusive(async () => {
|
|
218
215
|
const index = this.ports.findIndex((p) => p == port);
|
|
219
216
|
if (index < 0) {
|
|
220
|
-
this.logger.
|
|
217
|
+
this.logger.log({
|
|
218
|
+
level: LogLevels.warn,
|
|
219
|
+
message: `Could not remove port ${port} since it is not present in active ports.`
|
|
220
|
+
});
|
|
221
221
|
return () => { };
|
|
222
222
|
}
|
|
223
223
|
const trackedPort = this.ports[index];
|
|
@@ -245,11 +245,6 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
245
245
|
sync.triggerCrudUpload();
|
|
246
246
|
});
|
|
247
247
|
}
|
|
248
|
-
async hasCompletedSync() {
|
|
249
|
-
return this.withSyncImplementation(async (sync) => {
|
|
250
|
-
return sync.hasCompletedSync();
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
248
|
async getWriteCheckpoint() {
|
|
254
249
|
return this.withSyncImplementation(async (sync) => {
|
|
255
250
|
return sync.getWriteCheckpoint();
|
|
@@ -283,11 +278,14 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
283
278
|
throw new Error('No client port found to invalidate credentials');
|
|
284
279
|
}
|
|
285
280
|
try {
|
|
286
|
-
this.logger.log(
|
|
281
|
+
this.logger.log({
|
|
282
|
+
level: LogLevels.info,
|
|
283
|
+
message: 'calling the last port client provider to invalidate credentials'
|
|
284
|
+
});
|
|
287
285
|
lastPort.clientProvider.invalidateCredentials();
|
|
288
286
|
}
|
|
289
|
-
catch (
|
|
290
|
-
this.logger.error
|
|
287
|
+
catch (error) {
|
|
288
|
+
this.logger.log({ level: LogLevels.error, message: 'error invalidating credentials', error });
|
|
291
289
|
}
|
|
292
290
|
},
|
|
293
291
|
fetchCredentials: async () => {
|
|
@@ -303,7 +301,10 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
303
301
|
};
|
|
304
302
|
abortController.signal.onabort = reject;
|
|
305
303
|
try {
|
|
306
|
-
this.logger.log(
|
|
304
|
+
this.logger.log({
|
|
305
|
+
level: LogLevels.info,
|
|
306
|
+
message: 'calling the last port client provider for credentials'
|
|
307
|
+
});
|
|
307
308
|
resolve(await lastPort.clientProvider.fetchCredentials());
|
|
308
309
|
}
|
|
309
310
|
catch (ex) {
|
|
@@ -412,7 +413,7 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
412
413
|
});
|
|
413
414
|
clearTimeout(timeout);
|
|
414
415
|
client.closeListeners.push(async () => {
|
|
415
|
-
this.logger.info
|
|
416
|
+
this.logger.log({ level: LogLevels.info, message: 'Aborting open connection because associated tab closed.' });
|
|
416
417
|
handleClosed(db);
|
|
417
418
|
/**
|
|
418
419
|
* Don't await this close operation. It might never resolve if the tab is closed.
|
|
@@ -420,14 +421,14 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
420
421
|
* We then call close. The close operation is configured to fire-and-forget, the main promise will reject immediately.
|
|
421
422
|
*/
|
|
422
423
|
db.markRemoteClosed();
|
|
423
|
-
db.close().catch((
|
|
424
|
+
db.close().catch((error) => this.logger.log({ level: LogLevels.warn, message: 'error closing database connection', error }));
|
|
424
425
|
});
|
|
425
426
|
return db;
|
|
426
427
|
}
|
|
427
428
|
generateReconnectableDatabase() {
|
|
428
429
|
const syncParams = this.syncParams;
|
|
429
430
|
const sharedSync = this;
|
|
430
|
-
class
|
|
431
|
+
return new (class extends DBAdapter {
|
|
431
432
|
connectionState = null;
|
|
432
433
|
get name() {
|
|
433
434
|
return syncParams?.dbParams.dbFilename;
|
|
@@ -484,17 +485,7 @@ export class SharedSyncImplementation extends BaseObserver {
|
|
|
484
485
|
async refreshSchema() {
|
|
485
486
|
// Not used by sync client.
|
|
486
487
|
}
|
|
487
|
-
}
|
|
488
|
-
const Adapter = DBAdapterDefaultMixin(ReconnectPool);
|
|
489
|
-
return new Adapter();
|
|
490
|
-
}
|
|
491
|
-
/**
|
|
492
|
-
* A method to update the all shared statuses for each
|
|
493
|
-
* client.
|
|
494
|
-
*/
|
|
495
|
-
updateAllStatuses(status) {
|
|
496
|
-
this.syncStatus = new SyncStatus(status);
|
|
497
|
-
this.ports.forEach((p) => p.clientProvider.statusChanged(status));
|
|
488
|
+
})();
|
|
498
489
|
}
|
|
499
490
|
}
|
|
500
491
|
/**
|
|
@@ -527,3 +518,4 @@ function withAbort(options) {
|
|
|
527
518
|
.catch((e) => completePromise(() => reject(e)));
|
|
528
519
|
});
|
|
529
520
|
}
|
|
521
|
+
//# sourceMappingURL=SharedSyncImplementation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedSyncImplementation.js","sourceRoot":"","sources":["../../../src/worker/sync/SharedSyncImplementation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EAKT,SAAS,EACT,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EAInB,KAAK,EAGN,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EACL,8BAA8B,EAE/B,MAAM,iDAAiD,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,MAAM,+CAA+C,CAAC;AACrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG1E;;;GAGG;AACH,MAAM,CAAN,IAAY,qBAQX;AARD,WAAY,qBAAqB;IAC/B;;;OAGG;IACH,sDAA6B,CAAA;IAE7B,gDAAuB,CAAA;AACzB,CAAC,EARW,qBAAqB,KAArB,qBAAqB,QAQhC;AAiDD;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,EAA+B,CAAC;AAE9D;;;GAGG;AACH,MAAM,OAAO,wBAAyB,SAAQ,YAA8C;IAChF,KAAK,CAAoB;IAEzB,aAAa,CAAgB;IAC7B,cAAc,CAAc;IAE5B,0BAA0B,CAAkC;IAC5D,oBAAoB,CAAkC;IAEtD,UAAU,CAA+B;IACzC,kBAAkB,CAAkC;IACpD,SAAS,CAAQ;IACnB,aAAa,GAAuB,EAAE,CAAC;IAErC,iBAAiB,CAAoB;IACvC,UAAU,CAAsB;IACxC,MAAM,CAAkB;IACL,QAAQ,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;IAEnE;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE;oBAChB,OAAO,EAAE,CAAC;oBACV,QAAQ,EAAE,EAAE,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7D,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,wBAAwB,EAAE,KAAK,IAAI,EAAE;gBACnC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;oBACtC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE;wBAC1B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;wBAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClE,CAAC;iBACF,CAAC,CAAC;gBAEH,OAAO;oBACL,IAAI;oBACJ,SAAS;iBACV,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,uBAAuB,EAAE,0BAA0B,CAAC,IAAI;SACzD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,WAAW,IAAI,KAAK,CAAC;IAC/E,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,kBAAkB;QAChC,0CAA0C;QAC1C,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,oBAAoB;QAClC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE;YAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/D,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,SAA0C;QACrE,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAChD,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,0BAA0B;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAAC,CAAC;QAC3G,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACd,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,OAAO,EAAE,mCAAmC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;SACjF,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3F,CAAC;IAED,mBAAmB,CAAC,IAAqB,EAAE,aAAiC;QAC1E,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;QAC1C,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAA6B;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YAC3C,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,4DAA4D;YAC5D,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAExD,4GAA4G;QAC5G,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACvB,oDAAoD;YACpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACd,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,OAAO,EAAE,oDAAoD;gBAC7D,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,OAA4B,EAAE,gBAAqB;QAC/D,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,EAAE,OAAO,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAiB;QAC7B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE;YAC5C,MAAM,YAAY,GAAG;gBACnB,IAAI;gBACJ,cAAc,EAAE,OAAO,CAAC,IAAI,CAAmC,IAAI,CAAC;gBACpE,oBAAoB,EAAE,EAAE;gBACxB,cAAc,EAAE,EAAE;gBAClB,SAAS,EAAE,KAAK;aACS,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE9B,oDAAoD;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,IAAqB;QACpC,0DAA0D;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,0CAA0C;QAC1C,sEAAsE;QACtE,4CAA4C;QAC5C,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YACrD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBACd,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,OAAO,EAAE,yBAAyB,IAAI,2CAA2C;iBAClF,CAAC,CAAC;gBACH,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,uCAAuC;YACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAE5B;;;eAGG;YACH,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;gBACvF,IAAI,eAAe,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC;oBACxC,eAAgB,CAAC,UAAU,CAAC,KAAK,CAC/B,IAAI,cAAc,CAAC,uDAAuD,CAAC,CAC5E,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,4FAA4F;YAC5F,KAAK,MAAM,aAAa,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBACvD,MAAM,aAAa,EAAE,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAElC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAChD,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAI,QAA2D;QACnG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC;YACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAA8B,CAAC,OAAO,EAAE,EAAE;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;gBACtD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO,EAAE,EAAE,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAES,+BAA+B;QACvC,gEAAgE;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAW,CAAC;QACpC,oGAAoG;QACpG,OAAO,IAAI,8BAA8B,CAAC;YACxC,OAAO,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YAC5D,MAAM,EAAE,IAAI,SAAS,CACnB;gBACE,qBAAqB,EAAE,KAAK,IAAI,EAAE;oBAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;oBACpE,CAAC;oBACD,IAAI,CAAC;wBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;4BACd,KAAK,EAAE,SAAS,CAAC,IAAI;4BACrB,OAAO,EAAE,iEAAiE;yBAC3E,CAAC,CAAC;wBACH,QAAQ,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;oBAClD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,CAAC,CAAC;oBAChG,CAAC;gBACH,CAAC;gBACD,gBAAgB,EAAE,KAAK,IAAI,EAAE;oBAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAC/D,CAAC;oBACD,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC3C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;wBAC9C,IAAI,CAAC,0BAA0B,GAAG;4BAChC,UAAU,EAAE,eAAe;4BAC3B,UAAU,EAAE,QAAQ;yBACrB,CAAC;wBAEF,eAAe,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;wBACxC,IAAI,CAAC;4BACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gCACd,KAAK,EAAE,SAAS,CAAC,IAAI;gCACrB,OAAO,EAAE,uDAAuD;6BACjE,CAAC,CAAC;4BACH,OAAO,CAAC,MAAM,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC;wBAC5D,CAAC;wBAAC,OAAO,EAAE,EAAE,CAAC;4BACZ,MAAM,CAAC,EAAE,CAAC,CAAC;wBACb,CAAC;gCAAS,CAAC;4BACT,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;wBAC9C,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,EACD,IAAI,CAAC,MAAM,CACZ;YACD,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACzD,CAAC;gBAED,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC3C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;oBAC9C,IAAI,CAAC,oBAAoB,GAAG;wBAC1B,UAAU,EAAE,eAAe;wBAC3B,UAAU,EAAE,QAAQ;qBACrB,CAAC;oBAEF,+BAA+B;oBAC/B,eAAe,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;oBACjD,IAAI,CAAC;wBACH,OAAO,CAAC,MAAM,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;oBACtD,CAAC;oBAAC,OAAO,EAAE,EAAE,CAAC;wBACZ,MAAM,CAAC,EAAE,CAAC,CAAC;oBACb,CAAC;4BAAS,CAAC;wBACT,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;oBACxC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,GAAG,UAAU,CAAC,aAAa;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,wCAAwC;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,YAAqE;QAErE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,uCAAuC;YACvC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,uDAAuD;QACvD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX;;WAEG;QACH,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC3D,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC;YACjC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE;YACrD,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;YACd,mBAAmB,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAuB,UAAU,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;QAExD,MAAM,cAAc,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAEtD;;;;;WAKG;QACH,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC;YACzB,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC5F,OAAO,IAAI,cAAc,CACvB;oBACE,UAAU,EAAE,UAAU;oBACtB,MAAM,EAAE,MAAM;oBACd,8GAA8G;oBAC9G,uEAAuE;oBACvE,0BAA0B,EAAE,IAAI;iBACjC,EACD,IAAI,CAAC,UAAW,CAAC,QAAQ,CAC1B,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE;gBACrB,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;SACF,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,oFAAoF;YACpF,mBAAmB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,OAAO,CAAC,CAAC;QAEtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,yDAAyD,EAAE,CAAC,CAAC;YAC/G,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB;;;;eAIG;YACH,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtB,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,mCAAmC,EAAE,KAAK,EAAE,CAAC,CAChG,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,6BAA6B;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC;QAExB,OAAO,IAAI,CAAC,KAAM,SAAQ,SAAS;YACzB,eAAe,GAGkC,IAAI,CAAC;YAE9D,IAAI,IAAI;gBACN,OAAO,UAAU,EAAE,QAAQ,CAAC,UAAW,CAAC;YAC1C,CAAC;YAEO,KAAK,CAAC,OAAO;gBACnB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;oBACjC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxD,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;wBACjC,IAAI,CAAC;4BACH,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;4BACzD,EAAE,CAAC,gBAAgB,CAAC;gCAClB,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE;oCAC9B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;gCAChE,CAAC;6BACF,CAAC,CAAC;4BACH,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;4BAC1B,OAAO,EAAE,CAAC;wBACZ,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,sDAAsD;4BACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;4BAC5B,MAAM,CAAC,CAAC;wBACV,CAAC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,CAAC;gBAED,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;YACpC,CAAC;YAED,KAAK,CAAC,KAAK;gBACT,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;oBACjC,MAAM,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,kBAAkB,CAAC,MAAiD;gBAClE,IAAI,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;oBACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAE5B,uEAAuE;oBACvE,sDAAsD;oBACtD,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,wBAA2D,CAAC;oBACtG,IAAI,EAAE,iBAAiB,EAAE,CAAC;oBAE1B,4GAA4G;oBAC5G,2GAA2G;oBAC3G,qBAAqB;oBACrB,IAAI,EAAE,4BAA4B,EAAE,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,KAAK,CAAC,QAAQ,CAAI,EAAmC,EAAE,OAAuB;gBAC5E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAClC,CAAC;YAED,KAAK,CAAC,SAAS,CAAI,EAAmC,EAAE,OAAuB;gBAC7E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;YAED,KAAK,CAAC,aAAa;gBACjB,2BAA2B;YAC7B,CAAC;SACF,CAAC,EAAE,CAAC;IACP,CAAC;CACF;AAED;;GAEG;AACH,SAAS,SAAS,CAAI,OAIrB;IACC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,cAAc,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,SAAS,WAAW;YAClB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,cAAc,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,SAAS,eAAe,CAAC,MAAkB;YACzC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjD,MAAM,EAAE,CAAC;QACX,CAAC;QAED,MAAM,EAAE;aACL,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,0DAA0D;YAC1D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,eAAe,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ILogLevel, PowerSyncConnectionOptions, SubscribedStream } from '@powersync/common';
|
|
2
1
|
import { SharedSyncImplementation, SharedSyncInitOptions, WrappedSyncPort } from './SharedSyncImplementation.js';
|
|
2
|
+
import { SubscribedStream, ResolvedSyncOptions } from '@powersync/shared-internals';
|
|
3
3
|
/**
|
|
4
4
|
* A client to the shared sync worker.
|
|
5
5
|
*
|
|
@@ -20,12 +20,11 @@ export declare class WorkerClient {
|
|
|
20
20
|
* it can consider the connection to be closed.
|
|
21
21
|
*/
|
|
22
22
|
addLockBasedCloseSignal(name: string): Promise<void>;
|
|
23
|
-
setLogLevel(level:
|
|
23
|
+
setLogLevel(level: number): void;
|
|
24
24
|
triggerCrudUpload(): void;
|
|
25
25
|
setParams(params: SharedSyncInitOptions, subscriptions: SubscribedStream[]): Promise<void>;
|
|
26
26
|
getWriteCheckpoint(): Promise<string>;
|
|
27
|
-
|
|
28
|
-
connect(options?: PowerSyncConnectionOptions): Promise<void>;
|
|
27
|
+
connect(options: ResolvedSyncOptions, schema: any): Promise<void>;
|
|
29
28
|
updateSubscriptions(subscriptions: SubscribedStream[]): void;
|
|
30
29
|
disconnect(): Promise<void>;
|
|
31
30
|
}
|
|
@@ -67,11 +67,8 @@ export class WorkerClient {
|
|
|
67
67
|
getWriteCheckpoint() {
|
|
68
68
|
return this.sync.getWriteCheckpoint();
|
|
69
69
|
}
|
|
70
|
-
|
|
71
|
-
return this.sync.
|
|
72
|
-
}
|
|
73
|
-
connect(options) {
|
|
74
|
-
return this.sync.connect(options);
|
|
70
|
+
connect(options, schema) {
|
|
71
|
+
return this.sync.connect(options, schema);
|
|
75
72
|
}
|
|
76
73
|
updateSubscriptions(subscriptions) {
|
|
77
74
|
if (this.resolvedPort) {
|
|
@@ -82,3 +79,4 @@ export class WorkerClient {
|
|
|
82
79
|
return this.sync.disconnect();
|
|
83
80
|
}
|
|
84
81
|
}
|
|
82
|
+
//# sourceMappingURL=WorkerClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerClient.js","sourceRoot":"","sources":["../../../src/worker/sync/WorkerClient.ts"],"names":[],"mappings":"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"}
|