dexie-cloud-addon 4.4.4 → 4.4.5

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.
Files changed (157) hide show
  1. package/dist/modern/default-ui/AuthProviderButton.d.ts +21 -0
  2. package/dist/modern/default-ui/ProviderSelectionDialog.d.ts +7 -0
  3. package/dist/modern/default-ui/SelectDialog.d.ts +10 -0
  4. package/dist/modern/dexie-cloud-addon.js +18 -14
  5. package/dist/modern/dexie-cloud-addon.js.map +1 -1
  6. package/dist/modern/dexie-cloud-addon.min.js +1 -1
  7. package/dist/modern/dexie-cloud-addon.min.js.gz +0 -0
  8. package/dist/modern/dexie-cloud-addon.min.js.map +1 -1
  9. package/dist/modern/service-worker.js +18 -14
  10. package/dist/modern/service-worker.js.map +1 -1
  11. package/dist/modern/service-worker.min.js +1 -1
  12. package/dist/modern/service-worker.min.js.map +1 -1
  13. package/dist/umd/DISABLE_SERVICEWORKER_STRATEGY.d.ts +1 -0
  14. package/dist/umd/DXCWebSocketStatus.d.ts +1 -0
  15. package/dist/umd/DexieCloudAPI.d.ts +75 -0
  16. package/dist/umd/DexieCloudOptions.d.ts +27 -0
  17. package/dist/umd/DexieCloudSyncOptions.d.ts +4 -0
  18. package/dist/umd/DexieCloudTable.d.ts +18 -0
  19. package/dist/umd/InvalidLicenseError.d.ts +5 -0
  20. package/dist/umd/Invite.d.ts +8 -0
  21. package/dist/umd/PermissionChecker.d.ts +15 -0
  22. package/dist/umd/TSON.d.ts +17 -0
  23. package/dist/umd/WSObservable.d.ts +72 -0
  24. package/dist/umd/associate.d.ts +1 -0
  25. package/dist/umd/authentication/AuthPersistedContext.d.ts +9 -0
  26. package/dist/umd/authentication/TokenErrorResponseError.d.ts +10 -0
  27. package/dist/umd/authentication/TokenExpiredError.d.ts +3 -0
  28. package/dist/umd/authentication/UNAUTHORIZED_USER.d.ts +2 -0
  29. package/dist/umd/authentication/authenticate.d.ts +13 -0
  30. package/dist/umd/authentication/currentUserObservable.d.ts +1 -0
  31. package/dist/umd/authentication/interactWithUser.d.ts +21 -0
  32. package/dist/umd/authentication/login.d.ts +3 -0
  33. package/dist/umd/authentication/logout.d.ts +5 -0
  34. package/dist/umd/authentication/otpFetchTokenCallback.d.ts +3 -0
  35. package/dist/umd/authentication/setCurrentUser.d.ts +14 -0
  36. package/dist/umd/authentication/waitUntil.d.ts +3 -0
  37. package/dist/umd/computeSyncState.d.ts +4 -0
  38. package/dist/umd/createSharedValueObservable.d.ts +3 -0
  39. package/dist/umd/currentUserEmitter.d.ts +3 -0
  40. package/dist/umd/db/DexieCloudDB.d.ts +61 -0
  41. package/dist/umd/db/entities/BaseRevisionMapEntry.d.ts +5 -0
  42. package/dist/umd/db/entities/EntityCommon.d.ts +5 -0
  43. package/dist/umd/db/entities/GuardedJob.d.ts +5 -0
  44. package/dist/umd/db/entities/Member.d.ts +19 -0
  45. package/dist/umd/db/entities/PersistedSyncState.d.ts +22 -0
  46. package/dist/umd/db/entities/Realm.d.ts +14 -0
  47. package/dist/umd/db/entities/Role.d.ts +11 -0
  48. package/dist/umd/db/entities/UserLogin.d.ts +23 -0
  49. package/dist/umd/default-ui/Dialog.d.ts +5 -0
  50. package/dist/umd/default-ui/LoginDialog.d.ts +3 -0
  51. package/dist/umd/default-ui/Styles.d.ts +3 -0
  52. package/dist/umd/default-ui/index.d.ts +24 -0
  53. package/dist/umd/define-ydoc-trigger.d.ts +3 -0
  54. package/dist/umd/dexie-cloud-addon.d.ts +3 -0
  55. package/dist/umd/dexie-cloud-addon.js +18 -14
  56. package/dist/umd/dexie-cloud-addon.js.gz +0 -0
  57. package/dist/umd/dexie-cloud-addon.js.map +1 -1
  58. package/dist/umd/dexie-cloud-addon.min.js +1 -1
  59. package/dist/umd/dexie-cloud-addon.min.js.gz +0 -0
  60. package/dist/umd/dexie-cloud-addon.min.js.map +1 -1
  61. package/dist/umd/dexie-cloud-client.d.ts +23 -0
  62. package/dist/umd/errors/HttpError.d.ts +5 -0
  63. package/dist/umd/extend-dexie-interface.d.ts +23 -0
  64. package/dist/umd/getGlobalRolesObservable.d.ts +5 -0
  65. package/dist/umd/getInternalAccessControlObservable.d.ts +12 -0
  66. package/dist/umd/getInvitesObservable.d.ts +23 -0
  67. package/dist/umd/getPermissionsLookupObservable.d.ts +16 -0
  68. package/dist/umd/getTiedRealmId.d.ts +2 -0
  69. package/dist/umd/helpers/BroadcastedAndLocalEvent.d.ts +8 -0
  70. package/dist/umd/helpers/CancelToken.d.ts +4 -0
  71. package/dist/umd/helpers/IS_SERVICE_WORKER.d.ts +1 -0
  72. package/dist/umd/helpers/SWBroadcastChannel.d.ts +12 -0
  73. package/dist/umd/helpers/allSettled.d.ts +1 -0
  74. package/dist/umd/helpers/bulkUpdate.d.ts +4 -0
  75. package/dist/umd/helpers/computeRealmSetHash.d.ts +2 -0
  76. package/dist/umd/helpers/date-constants.d.ts +5 -0
  77. package/dist/umd/helpers/flatten.d.ts +1 -0
  78. package/dist/umd/helpers/getMutationTable.d.ts +1 -0
  79. package/dist/umd/helpers/getSyncableTables.d.ts +4 -0
  80. package/dist/umd/helpers/getTableFromMutationTable.d.ts +1 -0
  81. package/dist/umd/helpers/makeArray.d.ts +1 -0
  82. package/dist/umd/helpers/randomString.d.ts +1 -0
  83. package/dist/umd/helpers/resolveText.d.ts +16 -0
  84. package/dist/umd/helpers/throwVersionIncrementNeeded.d.ts +1 -0
  85. package/dist/umd/helpers/visibilityState.d.ts +1 -0
  86. package/dist/umd/isEagerSyncDisabled.d.ts +2 -0
  87. package/dist/umd/isFirefox.d.ts +1 -0
  88. package/dist/umd/isSafari.d.ts +2 -0
  89. package/dist/umd/mapValueObservable.d.ts +5 -0
  90. package/dist/umd/mergePermissions.d.ts +2 -0
  91. package/dist/umd/middleware-helpers/guardedTable.d.ts +11 -0
  92. package/dist/umd/middleware-helpers/idGenerationHelpers.d.ts +18 -0
  93. package/dist/umd/middlewares/createIdGenerationMiddleware.d.ts +3 -0
  94. package/dist/umd/middlewares/createImplicitPropSetterMiddleware.d.ts +3 -0
  95. package/dist/umd/middlewares/createMutationTrackingMiddleware.d.ts +17 -0
  96. package/dist/umd/middlewares/outstandingTransaction.d.ts +4 -0
  97. package/dist/umd/overrideParseStoresSpec.d.ts +4 -0
  98. package/dist/umd/performInitialSync.d.ts +4 -0
  99. package/dist/umd/permissions.d.ts +9 -0
  100. package/dist/umd/prodLog.d.ts +9 -0
  101. package/dist/umd/service-worker.d.ts +1 -0
  102. package/dist/umd/service-worker.js +18 -14
  103. package/dist/umd/service-worker.js.map +1 -1
  104. package/dist/umd/service-worker.min.js +1 -1
  105. package/dist/umd/service-worker.min.js.map +1 -1
  106. package/dist/umd/sync/DEXIE_CLOUD_SYNCER_ID.d.ts +1 -0
  107. package/dist/umd/sync/LocalSyncWorker.d.ts +7 -0
  108. package/dist/umd/sync/SyncRequiredError.d.ts +3 -0
  109. package/dist/umd/sync/applyServerChanges.d.ts +3 -0
  110. package/dist/umd/sync/connectWebSocket.d.ts +2 -0
  111. package/dist/umd/sync/encodeIdsForServer.d.ts +4 -0
  112. package/dist/umd/sync/extractRealm.d.ts +2 -0
  113. package/dist/umd/sync/getLatestRevisionsPerTable.d.ts +6 -0
  114. package/dist/umd/sync/getTablesToSyncify.d.ts +3 -0
  115. package/dist/umd/sync/isOnline.d.ts +1 -0
  116. package/dist/umd/sync/isSyncNeeded.d.ts +2 -0
  117. package/dist/umd/sync/listClientChanges.d.ts +9 -0
  118. package/dist/umd/sync/listSyncifiedChanges.d.ts +5 -0
  119. package/dist/umd/sync/messageConsumerIsReady.d.ts +2 -0
  120. package/dist/umd/sync/messagesFromServerQueue.d.ts +8 -0
  121. package/dist/umd/sync/modifyLocalObjectsWithNewUserId.d.ts +4 -0
  122. package/dist/umd/sync/myId.d.ts +1 -0
  123. package/dist/umd/sync/numUnsyncedMutations.d.ts +2 -0
  124. package/dist/umd/sync/old_startSyncingClientChanges.d.ts +39 -0
  125. package/dist/umd/sync/performGuardedJob.d.ts +2 -0
  126. package/dist/umd/sync/ratelimit.d.ts +3 -0
  127. package/dist/umd/sync/registerSyncEvent.d.ts +3 -0
  128. package/dist/umd/sync/sync.d.ts +15 -0
  129. package/dist/umd/sync/syncIfPossible.d.ts +5 -0
  130. package/dist/umd/sync/syncWithServer.d.ts +6 -0
  131. package/dist/umd/sync/triggerSync.d.ts +2 -0
  132. package/dist/umd/sync/updateBaseRevs.d.ts +5 -0
  133. package/dist/umd/types/DXCAlert.d.ts +25 -0
  134. package/dist/umd/types/DXCInputField.d.ts +11 -0
  135. package/dist/umd/types/DXCUserInteraction.d.ts +93 -0
  136. package/dist/umd/types/NewIdOptions.d.ts +3 -0
  137. package/dist/umd/types/SWMessageEvent.d.ts +3 -0
  138. package/dist/umd/types/SWSyncEvent.d.ts +4 -0
  139. package/dist/umd/types/SyncState.d.ts +9 -0
  140. package/dist/umd/types/TXExpandos.d.ts +11 -0
  141. package/dist/umd/updateSchemaFromOptions.d.ts +3 -0
  142. package/dist/umd/userIsActive.d.ts +7 -0
  143. package/dist/umd/verifyConfig.d.ts +2 -0
  144. package/dist/umd/verifySchema.d.ts +2 -0
  145. package/dist/umd/yjs/YDexieCloudSyncState.d.ts +3 -0
  146. package/dist/umd/yjs/YTable.d.ts +3 -0
  147. package/dist/umd/yjs/applyYMessages.d.ts +9 -0
  148. package/dist/umd/yjs/awareness.d.ts +3 -0
  149. package/dist/umd/yjs/createYClientUpdateObservable.d.ts +4 -0
  150. package/dist/umd/yjs/createYHandler.d.ts +2 -0
  151. package/dist/umd/yjs/downloadYDocsFromServer.d.ts +3 -0
  152. package/dist/umd/yjs/getUpdatesTable.d.ts +3 -0
  153. package/dist/umd/yjs/listUpdatesSince.d.ts +3 -0
  154. package/dist/umd/yjs/listYClientMessagesAndStateVector.d.ts +26 -0
  155. package/dist/umd/yjs/reopenDocSignal.d.ts +10 -0
  156. package/dist/umd/yjs/updateYSyncStates.d.ts +6 -0
  157. package/package.json +3 -3
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * ==========================================================================
10
10
  *
