keepassium / KeePassium

KeePass-compatible password manager for iOS
https://keepassium.com
Other
1.21k stars 103 forks source link

iOS 16.6: crash systematically on automatic fill if i've put a file in the .kdbx #303

Closed dimitri-bourreau closed 1 year ago

dimitri-bourreau commented 1 year ago

Description

Everytime I tried to use the auto fill on iOS KeePassium crashed.

Not using the auto fill, the database is well decrypted and I can copy/paste my logs. ✌️

The solution was to remove a file I've put in my database (.kbdx database, made with MacPass on my MacOS). Then the autofill worked just fine!

It was the only file of all the database, and I believe i've put this file when the autofill stopped working weeks ago. ☝️

Expected behavior

The autofill should work juste fine, I guess?

I see there is a file tab on an entry interface. Feels like this is supported?

Screenshots

https://github.com/keepassium/KeePassium/assets/32717624/6cd6bf49-6836-4223-8122-7569000d2ddf

Environment

The file I removed was a database dump .sql of 65.2Mo.

keepassium commented 1 year ago

This is not a bug, this is a technical limitation courtesy of iOS…

The AutoFill module has very limited memory to work with, around 120 MB. When the database is quite large and contains large attachments, they trigger the memory limit and the system kills the AutoFill process.

There is not much KeePassium can do about this: 1) Inform the user about the crash, 2) Quickly explain its likely reasons, 3) Offer the "Learn more" link with detailed explanation of the reasons and possible solutions.

All of which the app did…

dimitri-bourreau commented 1 year ago

@keepassium ho, makes a lot of sense now, thanks!

I guess if the error message would explicitly talk about this 15Mo limit, I would have got it much sooner. ✌️

Anyways, great app, congrats!