A Minimalistic Wrapper for IndexedDB
This is the last planned release in the series of small releases on the 4.0-track. The goal is to get a stable 4.0 release as soon as possible, but I'll wait to see some reports from usage before moving on.
db.someTable.orderBy('id').primaryKeys()
won't be affected by a property change on an object of one of the observed keys, since the keys don't change. Only object adds and deletions will trigger the query to update.skipTables
option to export and import (#1896)NOTE: We're aiming for a stable 4.0 to be released as soon as possible. To get there, we're releasing new versions quite frequently now. Reason: splitting up major changes into smaller releases allows users to revert versions in steps rather than the whole version.
Version numbering is now only useful when you need to:
.upgrade()
onto a version.This is the first release in a series of small releases on the 4.0-track before it goes release candidate. Expect a few additional beta versions coming out soon. The goal is to get a stable 4.0 release as soon as possible.
npx dexie-cloud export
can now also login to their app with "transform
option to export and import https://github.com/dexie/Dexie.js/commit/7fd94f00e74e039a7adf667cd75a782020939b6a
Fixes #1837 - a bug in dexie-cloud-addon woken up when upgrading dexie to in 4.0.1-beta.2.
Recommended to:
Replaced by Dexie v4.0.1-beta.4
Various issues fixed, summary:
To install / upgrade:
npm i dexie@next
npm i dexie-cloud-addon@latest
PR #1766: Dexie Cloud stuck in login-phase if option {requireAuth: true} was used to db.cloud.configure()
The fix is generic in dexie libary for db.on('ready') callbacks so that the Dexie instance passed to the callback can be used without blocking.
Background:
When the on('ready') callback executes, the ready state shall still not be resolved because any on-ready subscriber's flow is part of making the db ready to resume application queries. But the callback itself need exclusive access before application queries resume - otherwise any db call will block like if it was an application-made db call. This works fine and has been working fine since dexie@2, but has been exclusively based on an async context that spans over the entire flow of db-on-ready callbacks. However, some on-ready callbacks (specifically dexie-cloud's) need to do calls outside of Dexie - such as fetch() calls - those calls will loose the AsyncContext and thus the exclusive access to the db. Therefore, we're now providing a Dexie instance as argument to the on-ready callback - an instance that can call dexie exclusively regardless of the async context. However, a bug prevented this from functioning properly until this release.