11
- * Version 4.4.4, Wed Mar 25 2026
11
+ * Version 4.4.5, Wed Mar 25 2026
12
12
  *
13
13
  * https://dexie.org
14
14
  *
@@ -18003,14 +18003,13 @@
18003
18003
  throw new Error(`No database URL to connect WebSocket to`);
18004
18004
  }
18005
18005
  const readyForChangesMessage = db.messageConsumer.readyToServe.pipe(operators.filter((isReady) => isReady), // When consumer is ready for new messages, produce such a message to inform server about it
18006
- operators.switchMap(() => db.getPersistedSyncState()), // We need the info on which server revision we are at:
18007
- operators.filter((syncState) => syncState && syncState.serverRevision), // We wont send anything to server before inital sync has taken place
18006
+ operators.switchMap(() => db.cloud.persistedSyncState.pipe(operators.filter((syncState) => !!(syncState && syncState.serverRevision)), operators.take(1))), // Wait reactively for syncState with serverRevision (avoids race with logout/re-sync)
18008
18007
  operators.switchMap((syncState) => __awaiter(this, void 0, void 0, function* () {
18009
18008
  return ({
18010
18009
  // Produce the message to trigger server to send us new messages to consume:
18011
18010
  type: 'ready',
18012
18011
  rev: syncState.serverRevision,
18013
- realmSetHash: yield computeRealmSetHash(syncState)
18012
+ realmSetHash: yield computeRealmSetHash(syncState),
18014
18013
  });
18015
18014
  })));
