The problem with indexedDB is that the api just broken by design. Before I started creating RxDB (github.com/pubkey/rxdb) I persist to solve my needs with indexeddb, but it was just a hurt to the project. Nothing works as expected and when it works on chrome, it off course does not on firefox.
Basically this happens when you sit 10 non-programmers into a room and let them build a consensus on the specs for a complex database.
This would also make it easy to use the same code for the browser, the desktop, nodejs or mobile apps, since every environement just needs to have the simple key-value-store api. (compareable to leveldb)
IndexedDB had some notable implementation bugs in the past, but they're mostly solved by now. If you don't feel comfortable using it, you can always rely on libraries like PouchDB or Dexie.
I've had very little difficulty building a simple key-value store on top of IndexedDB that works on Chrome, Firefox, Safari, and Edge. Source here: github.com/standardnotes/web/blob/...
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.