-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
localStorage / IndexDB write failures are fatal #18423
Comments
Add a way to listen to LocalStorage error events from element-web and matrix-react-sdk in the same manner. Related: element-hq/element-web#18423
WARNING: Dirty hack to be removed later in the future, via a refactor to a proper storage-service object instead of monkeypatching all of the localStorage calls that may or may not throw an error. This should be properly handled in-place whenever it can throw, but this has to do for now. Add a way to listen to any kinds of errors thrown by LocalStorage methods so that we can handle them on the top level and at least show some details to the user that the app has broken due to LocalStorage failing hard. Related: #18423
Add a way to listen to LocalStorage error events from element-web and matrix-react-sdk in the same manner. Related: element-hq/element-web#18423
Add a way to listen to LocalStorage error events from element-web and matrix-react-sdk in the same manner. Related: element-hq/element-web#18423
Add a way to listen to LocalStorage error events from element-web and matrix-react-sdk in the same manner. Related: element-hq/element-web#18423
For what it's worth, it happened to me yesterday (10 minutes before my Fosdem talk) with a disk that still had 300Gb free. I suspect that some quota was hit somewhere, either by Firefox, or AppArmor, or snap, or something: https://github.com/matrix-org/element-web-rageshakes/issues/10415 |
I'm pretty confused. I'm hitting this right now, being told that my browser isn't supported... but I just logged in yesterday, have barely had the client open, have nothing in localStorage, it seems to be in IndexedDB. How do I even recover from this state? :/ |
While waiting for this issue to get solved : The localStorage allowed size per origin varies browser to browser. As a temporary hack for firefox you can change the default maximum storage size allowed in the This is only a hack, it would be preferable to fix this issue on the actual app. edit: apparently it is only possible to increase the value on firefox and opera, not chrome. |
@colemickens @Yoric If you are experiencing fatal issues that are not obviously linked to running out of disk space, please don't comment in this issue (which is about disk space), please file a separate issue - we need all the details in the bug template from you and ideally debug logs. There are other reasons why indexDb may spontaneously combust e.g. #18625 |
@novocaine Sure, I'll reopen #20931. |
Add a way to listen to LocalStorage error events from element-web and matrix-react-sdk in the same manner. Related: element-hq/element-web#18423
Add a way to listen to LocalStorage error events from element-web and matrix-react-sdk in the same manner. Related: element-hq/element-web#18423
Needs design for the UX of the app presenting the user with a failure when the app completely breaks and a refresh may not be enough to fix it, your browser simply said that we cannot access storage or your quote is full, this may be related to your disk getting too full for your browser to be happy |
I've encountered this problem in The worst part is that I had no clue that anything was wrong for more than a day. If Element had shown an error message asking for a restart, that would have been fine, but in my case, there was no way for me to know that I was not receiving any messages, even though I got quite the deluge when I figured it out eventually. (For context, I usually only respond to matrix messages, so an error message when sending would not help me usually) Not sure if useful, but I've found these logs when restarting element-desktop after it's been sitting idle not receiving anything, after disk had been full for a couple of hours.
I also have log lines from around the time that the disk was full, but I'm not sure whether the process was element-desktop or chromium, but I guess it could be relevant either way because it's the same tech.
Versions:
|
I also encountered that error while running out of disk space (updates in the background). I would have sent an error with logs from the client, but it returns "No connected database". Restarting Element twice after this (initially to try to send the logs), it looks like I didn't actually have to logout, and I'm back in my account. Edit: I got the message again some time later (without running out of disk space again). I'm not able to skip the message anymore. |
I just had my disk running out of space while using Element Desktop. It forced me to log out and now I cannot log in, it just keeps syncing forever. |
Steps to reproduce
What happened?
A console error will usually be visible as we don't typically catch these exceptions.
The app will show undefined behaviour depending on what was prevented from happening; ranging from minor state not being preserved across sessions to irretrievable data loss of state that might only be held client side.
What did you expect?
The app should gracefully handle localStorage write failure. It should inform the user and cleanly abort the current operation.
Operating system
No response
Application version
No response
How did you install the app?
No response
The text was updated successfully, but these errors were encountered: