-
-
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
Desktop client loses keys when disk is full #4014
Comments
We currently use the localStorage API to store key data; we're about to switch to indexeddb though. Both will likely fail if your disk fills however (although it shouldn't corrupt entirely, it's up to Chromium rather than us). However, once element-hq/element-meta#647 you should at least be able to re-request the missing keys from other devices (including the sender). |
So I guess the same would happen in a browser? |
Browser behaviour is to stop accepting new keys because it can't, leading to future messages being unable to decrypt. I've run into this failure mode many times on riot-web. |
@turt2live so #2996? |
yes, but I'm not sure how desktop behaves, or how the browser behaves when your disk is full tbh. |
Assigning a high severity and a low priority to reflect that this is highly disruptive but should be solved by element-hq/element-meta#647 (rather than taking specific steps to handle diskfill) |
I'm tired of waking up to "* Unable to decrypt: InvalidStateError: Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing. **" which means I have to quit Riot, delete all of Riot's files, launch and login again, and ask everyone to resend the messages I missed. Riot taunts me with "Re-request encryption keys from your other devices." but that doesn't work because I don't have another device. I use my computer and sometimes it runs out of disk space. You have to deal with it. If you are using a broken library you have to patch it or find something else. Nobody cares if Chrome is broken or whatever. All they think is "Riot is shit and so is my friend for convincing me to use it." So I can't recommend Riot to anyone at least until you fix this. |
For future reference and in hopes that it will be useful to others, here is how I got rid of this problem:
My encrypted conversations were all back to normal. |
Furthermore, would it be possible to show something friendlier to users, to help them? The current message is pretty horrible (you can't read your correspondant's messages, which is bad and stressful and makes you wonder if you've done something wrong, and on top of that the message is super technical/jargon-y). Can I suggest:
|
this should now be alleviated on the Desktop app and Firefox where we get Persistent Storage permissions, in Chrome it may/may not get the permissions. |
This just happened to me on the desktop app and unfortunately, nothing is improved compared to the situation described several years ago. The exact same message is still the one shown:
That message should really be changed to something understandable by someone who doesn't have a PhD in databaseology. |
I'll just add to the issue that it just occured to me. My disk got full and somebody I couldn't receive or send encrypted messages on Riot afterward, previous messages showed the same failed transaction message. I didn't troubleshoot much. I restarted Riot and had access to the previous messages but couldn't send any. I just started a new encrypted room since it was a new server. |
@ara4n what prompted the change from P1to P3? As it may not be clear: Element-desktop will still effectively fatally wipe existing local data/keys/history in the event of storage shortage. It seems prudent to me to prioritize doing what's possible to prevent this for keys, at least, maybe by taking another look at storage API guarantees. |
@3nprob you are reading that backwards. It went from P3 to P1. (the P labels are not really used anymore, the S-Critical is the important one) |
@aaronraimist sorry for the noise, my bad, should not comment before coffee. |
this sounds like a duplicate of #14174 (which is more recent, but has a clearer description of the symptoms), unless anyone can clarify the difference? |
Duplicate of #14174 |
Description
I ran out of disk space and I believe I rebooted in a disk full condition in order to lose swap files. After reboot, I get #2996. I'm not sure if #3660 is related or if desktop uses a real file API where you can avoid writing to a file when there is no disk space.
Version information
The text was updated successfully, but these errors were encountered: