feat(app): sort sidebar projects by recent activity - #4140
Closed
gengjiawen wants to merge 1 commit into
Closed
Conversation
Add a "Sort projects" preference to the sidebar display menu, shown when grouping by project. "Manual" keeps the existing drag order; "Recent activity" puts the project with the freshest workspace activity first, using the same status timestamp the workspace rows already show. - Default stays "manual", so nothing changes until opted in. - Recency is the latest statusEnteredAt among a project's workspace entries; projects without a timestamp keep their manual relative order after every dated one. - Drag-and-drop is ignored while the recency sort is active, so a drop position taken from a sorted view never overwrites the manual order. - Persisted as an optional key in the sidebar-view store; existing persisted state (strict schema) keeps parsing. Product discussion: getpaseo#4138 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Author
|
@boudra Can you take a look at this ? thx |
Collaborator
|
Closing this feature PR. Please discuss the workflow and shared need in Discussions, following CONTRIBUTING.md. |
Contributor
Author
#4138 I already opened discussion, can you reopen this PR |
Contributor
Author
|
gengjiawen
added a commit
to gengjiawen/paseo
that referenced
this pull request
Sep 9, 2026
gengjiawen
added a commit
to gengjiawen/paseo
that referenced
this pull request
Sep 9, 2026
gengjiawen
added a commit
to gengjiawen/paseo
that referenced
this pull request
Sep 9, 2026
ChrisjanWust
added a commit
to ChrisjanWust/paseo
that referenced
this pull request
Sep 9, 2026
Import 50e089f while preserving compact project workspace preferences. Extend browser coverage to verify sorting and manual-order restoration with compact mode enabled.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Product discussion: #4138 (the same request was filed earlier as #2626 and auto-closed per the issues-are-for-bugs policy).
Adds a Sort projects preference to the sidebar display menu, shown when grouping by project. Manual is the existing drag order; Recent activity puts the project with the freshest workspace activity first, so with many projects the one you are actually working in is always at the top.
Design decisions
statusEnteredAtamong a project's workspace entries — the same timestamp the workspace rows already show (workspace status merged with root-agent activity), so the sort always agrees with what the rows display.QA
Automated coverage
New Playwright e2e exercising the full journey — drag a manual order, switch to Recent activity, watch fresh activity in another project reorder the list live, reload to prove the preference survives the strict persisted schema, switch back to Manual and get the drag order back:
New unit tests for the sort (freshest-first, undated projects keep manual order after dated ones, identity return when nothing moves) plus the store migration carrying the new key:
npm run typecheckandnpm run lintclean. All nine locales carry the new strings.Re-verified on a rebase onto
mainatda8c1b5c9, 80 commits past the original branch point: the rebase is conflict-free, andnpm run typecheck,npm run lint,npm run format:check, the e2e spec and the four unit files above are all green on it.Manual
I deployed the built web UI onto my own live daemon and use it with a dozen projects: the row appears under the display menu in project grouping, Recent activity keeps the active project on top as agents report activity, and Manual brings back my drag order.
The sort row under the display menu, shown only in project grouping:
Four projects. Manual is the drag order; Recent activity puts the freshest first:
Fresh activity in
design-systemmoves it to the top with no manual reorder:Platform matrix
🤖 Generated with Claude Code