-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some browsers throw TransactionInactiveError during login #101
Comments
https://gist.github.com/bwindels/f4ec90192f07f675d55c9db438960ac9 works in all browsers mentioned above apart from IE11 on Win7... |
So IE11 on Windows 7 (and not on Windows 10) needs to have the promise queue flushed synchronously from the idb event handler, and then it works. There's a prototype of this on the branch As a representative of the other browsers above I've tested with Gnome Web and I can get it to go a lot further when I make the There is a prototype of implementing this in the app on the branch |
Went for |
Some browsers throw TransactionInactiveError during login:
I'm not a 100% they fail at the same point during login though, but it is possible.
The assumption is that these browsers don't wait for microtasks to complete before closing an indexeddb transaction. I've played around with a promise polyfill that uses mutationobserver to schedule a microtask (confirmed on https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/ it does get scheduled before setTimeout) but this still didn't fix the issue, leading me to think that IE11 in that case wasn't actually waiting for any scheduled microtask to finish before closing the transaction.
If the above is the case, what can we do (apart from not using promises for idb, which isn't really feasible at this point):
The text was updated successfully, but these errors were encountered: