Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork68
Receiving several WebKit related IndexedDB errors#1001
-
Hi! I've read through the docs, and saw that several errors are to be expected when dealing with WebKit and IDB. I'm receiving several error reports through telemetry for users of Safari/iOS all related to either the DB connection closing, the user requesting to delete the DB, the DB being corrupted. My question is: Is there a way to tell this library to fall back to another storage mechanism than IDB? Or, can it retry, or fall back when these errors occur? PS: Where is the source code? O_O |
BetaWas this translation helpful?Give feedback.
All reactions
Thank you for the logs. I will try to investigate. I have seen there was someindexedDb bugs in some betas of iOS 17, but they are supposed to be fixed in final versions.
Can I configure this initialization mechanism somehow? Because of WebKit's poor track record with IDB I'd prefer to disable it there altogether
If completely falling back tolocalStorage, this library becomes quite useless. You can do it directly with something like that:
if(/* Your Safari detection */){localStorage.setItem();}else{this.storageMap.set();}
It would not be a good idea to include such an option in the lib for several reasons:
- browser detection is a bad practice, if there is a issue in an brows…
Replies: 2 comments 2 replies
-
Hello,
There is already such a mechanism at the initialization of the service. But it is not possible to fallback later on, because data would be completely inconsistent. Imagine this scenario:
I would need more elements to investigate:
|
BetaWas this translation helpful?Give feedback.
All reactions
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
-
A reproducer is impossible because I'm merely receiving these errors through telemetry from our deployed application. (And they don't occur when I simply open and remote debug the website on my iPad). Can I configure this initialization mechanism somehow? Because of WebKit's poor track record with IDB I'd prefer to disable it there alltogether Here are a couple of the error messages (I don't have a full stack trace), I also have the full Rollbar reports, if you are familiar with that provider I can give you those as well: These are some of the reported browser fingerprints: I checked some more occurences and they're all iOS desktop or mobile devices, they all seem to be running iOS 17, but if I didn't dream this, I swear I saw a 15 somewhere as well :D The |
BetaWas this translation helpful?Give feedback.
All reactions
-
Thank you for the logs. I will try to investigate. I have seen there was some
If completely falling back to if(/* Your Safari detection */){localStorage.setItem();}else{this.storageMap.set();} It would not be a good idea to include such an option in the lib for several reasons:
|
BetaWas this translation helpful?Give feedback.
All reactions
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
-
Thanks, if I can help in any way with your future investigations let me know! I haven't been able to reproduce, but since some of them are about the database closing, it might have to do with the fact that I try to delete local storage items to clear the shopping cart, and then navigate away to a checkout URL of a payment provider. This happens with a ( |
BetaWas this translation helpful?Give feedback.