You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Electron devs claim all origins should have "durable" storage. However, we have observed IndexedDB being pruned by Electron just as it can be by browsers.
Investigate the details of Electron's behaviour here and try to ensure it always persists.
The text was updated successfully, but these errors were encountered:
Anecdotally, I have historically seen debug logs come in where Electron users are seeing the crypto store re-create itself, which tends to suggest that data has been evicted in the same way that it can happen in normal browsers. We haven't seen more such logs arrive since we added more logging about storage state, so it's currently unclear if Electron uses are actively affected in the field.
We are also now tracking storage state in analytics, so we can watch that over time to see if there are any events from Electron users.
Electron also applies AtomPermissionManager which grants all permission based APIs and seems to have been added in a similar ~2015 time range
To summarise, it appears Electron should allow IndexedDB to use as much space as it likes and should never delete it arbitrarily.
Lab Simulation
I forced Riot to store its profile on a small drive inside a VM to observe what happens. The Electron policy seems to work as designed. I was able to store data until the drive had no space left. IndexedDB survived multiple Riot restarts.
No Space Left
When your entire drive runs out of space, IndexedDB does still explode in ways we don't yet catch, including spinners that block using the app. However, since Riot only supports place its config on your primary drive, presumably you'd notice you are out of space in other ways like OS warnings, etc. Riot should recover with a restart once there's more space.
Summary
It appears from both code inspection and lab testing that Electron should persisting data as desired, so there's no code change to make here. We should keep watching analytics to see if the issue still affects Electron users and investigate again if it does.
Electron devs claim all origins should have "durable" storage. However, we have observed IndexedDB being pruned by Electron just as it can be by browsers.
Investigate the details of Electron's behaviour here and try to ensure it always persists.
The text was updated successfully, but these errors were encountered: