Skip to content

feat: sort workspaces by agent status and recency - #1037

Merged
mariusvniekerk merged 10 commits into
mainfrom
t3code/sort-workspaces-by-hook-status
Sep 4, 2026
Merged

feat: sort workspaces by agent status and recency#1037
mariusvniekerk merged 10 commits into
mainfrom
t3code/sort-workspaces-by-hook-status

Conversation

@mariusvniekerk

@mariusvniekerk mariusvniekerk commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator
  • Groups desktop and phone workspaces by agent hook status. Workspaces without hook reports stay unlabeled at the end of the list.
  • Shows the timestamp that drives each flat sort in the row metadata, beneath the pull request or issue chip when one exists.
  • Keeps completed rows, hook timestamps, and their positions stable when opened from the Agent status sort.

Docs Test and others added 7 commits September 3, 2026 13:55
Maintainers need to scan agent workspaces by lifecycle outcome, especially completed runs, without searching the repository-grouped list.

Use the server's attention order and keep newer workspaces first within each state. Desktop and phone workspace lists now present the same stable grouping.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
Maintainers need to see why a workspace appears at its current position without opening it or comparing hidden dates.

Show the active sort time below each linked-item chip. Use the hook report, terminal activity, item activity, or creation time that matches the selected view, and keep repository-grouped rows unchanged.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
Rows without a linked item collapsed the right metadata column, so recency
and dirty-state markers no longer shared a scan line with other workspaces.
Reserve the chip footprint without presenting a fake item action.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
Workspace recency labels looked smaller and more technical than the same
timestamps in pull request and issue lists. Use the established metadata text
treatment so maintainers can scan recency consistently across views.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
Agent-status sorting needs visible group membership and must use the same hook
recency shown to maintainers. Creation time can contradict the displayed order
after a later hook update.

Keep Idle and Unreported visible in this mode, preserve Done after row
acknowledgement, and match pull request and issue timestamp typography across
desktop and phone layouts.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
The Agent status view can contain many workspaces that have no hook report.
Repeating a placeholder on every row hides the statuses that need attention.

Keep those workspaces in the final sort bucket, but leave their status area
empty on desktop and phone layouts.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
Maintainers use Agent status as a stable queue. Opening a completed workspace
must not make its row jump or erase the completion time.

Lock this behavior in the sidebar interaction contract. Completion
acknowledgement remains limited to the other sort modes.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
@roborev-ci

This comment has been minimized.

@mariusvniekerk mariusvniekerk self-assigned this Sep 4, 2026
Workspace recency should not disappear because a row lacks a linked pull
request or issue. Phone rows tied timestamp rendering to the item chip, and
Agent status rows without a hook report hid the creation fallback used for
ordering.

Render those fallback times independently while keeping the unreported agent
status unlabeled.

Addresses both Medium findings in roborev-ci comment
#1037 (comment) and local
roborev job 13603 at c6d929b.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
@roborev-ci

roborev-ci Bot commented Sep 4, 2026

Copy link
Copy Markdown

roborev: Combined Review (56a2e58)

Verdict: One medium-severity testing gap identified.

  • Mediumfrontend/tests/e2e/workspace-sidebar.spec.ts:4715: The mobile layout test only resizes a desktop Playwright context to 390px and does not use a real phone device profile or phone-like user agent/touch settings. Run the assertions with an iPhone or Pixel profile, skipping unsupported Firefox as needed.

Reviewers: 2 done | Synthesis: codex, 6s | Total: 6m21s

Workspaces without a hook report can still have recent pull request or issue
activity. Ordering those rows by creation alone hides that newer provider
activity.

Use item activity before creation time for both the Agent status order and its
unlabeled relative timestamp.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
@roborev-ci

This comment has been minimized.

Agent status is a stable queue for completed workspaces. Opening a completed
workspace from that view must not acknowledge it and hide its Done state after
the maintainer switches to another sort mode.

Keep completion acknowledgement limited to navigation from the other sort
modes so the visible state matches the action that recorded it.

Generated with Codex
Co-authored-by: Codex <noreply@openai.com>
@roborev-ci

This comment has been minimized.

@mariusvniekerk
mariusvniekerk merged commit 7fb30cb into main Sep 4, 2026
17 checks passed
@mariusvniekerk
mariusvniekerk deleted the t3code/sort-workspaces-by-hook-status branch September 4, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant