@powersync/common 1.7.1 → 1.8.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.
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Mutex } from 'async-mutex';
3
2
  import { ILogger } from 'js-logger';
4
3
  import { DBAdapter, QueryResult, Transaction } from '../db/DBAdapter';
@@ -10,7 +9,7 @@ import { PowerSyncBackendConnector } from './connection/PowerSyncBackendConnecto
10
9
  import { BucketStorageAdapter } from './sync/bucket/BucketStorageAdapter';
11
10
  import { CrudBatch } from './sync/bucket/CrudBatch';
12
11
  import { CrudTransaction } from './sync/bucket/CrudTransaction';
13
- import { AbstractStreamingSyncImplementation, StreamingSyncImplementationListener, StreamingSyncImplementation } from './sync/stream/AbstractStreamingSyncImplementation';
12
+ import { AbstractStreamingSyncImplementation, StreamingSyncImplementationListener, StreamingSyncImplementation, PowerSyncConnectionOptions } from './sync/stream/AbstractStreamingSyncImplementation';
14
13
  export interface DisconnectAndClearOptions {
15
14
  /** When set to false, data in local-only tables is preserved. */
16
15
  clearLocal?: boolean;
@@ -153,7 +152,7 @@ export declare abstract class AbstractPowerSyncDatabase extends BaseObserver<Pow
153
152
  /**
154
153
  * Connects to stream of events from the PowerSync instance.
155
154
  */
156
- connect(connector: PowerSyncBackendConnector): Promise<void>;
155
+ connect(connector: PowerSyncBackendConnector, options?: PowerSyncConnectionOptions): Promise<void>;
157
156
  /**
158
157
  * Close the sync connection.
159
158
  *
@@ -192,7 +192,7 @@ export class AbstractPowerSyncDatabase extends BaseObserver {
192
192
  /**
193
193
  * Connects to stream of events from the PowerSync instance.
194
194
  */
195
- async connect(connector) {
195
+ async connect(connector, options) {
196
196
  await this.waitForReady();
197
197
  // close connection if one is open
198
198
  await this.disconnect();
@@ -211,7 +211,7 @@ export class AbstractPowerSyncDatabase extends BaseObserver {
211
211
  });
212
212
  await this.syncStreamImplementation.waitForReady();
213
213
  this.syncStreamImplementation.triggerCrudUpload();
214
- await this.syncStreamImplementation.connect();
214
+ await this.syncStreamImplementation.connect(options);
215
215
  }
216
216
  /**
217
217
  * Close the sync connection.
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractPowerSyncDatabase.js","sourceRoot":"","sources":["../../src/client/AbstractPowerSyncDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractPowerSyncDatabase.js","sourceRoot":"","sources":["../../src/client/AbstractPowerSyncDatabase.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { v4 as uuid } from 'uuid';
2
1
  import { extractTableUpdates } from '../../../db/DBAdapter';
3
2
  import { PSInternalTable } from './BucketStorageAdapter';
4
3
  import { OpTypeEnum } from './OpType';
@@ -84,10 +83,10 @@ export class SqliteBucketStorage extends BaseObserver {
84
83
  // To achieve this, we rename the bucket to a new temp name, and change all ops to remove.
85
84
  // By itself, this new bucket would ensure that the previous objects are deleted if they contain no more references.
86
85
  // If the old bucket is re-added, this new bucket would have no effect.
87
- const newName = `$delete_${bucket}_${uuid()}`;
88
- this.logger.debug('Deleting bucket', bucket);
89
- // This
90
86
  await this.writeTransaction(async (tx) => {
87
+ const { uuid } = await tx.get('select uuid() as uuid');
88
+ const newName = `$delete_${bucket}_${uuid}`;
89
+ this.logger.debug('Deleting bucket', bucket);
91
90
  await tx.execute(`UPDATE ps_oplog SET op=${OpTypeEnum.REMOVE}, data=NULL WHERE op=${OpTypeEnum.PUT} AND superseded=0 AND bucket=?`, [bucket]);
92
91
  // Rename bucket
93
92
  await tx.execute('UPDATE ps_oplog SET bucket=? WHERE bucket=?', [newName, bucket]);
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteBucketStorage.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/SqliteBucketStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqliteBucketStorage.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/SqliteBucketStorage.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,41 @@
1
- /// <reference types="node" />
2
1
  import { ILogger } from 'js-logger';
2
+ import { fetch } from 'cross-fetch';
3
3
  import { PowerSyncCredentials } from '../../connection/PowerSyncCredentials';
4
+ import { StreamingSyncLine, StreamingSyncRequest } from './streaming-sync-types';
5
+ import { DataStream } from '../../../utils/DataStream';
4
6
  export type RemoteConnector = {
5
7
  fetchCredentials: () => Promise<PowerSyncCredentials | null>;
6
8
  };
7
9
  export declare const DEFAULT_REMOTE_LOGGER: ILogger;
10
+ export type SyncStreamOptions = {
11
+ path: string;
12
+ data: StreamingSyncRequest;
13
+ headers?: Record<string, string>;
14
+ abortSignal?: AbortSignal;
15
+ fetchOptions?: Request;
16
+ };
17
+ export type AbstractRemoteOptions = {
18
+ /**
19
+ * Transforms the PowerSync base URL which might contain
20
+ * `http(s)://` to the corresponding WebSocket variant
21
+ * e.g. `ws(s)://`
22
+ */
23
+ socketUrlTransformer: (url: string) => string;
24
+ /**
25
+ * Optionally provide the fetch implementation to use.
26
+ * Note that this usually needs to be bound to the global scope.
27
+ * Binding should be done before passing here.
28
+ */
29
+ fetchImplementation: typeof fetch;
30
+ };
31
+ export declare const DEFAULT_REMOTE_OPTIONS: AbstractRemoteOptions;
8
32
  export declare abstract class AbstractRemote {
9
33
  protected connector: RemoteConnector;
10
34
  protected logger: ILogger;
11
35
  protected credentials: PowerSyncCredentials | null;
12
- constructor(connector: RemoteConnector, logger?: ILogger);
36
+ protected options: AbstractRemoteOptions;
37
+ constructor(connector: RemoteConnector, logger?: ILogger, options?: Partial<AbstractRemoteOptions>);
38
+ get fetch(): typeof globalThis.fetch;
13
39
  getCredentials(): Promise<PowerSyncCredentials | null>;
14
40
  protected buildRequest(path: string): Promise<{
15
41
  url: string;
@@ -18,8 +44,15 @@ export declare abstract class AbstractRemote {
18
44
  Authorization: string;
19
45
  };
20
46
  }>;
21
- abstract post(path: string, data: any, headers?: Record<string, string>): Promise<any>;
22
- abstract get(path: string, headers?: Record<string, string>): Promise<any>;
23
- abstract postStreaming(path: string, data: any, headers?: Record<string, string>, signal?: AbortSignal): Promise<any>;
24
- isAvailable(): boolean;
47
+ post(path: string, data: any, headers?: Record<string, string>): Promise<any>;
48
+ get(path: string, headers?: Record<string, string>): Promise<any>;
49
+ postStreaming(path: string, data: any, headers?: Record<string, string>, signal?: AbortSignal): Promise<any>;
50
+ /**
51
+ * Connects to the sync/stream websocket endpoint
52
+ */
53
+ socketStream(options: SyncStreamOptions): Promise<DataStream<StreamingSyncLine>>;
54
+ /**
55
+ * Connects to the sync/stream http endpoint
56
+ */
57
+ postStream(options: SyncStreamOptions): Promise<DataStream<StreamingSyncLine>>;
25
58
  }
