kee-org / keevault2

Kee Vault 2 is a password manager for multiple devices. Password databases (Vaults) are encrypted using the KeePass storage format (KDBX) before being stored on the local device or sent to a remote server for synchronisation purposes.
https://play.google.com/store/apps/details?id=com.keevault.keevault
Other
24 stars 4 forks source link

Fix missing context bug in VaultLoader listener #6

Closed luckyrat closed 2 years ago

luckyrat commented 2 years ago

Is a specific instance of a more general fault where context could be lost during async operations. This case was noticed because the recently added code to store and flush data to shared storage takes long enough that Flutter has an increased chance to destroy the old context and this actually happened on some devices. I've investigated other instances of this problem and either developed a more defensive algorithm or commented when it is uncertain whether the problem is applicable or not.