Skip to content

feat(workspace): in-flight task indicator + fuller task drawer + artifact search#10

Merged
juacker merged 1 commit into
mainfrom
feat/workspace-ux-polish
May 21, 2026
Merged

feat(workspace): in-flight task indicator + fuller task drawer + artifact search#10
juacker merged 1 commit into
mainfrom
feat/workspace-ux-polish

Conversation

@juacker
Copy link
Copy Markdown
Owner

@juacker juacker commented May 21, 2026

Three independent workspace UX papercuts.

Summary

  1. Header in-flight task indicator. The `N tasks` counter now shows a pulsing dot and `· K active` suffix when any task is in `queued` or `running` state. Tells the user the workspace is waiting on work without having to open the drawer.

  2. Task drawer height. The task list had a hard-capped `max-height: 260px` (≈2 entries). Removed the cap, made `.taskActivity` claim `flex: 1` inside the drawer body, and made `.workspaceDrawerBody` a flex column so children can actually grow. List now fills the full drawer height; the inner list scrolls when it overflows. Memories/artifacts panels are unaffected (they still scroll via the drawer body as before).

  3. Artifacts search. New `ArtifactsList` component renders a small search input at the top of the artifacts drawer that filters case-insensitively by name and path. Distinct empty states for "no artifacts at all" vs. "no artifacts match query".

Test plan

  • `npm run build` clean
  • `npx eslint src/pages/Workspace.jsx` — no new warnings (3 pre-existing, unrelated to this change)
  • Manual: trigger a workspace task. Header should show a pulsing dot + `· 1 active` next to the tasks counter
  • Manual: open the tasks drawer with many tasks — should fill the full drawer height
  • Manual: open the artifacts drawer, type into the search field — list should filter live; clearing the field restores the full list

…fact search

Three independent UX papercuts in the workspace surface:

1. The "N tasks" counter in the header now shows an inline pulsing dot
   and " · K active" suffix when any tasks are queued or running, so
   the user can tell at a glance whether the workspace is waiting on
   work without opening the tasks drawer.

2. The tasks drawer was hard-capping the task list at max-height 260px
   (~2 entries visible). Removed the cap, made `.taskActivity` flex:1
   inside the drawer body so it claims all available vertical space,
   and made the drawer body a flex column so its children can grow.
   Memories/artifacts panels still scroll via the drawer body as
   before.

3. The artifacts drawer now has a search input at the top that filters
   the list case-insensitively by name and path. Empty list shows the
   existing "no artifacts" copy; non-empty list with no matches shows
   a "no artifacts match" message.
@juacker juacker merged commit 8bc1c24 into main May 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant