* do not dismiss views when application is resumed
* prevents the PasswordNavigationViewController and PasswordDetailTableViewController from being dismissed when the app is put to the background and then brought back to the foreground
* Instead, the PasswordEntities are re-fetched from the context by their path to handle the re-creation of the entities during an update process that could have run in the background
* update SwiftLint to version 0.50.*
* update SwiftFormat to 0.51.*
---------
Co-authored-by: Mingshen Sun <bob@mssun.me>
The autofill extension currently calls the success callback even if a
passcode/FaceID is not successfully verified.
In the case that the PGP key passphrase is stored, this results in
password decryption without further user interaction.
The fix is to only decrypt passwords upon successful passcode / FaceID
verification.
* fix#540, duplicate entries in auto fill extension
`prepareCredentialList` is called twice, once before unlock and once
after. If the lists are already prepared, i.e. not empty, skip this
step.
* fix format and lint
* Remove superfluous method arguments in method references
* Use 'Self' for internal static access
* Convert static to instance field in singleton class
* Remove class name prefix in references to local methods
* Remove nested frameworks in all extensions and frameworks
* Add notification action to copy OTP or just inform about the copied OTP
The notification either shows the current OTP which can be copied by a notification action or it shows just a hint to inform about the copied OTP. This depends on the new option "autoCopyOTP".
* Extract method
* Set type and style one-time
* Allow to do something with a password after providing it in the extension
* Make fields non-nil
* Show OTP in notification after providing a password through extension
* Do not present lock view in 'viewDidLoad' since this might be too early for an extension ("Not running foreground").
* Instead, show it for actions requiring authentication, e.g. showing the password list or providing a password, or only in 'viewDidAppear'.
* Refactor and lazily load other view controllers and data.
* Let credential providing view controllers decide when to hide themselves.