dexie-cloud-addon 4.1.0-beta.47 → 4.1.0-beta.49

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.1.0-beta.47, Mon May 12 2025
11
+ * Version 4.1.0-beta.49, Wed Jun 11 2025
12
12
  *
13
13
  * https://dexie.org
14
14
  *
@@ -1831,8 +1831,12 @@
1831
1831
  }
1832
1832
  }
1833
1833
  : hasArrayBufferToBase64
1834
- ? // @ts-ignore https://github.com/tc39/proposal-arraybuffer-base64
1835
- (b) => b.toBase64() // Modern Javascript standard
1834
+ ? (b) => {
1835
+ // Uint8Array.prototype.toBase64 is available in modern browsers
1836
+ const u8a = ArrayBuffer.isView(b) ? b : new Uint8Array(b);
1837
+ // @ts-ignore: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/toBase64
1838
+ return u8a.toBase64();
1839
+ }
1836
1840
  : (b) => {
1837
1841
  // Legacy DOM workaround
1838
1842
  const u8a = ArrayBuffer.isView(b) ? b : new Uint8Array(b);
@@ -4569,6 +4573,9 @@
4569
4573
  serverRev,
4570
4574
  };
4571
4575
  }));
4576
+ // Clean up baseRevs for tables that do not exist anymore or are no longer marked for sync
4577
+ // Resolve #2168 by also cleaning up baseRevs for tables that are not marked for sync
4578
+ yield db.$baseRevs.where('tableName').noneOf(Object.keys(schema).filter((table) => schema[table].markedForSync)).delete();
4572
4579
  });
4573
4580
  }
4574
4581
 
@@ -5180,7 +5187,9 @@
5180
5187
  //
5181
5188
  const [clientChangeSet, syncState, baseRevs, { yMessages, lastUpdateIds }] = yield db.transaction('r', db.tables, () => __awaiter(this, void 0, void 0, function* () {
5182
5189
  const syncState = yield db.getPersistedSyncState();
5183
- const baseRevs = yield db.$baseRevs.toArray();
5190
+ let baseRevs = yield db.$baseRevs.toArray();
5191
+ // Resolve #2168
5192
+ baseRevs = baseRevs.filter(br => tablesToSync.some(tbl => tbl.name === br.tableName));
5184
5193
  let clientChanges = yield listClientChanges(mutationTables, db);
5185
5194
  const yResults = yield listYClientMessagesAndStateVector(db, tablesToSync);
5186
5195
  throwIfCancelled(cancelToken);
@@ -8278,7 +8287,7 @@
8278
8287
  const syncComplete = new rxjs.Subject();
8279
8288
  dexie.cloud = {
8280
8289
  // @ts-ignore
8281
- version: "4.1.0-beta.47",
8290
+ version: "4.1.0-beta.49",
8282
8291
  options: Object.assign({}, DEFAULT_OPTIONS),
8283
8292
  schema: null,
8284
8293
  get currentUserId() {
@@ -8596,7 +8605,7 @@
8596
8605
  }
8597
8606
  }
8598
8607
  // @ts-ignore
8599
- dexieCloud.version = "4.1.0-beta.47";
8608
+ dexieCloud.version = "4.1.0-beta.49";
8600
8609
  Dexie.Cloud = dexieCloud;
8601
8610
 
8602
8611
  // In case the SW lives for a while, let it reuse already opened connections: