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
  *
@@ -1828,8 +1828,12 @@ const b64encode = typeof Buffer !== "undefined"
1828
1828
  }
1829
1829
  }
1830
1830
  : hasArrayBufferToBase64
1831
- ? // @ts-ignore https://github.com/tc39/proposal-arraybuffer-base64
1832
- (b) => b.toBase64() // Modern Javascript standard
1831
+ ? (b) => {
1832
+ // Uint8Array.prototype.toBase64 is available in modern browsers
1833
+ const u8a = ArrayBuffer.isView(b) ? b : new Uint8Array(b);
1834
+ // @ts-ignore: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/toBase64
1835
+ return u8a.toBase64();
1836
+ }
1833
1837
  : (b) => {
1834
1838
  // Legacy DOM workaround
1835
1839
  const u8a = ArrayBuffer.isView(b) ? b : new Uint8Array(b);
@@ -4566,6 +4570,9 @@ function updateBaseRevs(db, schema, latestRevisions, serverRev) {
4566
4570
  serverRev,
4567
4571
  };
4568
4572
  }));
4573
+ // Clean up baseRevs for tables that do not exist anymore or are no longer marked for sync
4574
+ // Resolve #2168 by also cleaning up baseRevs for tables that are not marked for sync
4575
+ yield db.$baseRevs.where('tableName').noneOf(Object.keys(schema).filter((table) => schema[table].markedForSync)).delete();
4569
4576
  });
4570
4577
  }
4571
4578
 
@@ -5177,7 +5184,9 @@ function _sync(db_1, options_1, schema_1) {
5177
5184
  //
5178
5185
  const [clientChangeSet, syncState, baseRevs, { yMessages, lastUpdateIds }] = yield db.transaction('r', db.tables, () => __awaiter(this, void 0, void 0, function* () {
5179
5186
  const syncState = yield db.getPersistedSyncState();
5180
- const baseRevs = yield db.$baseRevs.toArray();
5187
+ let baseRevs = yield db.$baseRevs.toArray();
5188
+ // Resolve #2168
5189
+ baseRevs = baseRevs.filter(br => tablesToSync.some(tbl => tbl.name === br.tableName));
5181
5190
  let clientChanges = yield listClientChanges(mutationTables, db);
5182
5191
  const yResults = yield listYClientMessagesAndStateVector(db, tablesToSync);
5183
5192
  throwIfCancelled(cancelToken);
@@ -8275,7 +8284,7 @@ function dexieCloud(dexie) {
8275
8284
  const syncComplete = new Subject();
8276
8285
  dexie.cloud = {
8277
8286
  // @ts-ignore
8278
- version: "4.1.0-beta.47",
8287
+ version: "4.1.0-beta.49",
8279
8288
  options: Object.assign({}, DEFAULT_OPTIONS),
8280
8289
  schema: null,
8281
8290
  get currentUserId() {
@@ -8593,7 +8602,7 @@ function dexieCloud(dexie) {
8593
8602
  }
8594
8603
  }
8595
8604
  // @ts-ignore
8596
- dexieCloud.version = "4.1.0-beta.47";
8605
+ dexieCloud.version = "4.1.0-beta.49";
8597
8606
  Dexie.Cloud = dexieCloud;
8598
8607
 
8599
8608
  // In case the SW lives for a while, let it reuse already opened connections: