UX proposal: sort vault items by creation date (cross-client, staged rollout) #19999
TechFath3r
started this conversation in
Password Manager
Replies: 1 comment
-
|
✨ Thank you for your code contribution proposal! While the Bitwarden team reviews your submission, we encourage you to check out our contribution guidelines. Please ensure that your code contribution includes a detailed description of what you would like to contribute, along with any relevant screenshots and links to existing feature requests. This information helps us gather feedback from the community and Bitwarden team members before you start writing code. To keep discussions focused, posts that do not include a proposal for a code contribution will be removed.
Thank you for contributing to Bitwarden! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Select Topic Area
✅ Code Contribution Proposal
Code Contribution Proposal
Hi maintainers — per the contributing guide I'm opening this as a Discussion to get your input on a UX change before writing code. CLA is signed.
The change, in one sentence
Let users sort their vault list by creation date (newest first / oldest first), so they can find a recently-added item by scrolling chronologically when they can't remember its name.
Why this, why now
Users frequently sign up for a service, save it to Bitwarden, and later can't remember the exact name to search for it. Competing managers (1Password, KeePass) solve this with a date-sort. It's the reason I'm considering switching to Bitwarden from 1Password.
Community demand has been consistent and unanswered for nearly 8 years:
A third party even published a workaround blog post piping CLI exports through
jq, which suggests the demand is real enough that users build their own tools.Related proposal
Kevin Rossen proposed a similar "Recent Items" feature for iOS in org-level discussion #16874 (Oct 2025, currently labelled
pr-proposal-stage2-product-reviewand awaiting review). This proposal is the counterpart for theclients-repo targets (desktop/web/browser) and doesn't depend on or duplicate Kevin's iOS work — the two together would give users consistent chronological access across every client.What I'd like your input on
Four UX decisions I'd rather land with you before I write code, rather than discover in PR review:
1. Column vs. sort menu on desktop/web
Desktop and web already use
bitSortablecolumn headers for Name and Owner. My instinct is to add a "Created" column (responsive-hidden on narrow viewports, matching the existing Owner column pattern). The alternative is a sort-selector menu/dropdown that doesn't show a date column. Column feels more consistent with existing patterns and gives users an at-a-glance date. Your preference?2. Creation date vs. revision date as the first option
I'm proposing creation date first because it matches the "find my recent signup" user story directly. Revision date is also useful (sort by recently-modified) and could be a follow-up toggle. Is there a reason to prefer revision date, or to ship both at once?
3. Staged client rollout
I'd like to ship in this order to keep each PR small and reviewable:
Stages 1–2 are almost copy-paste once the pattern's agreed. Stage 4 is where real design discussion is needed — the popup has no column headers and groups by cipher type, so "where does the sort toggle live in a 360px popup" is a UX call I'd want you to make. Is the staged sequencing reasonable, or would you prefer a single coordinated PR across desktop+web?
4. Grouping / timeline view (later follow-up)
A natural next step is section headers that group items by month/year (like a phone photo timeline), so users can skim "January 2025" → "February 2025" → etc. This would be a separate, larger proposal after stages 1–3 land — flagging it now so you know the direction but not asking you to decide on it today.
Technical notes
CipherView.creationDate: Dateis populated on the client (libs/common/src/vault/models/view/cipher.view.ts:57). No server/API work needed.apps/desktop/src/vault/app/vault-v3/plus a new helper inCipherViewLikeUtils(following the existingisArchived/isDeleteddual-branch pattern forCipherView | CipherListView).dateCreated→ "Created" already exists inapps/desktop/src/locales/en/messages.json.What I'm asking for
A maintainer 👍 or 👎 on the staged approach, plus answers (or pointers to answers) on the four questions above. Once I have direction, I'll open the Stage 1 desktop PR linking back to this discussion.
Thanks for your time on this — happy to adjust the scope or approach based on your feedback.
Hi maintainers — per the contributing guide I'm opening this as a Discussion to get your input on a UX change before writing code. CLA is signed.The change, in one sentence
Let users sort their vault list by creation date (newest first / oldest first), so they can find a recently-added item by scrolling chronologically when they can't remember its name.
Why this, why now
Users frequently sign up for a service, save it to Bitwarden, and later can't remember the exact name to search for it. Competing managers (1Password, KeePass) solve this with a date-sort. It's the reason I'm considering switching to Bitwarden from 1Password.
Community demand has been consistent and unanswered for nearly 8 years:
A third party even [published a workaround blog post](https://shkspr.mobi/blog/2024/02/howto-sort-bitwarden-passwords-by-date/) piping CLI exports through
jq, which suggests the demand is real enough that users build their own tools.Related proposal
Kevin Rossen proposed a similar "Recent Items" feature for iOS in org-level discussion [#16874](https://github.com/orgs/bitwarden/discussions/16874) (Oct 2025, currently labelled
pr-proposal-stage2-product-reviewand awaiting review). This proposal is the counterpart for theclients-repo targets (desktop/web/browser) and doesn't depend on or duplicate Kevin's iOS work — the two together would give users consistent chronological access across every client.What I'd like your input on
Four UX decisions I'd rather land with you before I write code, rather than discover in PR review:
1. Column vs. sort menu on desktop/web
Desktop and web already use
bitSortablecolumn headers for Name and Owner. My instinct is to add a "Created" column (responsive-hidden on narrow viewports, matching the existing Owner column pattern). The alternative is a sort-selector menu/dropdown that doesn't show a date column. Column feels more consistent with existing patterns and gives users an at-a-glance date. Your preference?2. Creation date vs. revision date as the first option
I'm proposing creation date first because it matches the "find my recent signup" user story directly. Revision date is also useful (sort by recently-modified) and could be a follow-up toggle. Is there a reason to prefer revision date, or to ship both at once?
3. Staged client rollout
I'd like to ship in this order to keep each PR small and reviewable:
SortFn/bitSortablepatternVAULT_SORT_ORDERunderVAULT_SETTINGS_DISKso sort choice persistsclientsStages 1–2 are almost copy-paste once the pattern's agreed. Stage 4 is where real design discussion is needed — the popup has no column headers and groups by cipher type, so "where does the sort toggle live in a 360px popup" is a UX call I'd want you to make. Is the staged sequencing reasonable, or would you prefer a single coordinated PR across desktop+web?
4. Grouping / timeline view (later follow-up)
A natural next step is section headers that group items by month/year (like a phone photo timeline), so users can skim "January 2025" → "February 2025" → etc. This would be a separate, larger proposal after stages 1–3 land — flagging it now so you know the direction but not asking you to decide on it today.
Technical notes
CipherView.creationDate: Dateis populated on the client (libs/common/src/vault/models/view/cipher.view.ts:57). No server/API work needed.apps/desktop/src/vault/app/vault-v3/plus a new helper inCipherViewLikeUtils(following the existingisArchived/isDeleteddual-branch pattern forCipherView | CipherListView).dateCreated→ "Created" already exists inapps/desktop/src/locales/en/messages.json.What I'm asking for
A maintainer 👍 or 👎 on the staged approach, plus answers (or pointers to answers) on the four questions above. Once I have direction, I'll open the Stage 1 desktop PR linking back to this discussion.
Thanks for your time on this — happy to adjust the scope or approach based on your feedback.
Beta Was this translation helpful? Give feedback.
All reactions