keepass2android icon indicating copy to clipboard operation
keepass2android copied to clipboard

[FEAT] Do not show entry selection dialog

Open pawelszramowski opened this issue 2 years ago • 1 comments

The entry selection dialog shows up after tapping the lock in the KP2A keyboard and has the following options:

  • Select entry
  • Search for entry with the app's package name

It is quite irritating that I have always have to choose "Select entry" coming from the web browser. It unnecessarily increases the number of actions and the time required to enter credentials. I can think of the following improvements:

  1. Replace the dialog with "Search for entry with the app's package name" option at the top of the credential list shown after unlocking database. This way, if the user wants to select an entry, they can do it right away, and if they want to search, they can also do it in the same number of actions as previously.
  2. Add an option to make either choice the default and thus never show the dialog. This is worse but probably simplest to implement. It would be good enough for me, though.

pawelszramowski avatar Nov 19 '23 18:11 pawelszramowski

There's already a search button at the top of the database views (root, group), so nothing need be added, just remove the dialog. I've been meaning to request this for ages, thanks @pawelszramowski!

While the dialog from KP2A keyboard is redundant and annoying in web browsers, 'cause we almost never want to search the browser app-id, the flow is useful in apps where the accessibility service doesn't work. It allows us to add the app-id to an existing entry or create a new entry containing it. To retain this behaviour without the dialog:

  • Upon clicking search after KP2A keyboard lookup, pre-fill with app-id. This is better, because instead of typing from scratch (required in current flow) we can selectively wipe out the namespace (reversed domain) and find the entry in the vast majority of cases, making it faster than typing for most people. If not, clicking χ and typing is the same number of interactions as the current flow.
  • Upon opening an entry, offer to add the app-id, same as current flow. This should repeat every time an entry is opened, in case we keep opening the wrong entry. 😉
  • Upon creating a new entry, offer to add the app-id. This should happen regardless of how many times we've searched, opened entries, started creating an entry and cancelled for some totally legitimate reason. 😀
  • This behaviour is reset next time KP2A is opened by the launcher, by the accessibility service or when the KP2A keyboard lookup flow is completed.

Ideally, after KP2A keyboard lookup, the last group opened should be displayed, scrolled to where it was and if an entry was previously open, highlight the entry (in the root/group db view) so the user can easily open it or search with no interaction count penalty.

In this ideal flow, there is an extra interaction to navigate out of the group compared to current behaviour of starting at root, but it's worth it:

  • Navigation savings in the common case more than make up for it.
  • Searching is global and most common if desired entry is not in view, so no penalty.
  • If someone with an unusual workflow finds this annoying enough to report it, adding an "always start at root" setting to restore current behaviour would solve it.

elahn avatar May 08 '25 12:05 elahn