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
  *
@@ -3065,8 +3065,12 @@ const b64encode = typeof Buffer !== "undefined"
3065
3065
  }
3066
3066
  }
3067
3067
  : hasArrayBufferToBase64
3068
- ? // @ts-ignore https://github.com/tc39/proposal-arraybuffer-base64
3069
- (b) => b.toBase64() // Modern Javascript standard
3068
+ ? (b) => {
3069
+ // Uint8Array.prototype.toBase64 is available in modern browsers
3070
+ const u8a = ArrayBuffer.isView(b) ? b : new Uint8Array(b);
3071
+ // @ts-ignore: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/toBase64
3072
+ return u8a.toBase64();
3073
+ }
3070
3074
  : (b) => {
3071
3075
  // Legacy DOM workaround
3072
3076
  const u8a = ArrayBuffer.isView(b) ? b : new Uint8Array(b);
@@ -4870,6 +4874,9 @@ function updateBaseRevs(db, schema, latestRevisions, serverRev) {
4870
4874
  serverRev,
4871
4875
  };
4872
4876
  }));
4877
+ // Clean up baseRevs for tables that do not exist anymore or are no longer marked for sync
4878
+ // Resolve #2168 by also cleaning up baseRevs for tables that are not marked for sync
4879
+ yield db.$baseRevs.where('tableName').noneOf(Object.keys(schema).filter((table) => schema[table].markedForSync)).delete();
4873
4880
  });
4874
4881
  }
4875
4882
 
@@ -5481,7 +5488,9 @@ function _sync(db_1, options_1, schema_1) {
5481
5488
  //
5482
5489
  const [clientChangeSet, syncState, baseRevs, { yMessages, lastUpdateIds }] = yield db.transaction('r', db.tables, () => __awaiter(this, void 0, void 0, function* () {
5483
5490
  const syncState = yield db.getPersistedSyncState();
5484
- const baseRevs = yield db.$baseRevs.toArray();
5491
+ let baseRevs = yield db.$baseRevs.toArray();
5492
+ // Resolve #2168
5493
+ baseRevs = baseRevs.filter(br => tablesToSync.some(tbl => tbl.name === br.tableName));
5485
5494
  let clientChanges = yield listClientChanges(mutationTables, db);
5486
5495
  const yResults = yield listYClientMessagesAndStateVector(db, tablesToSync);
5487
5496
  throwIfCancelled(cancelToken);
@@ -8446,7 +8455,7 @@ function dexieCloud(dexie) {
8446
8455
  const syncComplete = new Subject();
8447
8456
  dexie.cloud = {
8448
8457
  // @ts-ignore
8449
- version: "4.1.0-beta.47",
8458
+ version: "4.1.0-beta.49",
8450
8459
  options: Object.assign({}, DEFAULT_OPTIONS),
8451
8460
  schema: null,
8452
8461
  get currentUserId() {
@@ -8764,7 +8773,7 @@ function dexieCloud(dexie) {
8764
8773
  }
8765
8774
  }
8766
8775
  // @ts-ignore
8767
- dexieCloud.version = "4.1.0-beta.47";
8776
+ dexieCloud.version = "4.1.0-beta.49";
8768
8777
  Dexie.Cloud = dexieCloud;
8769
8778
 
8770
8779
  export { dexieCloud as default, defineYDocTrigger, dexieCloud, getTiedObjectId, getTiedRealmId, resolveText };