dexie-cloud-addon 4.0.1-beta.44 → 4.0.1-beta.46
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/modern/dexie-cloud-addon.js +47 -26
- package/dist/modern/dexie-cloud-addon.js.map +1 -1
- package/dist/modern/dexie-cloud-addon.min.js +1 -1
- package/dist/modern/dexie-cloud-addon.min.js.map +1 -1
- package/dist/modern/service-worker.js +46 -25
- package/dist/modern/service-worker.js.map +1 -1
- package/dist/modern/service-worker.min.js +1 -1
- package/dist/modern/service-worker.min.js.map +1 -1
- package/dist/umd/dexie-cloud-addon.js +47 -26
- package/dist/umd/dexie-cloud-addon.js.map +1 -1
- package/dist/umd/dexie-cloud-addon.min.js +1 -1
- package/dist/umd/dexie-cloud-addon.min.js.map +1 -1
- package/dist/umd/service-worker.js +46 -25
- package/dist/umd/service-worker.js.map +1 -1
- package/dist/umd/service-worker.min.js +1 -1
- package/dist/umd/service-worker.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* ==========================================================================
|
|
10
10
|
*
|
|
11
|
-
* Version 4.0.1-beta.
|
|
11
|
+
* Version 4.0.1-beta.46, Sat Aug 05 2023
|
|
12
12
|
*
|
|
13
13
|
* https://dexie.org
|
|
14
14
|
*
|
|
@@ -3413,9 +3413,19 @@
|
|
|
3413
3413
|
const mutClone = changeClone.muts[mutIndex];
|
|
3414
3414
|
const rewrittenKey = JSON.stringify(key);
|
|
3415
3415
|
mutClone.keys[keyIndex] = rewrittenKey;
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3416
|
+
/* Bug (#1777)
|
|
3417
|
+
We should not rewrite values. It will fail because the key is array and the value is string.
|
|
3418
|
+
Only the keys should be rewritten and it's already done on the server.
|
|
3419
|
+
We should take another round of revieweing how key transformations are being done between
|
|
3420
|
+
client and server and let the server do the key transformations entirely instead now that
|
|
3421
|
+
we have the primary key schema on the server making it possible to do so.
|
|
3422
|
+
if (rewriteValues) {
|
|
3423
|
+
Dexie.setByKeyPath(
|
|
3424
|
+
(mutClone as DBInsertOperation).values[keyIndex],
|
|
3425
|
+
primaryKey.keyPath!,
|
|
3426
|
+
rewrittenKey
|
|
3427
|
+
);
|
|
3428
|
+
}*/
|
|
3419
3429
|
}
|
|
3420
3430
|
else if (key[0] === '#') {
|
|
3421
3431
|
// Private ID - translate!
|
|
@@ -3722,7 +3732,7 @@
|
|
|
3722
3732
|
});
|
|
3723
3733
|
db.syncStateChangedEvent.next({
|
|
3724
3734
|
phase: isOnline ? 'error' : 'offline',
|
|
3725
|
-
error,
|
|
3735
|
+
error: new Error('' + (error === null || error === void 0 ? void 0 : error.message) || error),
|
|
3726
3736
|
});
|
|
3727
3737
|
return Promise.reject(error);
|
|
3728
3738
|
}));
|
|
@@ -4309,14 +4319,17 @@
|
|
|
4309
4319
|
*/
|
|
4310
4320
|
function dbOnClosed(db, handler) {
|
|
4311
4321
|
db.on.close.subscribe(handler);
|
|
4312
|
-
|
|
4313
|
-
|
|
4322
|
+
// @ts-ignore
|
|
4323
|
+
const origClose = db._close;
|
|
4324
|
+
// @ts-ignore
|
|
4325
|
+
db._close = function () {
|
|
4314
4326
|
origClose.call(this);
|
|
4315
4327
|
handler();
|
|
4316
4328
|
};
|
|
4317
4329
|
return () => {
|
|
4318
4330
|
db.on.close.unsubscribe(handler);
|
|
4319
|
-
|
|
4331
|
+
// @ts-ignore
|
|
4332
|
+
db._close = origClose;
|
|
4320
4333
|
};
|
|
4321
4334
|
}
|
|
4322
4335
|
|
|
@@ -5225,13 +5238,17 @@
|
|
|
5225
5238
|
return db.cloud.persistedSyncState.pipe(filter((syncState) => (syncState === null || syncState === void 0 ? void 0 : syncState.realms.includes(userLogin.userId)) || false), take(1), map((syncState) => [userLogin, syncState]));
|
|
5226
5239
|
}
|
|
5227
5240
|
return new rxjs.BehaviorSubject([userLogin, syncState]);
|
|
5228
|
-
}), switchMap(([userLogin, syncState]) => __awaiter(this, void 0, void 0, function* () { return [userLogin, yield computeRealmSetHash(syncState)]; })), switchMap(([userLogin, realmSetHash]) =>
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5241
|
+
}), switchMap(([userLogin, syncState]) => __awaiter(this, void 0, void 0, function* () { return [userLogin, yield computeRealmSetHash(syncState)]; })), distinctUntilChanged(([prevUser, prevHash], [currUser, currHash]) => prevUser === currUser && prevHash === currHash), switchMap(([userLogin, realmSetHash]) => {
|
|
5242
|
+
// Let server end query changes from last entry of same client-ID and forward.
|
|
5243
|
+
// If no new entries, server won't bother the client. If new entries, server sends only those
|
|
5244
|
+
// and the baseRev of the last from same client-ID.
|
|
5245
|
+
if (userLogin) {
|
|
5246
|
+
return new WSObservable(db.cloud.options.databaseUrl, db.cloud.persistedSyncState.value.serverRevision, realmSetHash, db.cloud.persistedSyncState.value.clientIdentity, messageProducer, db.cloud.webSocketStatus, userLogin.accessToken, userLogin.accessTokenExpiration);
|
|
5247
|
+
}
|
|
5248
|
+
else {
|
|
5249
|
+
return rxjs.from([]);
|
|
5250
|
+
}
|
|
5251
|
+
}), catchError((error) => {
|
|
5235
5252
|
if ((error === null || error === void 0 ? void 0 : error.name) === 'TokenExpiredError') {
|
|
5236
5253
|
console.debug('WebSocket observable: Token expired. Refreshing token...');
|
|
5237
5254
|
return rxjs.of(true).pipe(switchMap(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -5253,15 +5270,19 @@
|
|
|
5253
5270
|
return rxjs.from(waitAndReconnectWhenUserDoesSomething(error)).pipe(switchMap(() => createObservable()));
|
|
5254
5271
|
}));
|
|
5255
5272
|
}
|
|
5256
|
-
return createObservable().subscribe(
|
|
5257
|
-
|
|
5258
|
-
|
|
5259
|
-
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5264
|
-
|
|
5273
|
+
return createObservable().subscribe({
|
|
5274
|
+
next: (msg) => {
|
|
5275
|
+
if (msg) {
|
|
5276
|
+
console.debug('WS got message', msg);
|
|
5277
|
+
db.messageConsumer.enqueue(msg);
|
|
5278
|
+
}
|
|
5279
|
+
},
|
|
5280
|
+
error: (error) => {
|
|
5281
|
+
console.error('WS got error', error);
|
|
5282
|
+
},
|
|
5283
|
+
complete: () => {
|
|
5284
|
+
console.debug('WS observable completed');
|
|
5285
|
+
},
|
|
5265
5286
|
});
|
|
5266
5287
|
}
|
|
5267
5288
|
|
|
@@ -6096,7 +6117,7 @@
|
|
|
6096
6117
|
});
|
|
6097
6118
|
const syncComplete = new rxjs.Subject();
|
|
6098
6119
|
dexie.cloud = {
|
|
6099
|
-
version: '4.0.1-beta.
|
|
6120
|
+
version: '4.0.1-beta.46',
|
|
6100
6121
|
options: Object.assign({}, DEFAULT_OPTIONS),
|
|
6101
6122
|
schema: null,
|
|
6102
6123
|
get currentUserId() {
|
|
@@ -6357,7 +6378,7 @@
|
|
|
6357
6378
|
});
|
|
6358
6379
|
}
|
|
6359
6380
|
}
|
|
6360
|
-
dexieCloud.version = '4.0.1-beta.
|
|
6381
|
+
dexieCloud.version = '4.0.1-beta.46';
|
|
6361
6382
|
Dexie__default["default"].Cloud = dexieCloud;
|
|
6362
6383
|
|
|
6363
6384
|
exports["default"] = dexieCloud;
|