dexie 4.4.2 → 4.4.3

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.
package/README.md CHANGED
@@ -247,6 +247,14 @@ Source: [Dexie Cloud To-do app](https://github.com/dexie/Dexie.js/tree/master/sa
247
247
 
248
248
  Live demo: https://dexie.github.io/Dexie.js/dexie-cloud-todo-app/
249
249
 
250
+ ## Legacy Addons (dexie-observable, dexie-syncable)
251
+
252
+ > **⚠️ These packages are legacy and no longer maintained.**
253
+
254
+ If you find references to `dexie-observable` or `dexie-syncable` in tutorials, blog posts, or old code, be aware that these are **deprecated** sync solutions. They are not compatible with Dexie Cloud and should not be used in new projects.
255
+
256
+ **For local-first sync, use [`dexie-cloud-addon`](https://dexie.org/cloud/) instead.** It is the modern, actively maintained solution for offline-first apps with real-time sync.
257
+
250
258
  ## Samples
251
259
 
252
260
  https://dexie.org/docs/Samples
package/dist/dexie.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * By David Fahlander, david.fahlander@gmail.com
6
6
  *
7
- * Version 4.4.2, Tue Mar 31 2026
7
+ * Version 4.4.3, Wed May 27 2026
8
8
  *
9
9
  * https://dexie.org
10
10
  *
package/dist/dexie.js CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * By David Fahlander, david.fahlander@gmail.com
6
6
  *
7
- * Version 4.4.2, Tue Mar 31 2026
7
+ * Version 4.4.3, Wed May 27 2026
8
8
  *
9
9
  * https://dexie.org
10
10
  *
@@ -190,8 +190,11 @@
190
190
  obj[currentKeyPath] = value;
191
191
  else {
192
192
  var innerObj = obj[currentKeyPath];
193
- if (!innerObj || !hasOwn(obj, currentKeyPath))
193
+ if (!innerObj || !hasOwn(obj, currentKeyPath)) {
194
+ if (value === undefined)
195
+ return;
194
196
  innerObj = obj[currentKeyPath] = {};
197
+ }
195
198
  setByKeyPath(innerObj, remainingKeyPath, value);
196
199
  }
197
200
  }
@@ -1224,7 +1227,7 @@
1224
1227
  }
1225
1228
  }
1226
1229
 
1227
- var DEXIE_VERSION = '4.4.2';
1230
+ var DEXIE_VERSION = '4.4.3';
1228
1231
  var maxString = String.fromCharCode(65535);
1229
1232
  var minKey = -Infinity;
1230
1233
  var INVALID_KEY_ARGUMENT = 'Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.';
@@ -2143,7 +2146,7 @@
2143
2146
  return cmp(aVal, bVal) * order;
2144
2147
  }
2145
2148
  return this.toArray(function (a) {
2146
- return a.sort(sorter);
2149
+ return a.slice().sort(sorter);
2147
2150
  }).then(cb);
2148
2151
  };
2149
2152
  Collection.prototype.toArray = function (cb) {
@@ -6330,7 +6333,7 @@
6330
6333
  };
6331
6334
  var ret = execute(ctx);
6332
6335
  if (!startedListening) {
6333
- globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, mutationListener);
6336
+ globalEvents.storagemutated.subscribe(mutationListener);
6334
6337
  startedListening = true;
6335
6338
  }
6336
6339
  Promise.resolve(ret).then(function (result) {