dexie-cloud-addon 4.0.1-beta.44 → 4.0.1-beta.45
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 +31 -20
- 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 +30 -19
- 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 +31 -20
- 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 +30 -19
- 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
|
@@ -2670,14 +2670,17 @@
|
|
|
2670
2670
|
*/
|
|
2671
2671
|
function dbOnClosed(db, handler) {
|
|
2672
2672
|
db.on.close.subscribe(handler);
|
|
2673
|
-
|
|
2674
|
-
|
|
2673
|
+
// @ts-ignore
|
|
2674
|
+
const origClose = db._close;
|
|
2675
|
+
// @ts-ignore
|
|
2676
|
+
db._close = function () {
|
|
2675
2677
|
origClose.call(this);
|
|
2676
2678
|
handler();
|
|
2677
2679
|
};
|
|
2678
2680
|
return () => {
|
|
2679
2681
|
db.on.close.unsubscribe(handler);
|
|
2680
|
-
|
|
2682
|
+
// @ts-ignore
|
|
2683
|
+
db._close = origClose;
|
|
2681
2684
|
};
|
|
2682
2685
|
}
|
|
2683
2686
|
|
|
@@ -3586,13 +3589,17 @@
|
|
|
3586
3589
|
return db.cloud.persistedSyncState.pipe(operators.filter((syncState) => (syncState === null || syncState === void 0 ? void 0 : syncState.realms.includes(userLogin.userId)) || false), operators.take(1), operators.map((syncState) => [userLogin, syncState]));
|
|
3587
3590
|
}
|
|
3588
3591
|
return new rxjs.BehaviorSubject([userLogin, syncState]);
|
|
3589
|
-
}), operators.switchMap(([userLogin, syncState]) => __awaiter(this, void 0, void 0, function* () { return [userLogin, yield computeRealmSetHash(syncState)]; })), operators.switchMap(([userLogin, realmSetHash]) =>
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3592
|
+
}), operators.switchMap(([userLogin, syncState]) => __awaiter(this, void 0, void 0, function* () { return [userLogin, yield computeRealmSetHash(syncState)]; })), operators.distinctUntilChanged(([prevUser, prevHash], [currUser, currHash]) => prevUser === currUser && prevHash === currHash), operators.switchMap(([userLogin, realmSetHash]) => {
|
|
3593
|
+
// Let server end query changes from last entry of same client-ID and forward.
|
|
3594
|
+
// If no new entries, server won't bother the client. If new entries, server sends only those
|
|
3595
|
+
// and the baseRev of the last from same client-ID.
|
|
3596
|
+
if (userLogin) {
|
|
3597
|
+
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);
|
|
3598
|
+
}
|
|
3599
|
+
else {
|
|
3600
|
+
return rxjs.from([]);
|
|
3601
|
+
}
|
|
3602
|
+
}), operators.catchError((error) => {
|
|
3596
3603
|
if ((error === null || error === void 0 ? void 0 : error.name) === 'TokenExpiredError') {
|
|
3597
3604
|
console.debug('WebSocket observable: Token expired. Refreshing token...');
|
|
3598
3605
|
return rxjs.of(true).pipe(operators.switchMap(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -3614,15 +3621,19 @@
|
|
|
3614
3621
|
return rxjs.from(waitAndReconnectWhenUserDoesSomething(error)).pipe(operators.switchMap(() => createObservable()));
|
|
3615
3622
|
}));
|
|
3616
3623
|
}
|
|
3617
|
-
return createObservable().subscribe(
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3624
|
+
return createObservable().subscribe({
|
|
3625
|
+
next: (msg) => {
|
|
3626
|
+
if (msg) {
|
|
3627
|
+
console.debug('WS got message', msg);
|
|
3628
|
+
db.messageConsumer.enqueue(msg);
|
|
3629
|
+
}
|
|
3630
|
+
},
|
|
3631
|
+
error: (error) => {
|
|
3632
|
+
console.error('WS got error', error);
|
|
3633
|
+
},
|
|
3634
|
+
complete: () => {
|
|
3635
|
+
console.debug('WS observable completed');
|
|
3636
|
+
},
|
|
3626
3637
|
});
|
|
3627
3638
|
}
|
|
3628
3639
|
|