When viewing a group, remember the last user-chosen "Sort by" and "show archive" options
Problem to solve
When loading a project group in GitLab, the "sort by" dropdown is always set to "Last Created", which feels okay after creating projects for the first time, but seems odd as a default "sort by" on a day to day basis. If anything, sorting by name (ascending) feels like a more natural default.
This is even more obvious with the "show / hide" archive options in the same dropdown. One would imagine that once a user sets this option to either "show", "hide", or "show only", that it should always use that option until it's changed again by the user.
Further details
The primary goal would be to not have to change the sort by every time a user loads a group's page.
Proposal
My proposal would be in two parts:
- Save "sort by" default per group based on last "sort by" chosen for that group
- Save the "show / hide" archive setting (in the same dropdown) for that group
- Update the fallback default from
Created
toUpdated
for those who haven't yet visited the page as per discussion here and here.
The benefit would be to save a "sort by" preference per group-- this way, a user could see a certain view for each group-- if for instance, one group we want to watch to sort when it was last updated (if we're not active contributors), and one group we want to always sort by name (we're active contributors, but aesthetically by name might look better.)
If not obvious, this setting should probably be saved "per user" and not applied to everybody sharing the repo, as you would not want everyone on a repo fighting to set their default preference for "sort by" every time they load a group page.
What does success look like, and how can we measure that?
Success would be to be able to successfully set a "sort by" and "show / hide archive" preference per group, per user, that persist upon user logout / login, and this preference be applied whenever the logged in user re-visits the group the preference is set for. (And to have sensible defaults (perhaps current defaults) when the preference is not set.)