dexie-cloud-addon 4.0.1-beta.43 → 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 +34 -23
- 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 +33 -22
- 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/types/getInvitesObservable.d.ts +22 -2
- package/dist/umd/dexie-cloud-addon.js +34 -23
- 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 +33 -22
- 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
|
|
|
@@ -4392,7 +4403,7 @@ const getInvitesObservable = associate((db) => {
|
|
|
4392
4403
|
const emailMembersById = membersByEmail.reduce(reducer, {});
|
|
4393
4404
|
const membersById = accessControl.selfMembers.reduce(reducer, emailMembersById);
|
|
4394
4405
|
return Object.values(membersById)
|
|
4395
|
-
.filter((invite) => !invite.accepted
|
|
4406
|
+
.filter((invite) => !invite.accepted)
|
|
4396
4407
|
.map((invite) => (Object.assign(Object.assign({}, invite), { accept() {
|
|
4397
4408
|
return __awaiter(this, void 0, void 0, function* () {
|
|
4398
4409
|
yield db.members.update(invite.id, { accepted: new Date() });
|
|
@@ -4444,7 +4455,7 @@ function dexieCloud(dexie) {
|
|
|
4444
4455
|
});
|
|
4445
4456
|
const syncComplete = new Subject();
|
|
4446
4457
|
dexie.cloud = {
|
|
4447
|
-
version: '4.0.1-beta.
|
|
4458
|
+
version: '4.0.1-beta.44',
|
|
4448
4459
|
options: Object.assign({}, DEFAULT_OPTIONS),
|
|
4449
4460
|
schema: null,
|
|
4450
4461
|
get currentUserId() {
|
|
@@ -4705,7 +4716,7 @@ function dexieCloud(dexie) {
|
|
|
4705
4716
|
});
|
|
4706
4717
|
}
|
|
4707
4718
|
}
|
|
4708
|
-
dexieCloud.version = '4.0.1-beta.
|
|
4719
|
+
dexieCloud.version = '4.0.1-beta.44';
|
|
4709
4720
|
Dexie.Cloud = dexieCloud;
|
|
4710
4721
|
|
|
4711
4722
|
// In case the SW lives for a while, let it reuse already opened connections:
|