18016
18015
  const messageProducer = rxjs.merge(readyForChangesMessage, db.messageProducer);
@@ -18023,7 +18022,8 @@
18023
18022
  }*/
18024
18023
  return userIsReallyActive.pipe(operators.map((isActive) => [isActive ? userLogin : null, syncState]));
18025
18024
  }), operators.switchMap(([userLogin, syncState]) => {
18026
- if ((userLogin === null || userLogin === void 0 ? void 0 : userLogin.isLoggedIn) && !(syncState === null || syncState === void 0 ? void 0 : syncState.realms.includes(userLogin.userId))) {
18025
+ if ((userLogin === null || userLogin === void 0 ? void 0 : userLogin.isLoggedIn) &&
18026
+ !(syncState === null || syncState === void 0 ? void 0 : syncState.realms.includes(userLogin.userId))) {
18027
18027
  // We're in an in-between state when user is logged in but the user's realms are not yet synced.
18028
18028
  // Don't make this change reconnect the websocket just yet. Wait till syncState is updated
18029
18029
  // to iclude the user's realm.
@@ -18058,7 +18058,7 @@
18058
18058
  accessTokenExpiration: refreshedLogin.accessTokenExpiration,
18059
18059
  claims: refreshedLogin.claims,
18060
18060
  license: refreshedLogin.license,
18061
- data: refreshedLogin.data
18061
+ data: refreshedLogin.data,
18062
18062
  });
18063
18063
  })), operators.switchMap(() => createObservable()));
