#IndexedDB ordering (of database names) forms a stable process-lifetime identifier in #Firefox, presumably because of some kind of hash table randomization. “In Tor Browser, the stable identifier persists even through the “New Identity” feature, which is designed to be a full reset that clears cookies and browser history and uses new #Tor circuits.” #security
on 02026-04-2410 years ago Mozilla changed #IndexedDB to have non-durable #transactions by default, adding a “readwriteflush” mode for durable transactions. #HTML5
on 02025-12-27Disqus hasn’t yet lost Jonas Sicking’s comment about the synchronous API to #HTML5 #IndexedDB: “The reason we’re not permitting access to the sync version in the main thread, i.e. in Window environments, is that synchronous IO is terrible for performance. This would remain the same no matter what syntax is used, so would not be affected by a switch to a module based syntax.
However any environment that isn’t the main thread should be able to use the sync version. That isn’t affected by weather we use module syntax or not though. We could allow access to the synchronous API to any non-main thread environment. Currently the only such environment is web workers. If more are added in the future we might be able to add them there too, independent of if we use modules or not.” He also comments on how their #transactions work.
on 02025-12-27Jonas Sicking (an #HTML5 #IndexedDB spec author) explains how its #transactions work; normally they’re pretty transparent, and you can, like, read some data and then write some data in the callback when the reads succeed.
on 02025-12-27#HTML5 #IndexedDB #transactions commit implicitly when you return to the event loop without any pending requests, which seems error-prone
on 02025-12-27MDN explains that #HTML5 #IndexedDB only has an asynchronous API, although the section header may be a remnant from the draft when it had a synchronous one.
on 02025-12-27#HTML5 #IndexedDB no longer has a synchronous API
on 02025-12-27It seems like the #IndexedDB draft used to have a synchronous API for use in Web Workers which was eventually removed. #HTML5
on 02025-12-27