@@ -1,14 +1,42 @@
1
1
  import Logger from 'js-logger';
2
+ import { fetch } from 'cross-fetch';
3
+ import { DataStream } from '../../../utils/DataStream';
4
+ import ndjsonStream from 'can-ndjson-stream';
5
+ import { RSocketConnector } from 'rsocket-core';
6
+ import { WebsocketClientTransport } from 'rsocket-websocket-client';
7
+ import { serialize, deserialize } from 'bson';
8
+ import { AbortOperation } from '../../../utils/AbortOperation';
9
+ import { Buffer } from 'buffer';
2
10
  // Refresh at least 30 sec before it expires
3
11
  const REFRESH_CREDENTIALS_SAFETY_PERIOD_MS = 30_000;
12
+ const SYNC_QUEUE_REQUEST_N = 10;
13
+ const SYNC_QUEUE_REQUEST_LOW_WATER = 5;
14
+ // Keep alive message is sent every period
15
+ const KEEP_ALIVE_MS = 20_000;
16
+ // The ACK must be received in this period
17
+ const KEEP_ALIVE_LIFETIME_MS = 30_000;
4
18
  export const DEFAULT_REMOTE_LOGGER = Logger.get('PowerSyncRemote');
19
+ export const DEFAULT_REMOTE_OPTIONS = {
20
+ socketUrlTransformer: (url) => url.replace(/^https?:\/\//, function (match) {
21
+ return match === 'https://' ? 'wss://' : 'ws://';
22
+ }),
23
+ fetchImplementation: fetch.bind(globalThis)
24
+ };
5
25
  export class AbstractRemote {
6
26
  connector;
7
27
  logger;
8
28
  credentials = null;
9
- constructor(connector, logger = DEFAULT_REMOTE_LOGGER) {
29
+ options;
30
+ constructor(connector, logger = DEFAULT_REMOTE_LOGGER, options) {
10
31
  this.connector = connector;
11
32
  this.logger = logger;
33
+ this.options = {
34
+ ...DEFAULT_REMOTE_OPTIONS,
35
+ ...(options ?? {})
36
+ };
37
+ }
38
+ get fetch() {
39
+ return this.options.fetchImplementation;
12
40
  }
13
41
  async getCredentials() {
14
42
  const { expiresAt } = this.credentials ?? {};
@@ -36,8 +64,300 @@ export class AbstractRemote {
36
64
  }
37
65
  };
38
66
  }
39
- isAvailable() {
40
- return true;
67
+ async post(path, data, headers = {}) {
68
+ const request = await this.buildRequest(path);
69
+ const res = await fetch(request.url, {
70
+ method: 'POST',
71
+ headers: {
72
+ ...headers,
73
+ ...request.headers
74
+ },
75
+ body: JSON.stringify(data)
76
+ });
77
+ if (!res.ok) {
78
+ throw new Error(`Received ${res.status} - ${res.statusText} when posting to ${path}: ${await res.text()}}`);
79
+ }
80
+ return res.json();
81
+ }
82
+ async get(path, headers) {
83
+ const request = await this.buildRequest(path);
84
+ const res = await this.fetch(request.url, {
85
+ method: 'GET',
86
+ headers: {
87
+ ...headers,
88
+ ...request.headers
89
+ }
90
+ });
91
+ if (!res.ok) {
92
+ throw new Error(`Received ${res.status} - ${res.statusText} when getting from ${path}: ${await res.text()}}`);
93
+ }
94
+ return res.json();
95
+ }
96
+ async postStreaming(path, data, headers = {}, signal) {
97
+ const request = await this.buildRequest(path);
98
+ const res = await this.fetch(request.url, {
99
+ method: 'POST',
100
+ headers: { ...headers, ...request.headers },
101
+ body: JSON.stringify(data),
102
+ signal,
103
+ cache: 'no-store'
104
+ }).catch((ex) => {
105
+ this.logger.error(`Caught ex when POST streaming to ${path}`, ex);
106
+ throw ex;
107
+ });
108
+ if (!res.ok) {
109
+ const text = await res.text();
110
+ this.logger.error(`Could not POST streaming to ${path} - ${res.status} - ${res.statusText}: ${text}`);
111
+ const error = new Error(`HTTP ${res.statusText}: ${text}`);
112
+ error.status = res.status;
113
+ throw error;
114
+ }
115
+ return res;
116
+ }
117
+ /**
118
+ * Connects to the sync/stream websocket endpoint
119
+ */
120
+ async socketStream(options) {
121
+ const { path } = options;
122
+ const request = await this.buildRequest(path);
123
+ const connector = new RSocketConnector({
124
+ transport: new WebsocketClientTransport({
125
+ url: this.options.socketUrlTransformer(request.url)
126
+ }),
127
+ setup: {
128
+ keepAlive: KEEP_ALIVE_MS,
129
+ lifetime: KEEP_ALIVE_LIFETIME_MS,
130
+ dataMimeType: 'application/bson',
131
+ metadataMimeType: 'application/bson',
132
+ payload: {
133
+ data: null,
134
+ metadata: Buffer.from(serialize({
135
+ token: request.headers.Authorization
136
+ }))
137
+ }
138
+ }
139
+ });
140
+ let rsocket;
141
+ try {
142
+ rsocket = await connector.connect();
143
+ }
144
+ catch (ex) {
145
+ /**
146
+ * On React native the connection exception can be `undefined` this causes issues
147
+ * with detecting the exception inside async-mutex
148
+ */
149
+ throw new Error(`Could not connect to PowerSync instance: ${JSON.stringify(ex)}`);
150
+ }
151
+ const stream = new DataStream({
152
+ logger: this.logger,
153
+ pressure: {
154
+ lowWaterMark: SYNC_QUEUE_REQUEST_LOW_WATER
155
+ }
156
+ });
157
+ let socketIsClosed = false;
158
+ const closeSocket = () => {
159
+ if (socketIsClosed) {
160
+ return;
161
+ }
162
+ socketIsClosed = true;
163
+ rsocket.close();
164
+ };
165
+ // We initially request this amount and expect these to arrive eventually
166
+ let pendingEventsCount = SYNC_QUEUE_REQUEST_N;
167
+ const socket = await new Promise((resolve, reject) => {
168
+ let connectionEstablished = false;
169
+ const res = rsocket.requestStream({
170
+ data: Buffer.from(serialize(options.data)),
171
+ metadata: Buffer.from(serialize({
172
+ path
173
+ }))
174
+ }, SYNC_QUEUE_REQUEST_N, // The initial N amount
175
+ {
176
+ onError: (e) => {
177
+ // Don't log closed as an error
178
+ if (e.message !== 'Closed. ') {
179
+ this.logger.error(e);
180
+ }
181
+ // RSocket will close this automatically
182
+ // Attempting to close multiple times causes a console warning
183
+ socketIsClosed = true;
184
+ stream.close();
185
+ // Handles cases where the connection failed e.g. auth error or connection error
186
+ if (!connectionEstablished) {
187
+ reject(e);
188
+ }
189
+ },
190
+ onNext: (payload) => {
191
+ // The connection is active
192
+ if (!connectionEstablished) {
193
+ connectionEstablished = true;
194
+ resolve(res);
195
+ }
196
+ const { data } = payload;
197
+ // Less events are now pending
198
+ pendingEventsCount--;
199
+ if (!data) {
200
+ return;
201
+ }
202
+ const deserializedData = deserialize(data);
203
+ stream.enqueueData(deserializedData);
204
+ },
205
+ onComplete: () => {
206
+ stream.close();
207
+ },
208
+ onExtension: () => { }
209
+ });
210
+ });
211
+ const l = stream.registerListener({
212
+ lowWater: async () => {
213
+ // Request to fill up the queue
214
+ const required = SYNC_QUEUE_REQUEST_N - pendingEventsCount;
215
+ if (required > 0) {
216
+ socket.request(SYNC_QUEUE_REQUEST_N - pendingEventsCount);
217
+ pendingEventsCount = SYNC_QUEUE_REQUEST_N;
218
+ }
219
+ },
220
+ closed: () => {
221
+ closeSocket();
222
+ l?.();
223
+ }
224
+ });
225
+ /**
226
+ * Handle abort operations here.
227
+ * Unfortunately cannot insert them into the connection.
228
+ */
229
+ if (options.abortSignal?.aborted) {
230
+ stream.close();
231
+ }
232
+ else {
233
+ options.abortSignal?.addEventListener('abort', () => {
234
+ stream.close();
235
+ });
236
+ }
237
+ return stream;
238
+ }
239
+ /**
240
+ * Connects to the sync/stream http endpoint
241
+ */
242
+ async postStream(options) {
243
+ const { data, path, headers, abortSignal } = options;
244
+ const request = await this.buildRequest(path);
245
+ /**
246
+ * This abort controller will abort pending fetch requests.
247
+ * If the request has resolved, it will be used to close the readable stream.
248
+ * Which will cancel the network request.
249
+ *
250
+ * This nested controller is required since:
251
+ * Aborting the active fetch request while it is being consumed seems to throw
252
+ * an unhandled exception on the window level.
253
+ */
254
+ const controller = new AbortController();
255
+ let requestResolved = false;
256
+ abortSignal?.addEventListener('abort', () => {
257
+ if (!requestResolved) {
258
+ // Only abort via the abort controller if the request has not resolved yet
259
+ controller.abort(abortSignal.reason ??
260
+ new AbortOperation('Cancelling network request before it resolves. Abort signal has been received.'));
261
+ }
262
+ });
263
+ const res = await this.fetch(request.url, {
264
+ method: 'POST',
265
+ headers: { ...headers, ...request.headers },
266
+ body: JSON.stringify(data),
267
+ signal: controller.signal,
268
+ cache: 'no-store',
269
+ ...options.fetchOptions
270
+ }).catch((ex) => {
271
+ if (ex.name == 'AbortError') {
272
+ throw new AbortOperation(`Pending fetch request to ${request.url} has been aborted.`);
273
+ }
274
+ throw ex;
275
+ });
276
+ if (!res) {
277
+ throw new Error('Fetch request was aborted');
278
+ }
279
+ requestResolved = true;
280
+ if (!res.ok || !res.body) {
281
+ const text = await res.text();
282
+ this.logger.error(`Could not POST streaming to ${path} - ${res.status} - ${res.statusText}: ${text}`);
283
+ const error = new Error(`HTTP ${res.statusText}: ${text}`);
284
+ error.status = res.status;
285
+ throw error;
286
+ }
287
+ /**
288
+ * The can-ndjson-stream does not handle aborted streams well.
289
+ * This will intercept the readable stream and close the stream if
290
+ * aborted.
291
+ */
292
+ const reader = res.body.getReader();
293
+ // This will close the network request and read stream
294
+ const closeReader = async () => {
295
+ try {
296
+ await reader.cancel();
297
+ }
298
+ catch (ex) {
299
+ // an error will throw if the reader hasn't been used yet
300
+ }
301
+ reader.releaseLock();
302
+ };
303
+ abortSignal?.addEventListener('abort', () => {
304
+ closeReader();
305
+ });
306
+ const outputStream = new ReadableStream({
307
+ start: (controller) => {
308
+ const processStream = async () => {
309
+ while (!abortSignal?.aborted) {
310
+ try {
311
+ const { done, value } = await reader.read();
312
+ // When no more data needs to be consumed, close the stream
313
+ if (done) {
314
+ break;
315
+ }
316
+ // Enqueue the next data chunk into our target stream
317
+ controller.enqueue(value);
318
+ }
319
+ catch (ex) {
320
+ this.logger.error('Caught exception when reading sync stream', ex);
321
+ break;
322
+ }
323
+ }
324
+ if (!abortSignal?.aborted) {
325
+ // Close the downstream readable stream
326
+ await closeReader();
327
+ }
328
+ controller.close();
329
+ };
330
+ processStream();
331
+ }
332
+ });
333
+ const jsonS = ndjsonStream(new Response(outputStream).body);
334
+ const stream = new DataStream({
335
+ logger: this.logger
336
+ });
337
+ const r = jsonS.getReader();
338
+ const l = stream.registerListener({
339
+ lowWater: async () => {
340
+ try {
341
+ const { done, value } = await r.read();
342
+ // Exit if we're done
343
+ if (done) {
344
+ stream.close();
345
+ l?.();
346
+ return;
347
+ }
348
+ stream.enqueueData(value);
349
+ }
350
+ catch (ex) {
351
+ stream.close();
352
+ throw ex;
353
+ }
354
+ },
355
+ closed: () => {
356
+ closeReader();
357
+ l?.();
358
+ }
359
+ });
360
+ return stream;
41
361
  }
42
362
  }
43
363
  //# sourceMappingURL=AbstractRemote.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractRemote.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/AbstractRemote.ts"],"names":[],"mappings":"AAAA,OAAO,MAAmB,MAAM,WAAW,CAAC;AAO5C,4CAA4C;AAC5C,MAAM,oCAAoC,GAAG,MAAM,CAAC;AAEpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAEnE,MAAM,OAAgB,cAAc;IAItB;IACA;IAJF,WAAW,GAAgC,IAAI,CAAC;IAE1D,YACY,SAA0B,EAC1B,SAAkB,qBAAqB;QADvC,cAAS,GAAT,SAAS,CAAiB;QAC1B,WAAM,GAAN,MAAM,CAAiC;IAChD,CAAC;IAEJ,KAAK,CAAC,cAAc;QAClB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAC7C,IAAI,SAAS,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,oCAAoC,CAAC,EAAE,CAAC;YACnG,OAAO,IAAI,CAAC,WAAY,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,IAAY;QACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,IAAI,WAAW,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,IAAI,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,WAAW,EAAE,KAAK,IAAI,IAAI,IAAI,WAAW,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAClE,MAAM,KAAK,GAAQ,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9C,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;YACnB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,EAAE,WAAW,CAAC,QAAQ,GAAG,IAAI;YAChC,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,SAAS,WAAW,CAAC,KAAK,EAAE;aAC5C;SACF,CAAC;IACJ,CAAC;IAMD,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"AbstractRemote.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/AbstractRemote.ts"],"names":[],"mappings":"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"}