keepassxc icon indicating copy to clipboard operation
keepassxc copied to clipboard

List advanced attributes (or counts) on General Preview Tab

Open rocketraman opened this issue 8 months ago • 8 comments

Have you searched for an existing feature request?

  • [x] Yes, I tried searching

Brief Summary

I've added an attribute to an entry using Advanced. However, I find these attributes are not very discoverable. When clicking on an entry, the basics show up on the General tab, but there is no way to know that an entry has an Advanced attribute without actually clicking on the "Advanced" tab.

Example

Workarounds

For now, I work around this by adding some text to "Notes" which is a reminder that a relevant attribute exists in the Advanced tab, however obviously this is not ideal.

Background assumptions

  • Generally I would think entries would have 0-2 attributes
  • These may be small (e.g. up to about 50 characters for things like API tokens), but could be large -- things like PEM certs/keys.
  • Some may be unprotected (e.g. certs) and some may be protected (e.g. API tokens and PEM keys).
  • In some probably rare cases, entries could have many attributes (perhaps 20 or 30).

I believe the ideas below support all these cases.

Ideas

Depending on user's layout, there can be lots of empty space on the Preview Pane. Ideas:

  • Change the "Advanced" tab to "Attachments" (with a badge indicating the number of attachments), and show attributes on the "General" tab if they exist (are attributes really "Advanced"?). I would honestly make this the case on the Entry Edit screen as well. Attributes should be easier to access.

  • I would go further and show everything in the General tab (rename it to something like "Details") and remove the "Advanced" tab completely. There is generally lots of space available here and Attachments could be "collapsed" by default using some kind of accordion / collapsible panel / expandable section.

  • Make long attributes collapsed by default. Most of these will likely be Protected fields in any case, so they will probably already be collapsed until the "Show Password" button is clicked. But similar button and behavior can be implemented for non-protected fields as well.

  • Create a column "Has attributes" for the entry list. The row value could be a count of them, if they exist.

  • Having many/large attributes will simply require scrolling, no different than it is today on the Advanced tab.

The general approach is to show everything in one tab, but make things collapsible so they fit rather than splitting them across tabs.

Supporting Images

Image

Image

Context

A self-hosted service (linkding) had an API key which I needed. I forgot I had added it in KeepassXC as an attribute and had to go login to linkding to check for the API key, only to finally realize it was already in KeepassXC when I tried to add it there.

rocketraman avatar Apr 26 '25 12:04 rocketraman

Why would you not look at the entry you have to find the API key you were looking for? The Advanced tab is already disabled if there are no attributes or attachments. It is enabled and selectable if there are.

Why not just put the API key in the notes if you don't intend on using the "Copy Attribute" feature or auto-type?

We are not going to encumber the General tab with a potentially unlimited amount of information. Attributes are advanced for a reason, they are rarely used and only for specific reasons like to fill with auto-type or copy to clipboard.

Image

Image

droidmonkey avatar Apr 26 '25 13:04 droidmonkey

Why would you not look at the entry you have to find the API key you were looking for? The Advanced tab is already disabled if there are no attributes or attachments. It is enabled and selectable if there are.

I did look at the entry. I didn't notice the "Advanced" tab was enabled. I've actually never noticed the difference between the enabled Advanced tab and the disabled Advanced tab in all the time I've used KeepassXC. Enabling/disabling the tab is IMO too subtle a discoverability hint.

Why not just put the API key in the notes if you don't intend on using the "Copy Attribute" feature or auto-type?

My workflow is to look at the entry Preview to see what is there. I use keyboard shortcuts or double-click on the entry row to copy username and password so I very very rarely right-click on entries. Therefore the "Copy Attribute" feature was simply not on my radar. It still won't be in the future because right-click navigate to "Copy Attribute" is too slow.

We are not going to encumber the General tab with a potentially unlimited amount of information. Attributes are advanced for a reason, they are rarely used and only for specific reasons like to fill with auto-type or copy to clipboard.

If they are rarely used, then adding them to the General tab will change almost nothing, except make them more discoverable.

Will you not even consider adding a column for "Has Attributes" to the entry list?

rocketraman avatar Apr 26 '25 13:04 rocketraman

Attribute Count would be a better name for it, but even still the advanced attributes are used for a lot of things like TOTP storage, PassKey, and various other reasons. The count is relatively meaningless and wouldn't help in your situation. Not sure how right click is too slow but navigating to the website and finding/creating a new API key isn't? I'm sorry but you are asking us to do a lot of development and GUI work when all of this already exists and works very well for most (all?) people who use attributes.

droidmonkey avatar Apr 26 '25 13:04 droidmonkey

Attribute Count would be a better name for it, but even still the advanced attributes are used for a lot of things like TOTP storage, PassKey, and various other reasons. The count is relatively meaningless and wouldn't help in your situation.

How about categorizing attributes into "System" and "User" attributes? The count would only show the "User" count -- system attributes are already handled elsewhere in the UI, like the TOTP column.

Not sure how right click is too slow but navigating to the website and finding/creating a new API key isn't?

I only did that because I didn't realize it already existed in KeepassXC... hence this issue.

I'm sorry but you are asking us to do a lot of development and GUI work when all of this already exists and works very well for most (all?) people who use attributes.

I'm only making a feature request which I believe would improve KeepassXC. I did take a significant amount of time to write it up, and it feels like it is being rejected without much consideration, which stings a bit. However, that is of course your prerogative as the author. In general I love using KeepassXC and thank you for all the work you put into it. 🤟

rocketraman avatar Apr 26 '25 13:04 rocketraman

Might I recommend you add an "API" tag to entries that contain an API token for easy finding?

I tend to not leave issues/requests open that I know I will not work on or want anyone else to spend time on. Don't take it personally, we have a TON of requests that appear on a weekly basis.

droidmonkey avatar Apr 26 '25 13:04 droidmonkey

How about this compromise, I would be willing to put in a simple thing on the general tab:

Image

If you click on that it would switch to the advanced tab

droidmonkey avatar Apr 26 '25 13:04 droidmonkey

If you click on that it would switch to the advanced tab

Amazing! That would work very well I think. One small enhancement could be to list the user attributes? If not, that is fine too.

rocketraman avatar Apr 26 '25 14:04 rocketraman

@droidmonkey It would be very helpful to show the Attributes on General-Page. If you search and find multiple results, it's much easier to move the entries by arrow down/up and review the additional informations (attributes). In normal Keepass this is by default and makes it easy to see what informations of the entry exists. Hope this will be implementet next time.

ToniKoehler avatar Nov 13 '25 07:11 ToniKoehler