-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Riot fails in strange ways when indexeddb is full #6120
Comments
For those that may be running into this, clean up your primary drive. Chrome, for example, sets the maximum quota to ~6% of your available free space. |
As per #6125 (which I'm going to close as a dup) we need to warn loudly when this happens as a bare minimum. It would be nice also to tell people what they can do to address the problem (and ultimately even nicer make it so they don't encounter this problem by effectively managing the size of indexeddb. |
A useful resource is Offline Storage for Progressive Web Apps, where it compares browsers and their quotas:
Browsers do different things in response to the limit being exceeded: Firefox
If the user denies expansion above 50MB, When quotas are exceeded (or the user denies expansion), data is evicted:
ChromeIn @turt2live's case, Chrome probably evicted the riot.im origin, removing all data at once from under the app. SolutionWe will need to move over to a different storage API: Storage. This will allow us to:
We can use 1. to prevent the data disappearing underneath the app without the user's consent. We can use 2. to periodically indicate to the user that storage is low. |
Today's failure mode was silently failing to sync. Took nearly 3 hours before I realized that my client wasn't syncing. |
Thanks,
Is a future move – to Storage Standard – certain? |
E2E has suddenly stopped working for me since yesterday.
There was no change in browser versions or anything else on my system, but the free space on my disk did change drastically yesterday. So it is probably related to this issue. To reclaim space, which tables of the Local storage / Indexed DB can we delete safely? I don't want to lose my device keys for sure. I assume log entries can be deleted without affecting functionality. |
can you rageshake so we can see whether the issue actually is indexeddb filling up? the error you've quoted there could be related to other issues (e.g. failing to upload one-time keys to your server or something). the safest bet is to export your E2E keys via settings, and then either relogin to entirely flush the storage, or you could experiment with manually deleting the |
#9220 tracks this problem as a meta-issue of several separate tasks. We have now implemented some of the ideas here and tracked the remaining ones in new issues, so I think we can close this. |
Description
This has lead to all kinds of fun problems:
Riot should probably fail a bit more gracefully. I didn't realize my storage was full until I went to start a report about encryption being disabled and happened to consider the case of indexeddb being full. The app runs fine otherwise - messages can be sent and received, features work, etc. The only problems are those described above.
Version information
The text was updated successfully, but these errors were encountered: