dexie-cloud-addon 4.3.7 → 4.3.9

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.
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * ==========================================================================
10
10
  *
11
- * Version 4.3.7, Wed Jan 28 2026
11
+ * Version 4.3.9, Thu Jan 29 2026
12
12
  *
13
13
  * https://dexie.org
14
14
  *
@@ -13793,7 +13793,7 @@
13793
13793
  *
13794
13794
  * ==========================================================================
13795
13795
  *
13796
- * Version 4.2.2, Wed Jan 28 2026
13796
+ * Version 4.2.2, Thu Jan 29 2026
13797
13797
  *
13798
13798
  * https://dexie.org
13799
13799
  *
@@ -17298,7 +17298,7 @@
17298
17298
  };
17299
17299
  }
17300
17300
 
17301
- const getCurrentUserEmitter = associate((db) => new rxjs.BehaviorSubject(UNAUTHORIZED_USER));
17301
+ const getCurrentUserEmitter = associate((db) => new rxjs.BehaviorSubject(Object.assign(Object.assign({}, UNAUTHORIZED_USER), { isLoading: true })));
17302
17302
 
17303
17303
  function computeSyncState(db) {
17304
17304
  let _prevStatus = db.cloud.webSocketStatus.value;
@@ -18104,7 +18104,7 @@
18104
18104
  const syncComplete = new rxjs.Subject();
18105
18105
  dexie.cloud = {
18106
18106
  // @ts-ignore
18107
- version: "4.3.7",
18107
+ version: "4.3.9",
18108
18108
  options: Object.assign({}, DEFAULT_OPTIONS),
18109
18109
  schema: null,
18110
18110
  get currentUserId() {
@@ -18145,8 +18145,6 @@
18145
18145
  try {
18146
18146
  const callback = parseOAuthCallback();
18147
18147
  if (callback) {
18148
- // Clean up URL immediately (remove dxc-auth param)
18149
- cleanupOAuthUrl();
18150
18148
  // Store the pending auth code for processing when db is ready
18151
18149
  pendingOAuthCode = { code: callback.code, provider: callback.provider };
18152
18150
  console.debug('[dexie-cloud] OAuth callback detected, auth code stored for processing');
@@ -18154,7 +18152,6 @@
18154
18152
  }
18155
18153
  catch (error) {
18156
18154
  // parseOAuthCallback throws OAuthError on error callbacks
18157
- cleanupOAuthUrl();
18158
18155
  if (error instanceof OAuthError) {
18159
18156
  pendingOAuthError = error;
18160
18157
  console.error('[dexie-cloud] OAuth callback error:', error.message);
@@ -18348,7 +18345,14 @@
18348
18345
  // Manage CurrentUser observable:
18349
18346
  throwIfClosed();
18350
18347
  if (!db.cloud.isServiceWorkerDB) {
18351
- subscriptions.push(Dexie.liveQuery(() => db.getCurrentUser()).subscribe(currentUserEmitter));
18348
+ subscriptions.push(Dexie.liveQuery(() => db.getCurrentUser().then(user => {
18349
+ if (!user.isLoggedIn && typeof location !== 'undefined' && /dxc-auth\=/.test(location.search)) {
18350
+ // Still loading user because OAuth redirect just happened.
18351
+ // Keep isLoading true.
18352
+ return Object.assign(Object.assign({}, user), { isLoading: true });
18353
+ }
18354
+ return user;
18355
+ })).subscribe(currentUserEmitter));
18352
18356
  // Manage PersistendSyncState observable:
18353
18357
  subscriptions.push(Dexie.liveQuery(() => db.getPersistedSyncState()).subscribe(db.cloud.persistedSyncState));
18354
18358
  // Wait till currentUser and persistedSyncState gets populated
@@ -18382,6 +18386,8 @@
18382
18386
  message: error.message,
18383
18387
  messageParams: { provider: error.provider || 'unknown' }
18384
18388
  });
18389
+ // Clean up URL (remove dxc-auth param)
18390
+ cleanupOAuthUrl();
18385
18391
  }
18386
18392
  catch (uiError) {
18387
18393
  console.error('[dexie-cloud] Failed to show OAuth error alert:', uiError);
@@ -18395,6 +18401,8 @@
18395
18401
  try {
18396
18402
  changedUser = yield login(db, { oauthCode: code, provider });
18397
18403
  user = yield db.getCurrentUser();
18404
+ // Clean up URL (remove dxc-auth param)
18405
+ cleanupOAuthUrl();
18398
18406
  }
18399
18407
  catch (error) {
18400
18408
  console.error('[dexie-cloud] OAuth login failed:', error);
@@ -18489,7 +18497,7 @@
18489
18497
  }
18490
18498
  }
18491
18499
  // @ts-ignore
18492
- dexieCloud.version = "4.3.7";
18500
+ dexieCloud.version = "4.3.9";
18493
18501
  Dexie.Cloud = dexieCloud;
18494
18502
 
18495
18503
  exports.default = dexieCloud;