18064
18064
  }
@@ -18066,7 +18066,7 @@
18066
18066
  return rxjs.throwError(() => error);
18067
18067
  }
18068
18068
  }), operators.catchError((error) => {
18069
- db.cloud.webSocketStatus.next("error");
18069
+ db.cloud.webSocketStatus.next('error');
18070
18070
  if (error instanceof InvalidLicenseError) {
18071
18071
  // Don't retry. Just throw and don't try connect again.
18072
18072
  return rxjs.throwError(() => error);
@@ -18178,27 +18178,30 @@
18178
18178
  // break free from possible active transaction:
18179
18179
  setTimeout(() => {
18180
18180
  const purpose = pullSignalled ? 'pull' : 'push';
18181
+ pullSignalled = false;
18182
+ pushSignalled = false;
18181
18183
  syncStartTime = Date.now();
18182
18184
  syncIfPossible(db, cloudOptions, cloudSchema, {
18183
18185
  cancelToken,
18184
18186
  retryImmediatelyOnFetchError: true, // workaround for "net::ERR_NETWORK_CHANGED" in chrome.
18185
18187
  purpose,
18186
- }).then(() => {
18188
+ })
18189
+ .then(() => {
18187
18190
  if (cancelToken.cancelled) {
18188
18191
  stop();
18189
18192
  }
18190
18193
  else {
18191
18194
  if (pullSignalled || pushSignalled) {
18192
18195
  // If we have signalled for more sync, do it now.
18193
- pullSignalled = false;
18194
- pushSignalled = false;
18196
+ // Note: don't reset flags here - syncAndRetry reads them in setTimeout
18195
18197
  return syncAndRetry();
18196
18198
  }
18197
18199
  }
18198
18200
  ongoingSync = false;
18199
18201
  nextRetryTime = 0;
18200
18202
  syncStartTime = 0;
18201
- }).catch((error) => {
18203
+ })
18204
+ .catch((error) => {
18202
18205
  console.error('error in syncIfPossible()', error);
18203
18206
  if (cancelToken.cancelled) {
18204
18207
  stop();
@@ -18241,7 +18244,8 @@
18241
18244
  if (nextRetryTime) {
18242
18245
  console.debug(`Sync is paused until ${new Date(nextRetryTime).toISOString()} due to error in last sync attempt`);
18243
18246
  }
18244
- else if (syncStartTime > 0 && Date.now() - syncStartTime > 20 * SECONDS) {
18247
+ else if (syncStartTime > 0 &&
18248
+ Date.now() - syncStartTime > 20 * SECONDS) {
18245
18249
  console.debug(`An existing sync operation is taking more than 20 seconds. Will resync when done.`);
18246
18250
  }
18247
18251
  return;
@@ -19603,7 +19607,7 @@
19603
19607
  const downloading$ = createDownloadingState();
19604
19608
  dexie.cloud = {
19605
19609
  // @ts-ignore
19606
- version: "4.4.4",
19610
+ version: "4.4.5",
19607
19611
  options: Object.assign({}, DEFAULT_OPTIONS),
19608
19612
  schema: null,
19609
19613
  get currentUserId() {
@@ -20030,7 +20034,7 @@
20030
20034
  }
20031
20035
  }
20032
20036
  // @ts-ignore
20033
- dexieCloud.version = "4.4.4";
20037
+ dexieCloud.version = "4.4.5";
20034
20038
  Dexie.Cloud = dexieCloud;
20035
20039
 
20036
20040
  exports.default = dexieCloud;
Binary file