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
|
@@ -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
|
|
|
@@ -4398,7 +4409,7 @@
|
|
|
4398
4409
|
const emailMembersById = membersByEmail.reduce(reducer, {});
|
|
4399
4410
|
const membersById = accessControl.selfMembers.reduce(reducer, emailMembersById);
|
|
4400
4411
|
return Object.values(membersById)
|
|
4401
|
-
.filter((invite) => !invite.accepted
|
|
4412
|
+
.filter((invite) => !invite.accepted)
|
|
4402
4413
|
.map((invite) => (Object.assign(Object.assign({}, invite), { accept() {
|
|
4403
4414
|
return __awaiter(this, void 0, void 0, function* () {
|
|
4404
4415
|
yield db.members.update(invite.id, { accepted: new Date() });
|
|
@@ -4450,7 +4461,7 @@
|
|
|
4450
4461
|
});
|
|
4451
4462
|
const syncComplete = new rxjs.Subject();
|
|
4452
4463
|
dexie.cloud = {
|
|
4453
|
-
version: '4.0.1-beta.
|
|
4464
|
+
version: '4.0.1-beta.44',
|
|
4454
4465
|
options: Object.assign({}, DEFAULT_OPTIONS),
|
|
4455
4466
|
schema: null,
|
|
4456
4467
|
get currentUserId() {
|
|
@@ -4711,7 +4722,7 @@
|
|
|
4711
4722
|
});
|
|
4712
4723
|
}
|
|
4713
4724
|
}
|
|
4714
|
-
dexieCloud.version = '4.0.1-beta.
|
|
4725
|
+
dexieCloud.version = '4.0.1-beta.44';
|
|
4715
4726
|
Dexie__default["default"].Cloud = dexieCloud;
|
|
4716
4727
|
|
|
4717
4728
|
// In case the SW lives for a while, let it reuse already opened connections:
|