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
|
@@ -2664,14 +2664,17 @@ const DISABLE_SERVICEWORKER_STRATEGY = (isSafari && safariVersion <= 605) || //
|
|
|
2664
2664
|
*/
|
|
2665
2665
|
function dbOnClosed(db, handler) {
|
|
2666
2666
|
db.on.close.subscribe(handler);
|
|
2667
|
-
|
|
2668
|
-
|
|
2667
|
+
// @ts-ignore
|
|
2668
|
+
const origClose = db._close;
|
|
2669
|
+
// @ts-ignore
|
|
2670
|
+
db._close = function () {
|
|
2669
2671
|
origClose.call(this);
|
|
2670
2672
|
handler();
|
|
2671
2673
|
};
|
|
2672
2674
|
return () => {
|
|
2673
2675
|
db.on.close.unsubscribe(handler);
|
|
2674
|
-
|
|
2676
|
+
// @ts-ignore
|
|
2677
|
+
db._close = origClose;
|
|
2675
2678
|
};
|
|
2676
2679
|
}
|
|
2677
2680
|
|
|
@@ -3580,13 +3583,17 @@ function connectWebSocket(db) {
|
|
|
3580
3583
|
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]));
|
|
3581
3584
|
}
|
|
3582
3585
|
return new BehaviorSubject([userLogin, syncState]);
|
|
3583
|
-
}), switchMap(([userLogin, syncState]) => __awaiter(this, void 0, void 0, function* () { return [userLogin, yield computeRealmSetHash(syncState)]; })), switchMap(([userLogin, realmSetHash]) =>
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3586
|
+
}), 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]) => {
|
|
3587
|
+
// Let server end query changes from last entry of same client-ID and forward.
|
|
3588
|
+
// If no new entries, server won't bother the client. If new entries, server sends only those
|
|
3589
|
+
// and the baseRev of the last from same client-ID.
|
|
3590
|
+
if (userLogin) {
|
|
3591
|
+
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);
|
|
3592
|
+
}
|
|
3593
|
+
else {
|
|
3594
|
+
return from([]);
|
|
3595
|
+
}
|
|
3596
|
+
}), catchError((error) => {
|
|
3590
3597
|
if ((error === null || error === void 0 ? void 0 : error.name) === 'TokenExpiredError') {
|
|
3591
3598
|
console.debug('WebSocket observable: Token expired. Refreshing token...');
|
|
3592
3599
|
return of(true).pipe(switchMap(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -3608,15 +3615,19 @@ function connectWebSocket(db) {
|
|
|
3608
3615
|
return from(waitAndReconnectWhenUserDoesSomething(error)).pipe(switchMap(() => createObservable()));
|
|
3609
3616
|
}));
|
|
3610
3617
|
}
|
|
3611
|
-
return createObservable().subscribe(
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3618
|
+
return createObservable().subscribe({
|
|
3619
|
+
next: (msg) => {
|
|
3620
|
+
if (msg) {
|
|
3621
|
+
console.debug('WS got message', msg);
|
|
3622
|
+
db.messageConsumer.enqueue(msg);
|
|
3623
|
+
}
|
|
3624
|
+
},
|
|
3625
|
+
error: (error) => {
|
|
3626
|
+
console.error('WS got error', error);
|
|
3627
|
+
},
|
|
3628
|
+
complete: () => {
|
|
3629
|
+
console.debug('WS observable completed');
|
|
3630
|
+
},
|
|
3620
3631
|
});
|
|
3621
3632
|
}
|
|
3622
3633
|
|