Currently, when you create a database, it doesn't have a location. This leads to a bug where the "Automatically save after every change" setting gets ignored if you haven't already saved the database once.
As part of the "New Database" interface, include a location field with a suitable default. When the user hits "OK," attempt to save an empty database to that location. If saving the database fails, prompt the user to choose another location before continuing.
Location is not set until user selects "Save" for the first time.
I'm trying to provide advice about password managers to non-technical users. In #279, I propose that "automatically save after every change" should become the default. This would make the auto-save experience nicer and less error-prone.
Great find!
Off-topic: Are you doing this work as a part of the EFF? If so we should discuss some best practices and UX enhancements that would be endorsed by the EFF. You can hop on our IRC channel if you like.
Also, as part of this change, I'd suggest changing the default name for a new database. Right now when you hit save, the default name is "New database.kdbx". A possible alternative: "KeePassXC passwords.kdbx".
Are you doing this work as a part of the EFF?
Yep, trying to provide some feedback with the goal of improving the advice in our SSD guide. Followed up on IRC.
What about "Passwords.kdbx" or "New password store.kdbx"? "KeePassXC passwords" could be misleading again.
I think Passwords.kdbx would be fine. "New password store.kdbx" has a similar problem to "New database.kdbx": usually someone will create the database and never rename it, so the filename, and all the UI that shows the filename, shows "New password store.kdbx", even after it's been around for years and is no longer "new".
+1 for passwords.kdbx
Please check out my PR #302
Most helpful comment
Please check out my PR #302