dexie-cloud-addon 4.4.9 → 4.4.11

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.4.9, Tue Mar 31 2026
11
+ * Version 4.4.11, Sun Apr 19 2026
12
12
  *
13
13
  * https://dexie.org
14
14
  *
@@ -13623,7 +13623,7 @@
13623
13623
  *
13624
13624
  * ==========================================================================
13625
13625
  *
13626
- * Version 4.4.0, Tue Mar 31 2026
13626
+ * Version 4.4.0, Sun Apr 19 2026
13627
13627
  *
13628
13628
  * https://dexie.org
13629
13629
  *
@@ -17172,8 +17172,20 @@
17172
17172
  * each onNext callback, ensuring cursor.value is always available.
17173
17173
  */
17174
17174
  function createBlobResolvingCursor(cursor, table, blobSavingQueue, db) {
17175
- // Create wrapped cursor using Object.create() - inherits everything
17175
+ // Create wrapped cursor using Object.create() - inherits everything.
17176
+ // Important: .key and .primaryKey must be explicitly overridden with
17177
+ // closure-based getters to prevent native IDBCursorWithValue getters from
17178
+ // being reached through the prototype chain with a wrong `this`, which
17179
+ // throws "Illegal invocation" in Chrome 146+.
17176
17180
  const wrappedCursor = Object.create(cursor, {
17181
+ key: {
17182
+ get() { return cursor.key; },
17183
+ configurable: true,
17184
+ },
17185
+ primaryKey: {
17186
+ get() { return cursor.primaryKey; },
17187
+ configurable: true,
17188
+ },
17177
17189
  value: {
17178
17190
  value: cursor.value,
17179
17191
  enumerable: true,
@@ -18101,8 +18113,7 @@
18101
18113
  throw new Error(`No database URL to connect WebSocket to`);
18102
18114
  }
18103
18115
  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
18104
- 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)
18105
- operators.switchMap((syncState) => __awaiter(this, void 0, void 0, function* () {
18116
+ operators.switchMap(() => db.getPersistedSyncState()), operators.filter((syncState) => !!(syncState && syncState.serverRevision)), operators.switchMap((syncState) => __awaiter(this, void 0, void 0, function* () {
18106
18117
  return ({
18107
18118
  // Produce the message to trigger server to send us new messages to consume:
18108
18119
  type: 'ready',
@@ -19559,7 +19570,7 @@
19559
19570
  const downloading$ = createDownloadingState();
19560
19571
  dexie.cloud = {
19561
19572
  // @ts-ignore
19562
- version: "4.4.9",
19573
+ version: "4.4.11",
19563
19574
  options: Object.assign({}, DEFAULT_OPTIONS),
19564
19575
  schema: null,
19565
19576
  get currentUserId() {
@@ -20004,7 +20015,7 @@
20004
20015
  }
20005
20016
  }
20006
20017
  // @ts-ignore
20007
- dexieCloud.version = "4.4.9";
20018
+ dexieCloud.version = "4.4.11";
20008
20019
  Dexie.Cloud = dexieCloud;
20009
20020
 
20010
20021
  // In case the SW lives for a while, let it reuse already opened connections: