Skip to content

Show all subagents in a compact, consistent session panel #413

Description

@m-aebrer

Summary

The dashboard session view silently displays only four subagent buttons, even when a session has more subagents. Make every subagent accessible without allowing the bottom dock to grow excessively, and align the section's collapse control with the task tracker's visual style and behavior.

Current Behavior

  • The session view renders only the first four subagents because the list is hard-limited with .slice(0, 4).
  • Additional subagents have no button or overflow indicator, despite being included in the running/done count.
  • The subagent section uses a pill-style subagents ▴/▾ button, while the task tracker uses a simpler ▸/▾ summary indicator.
  • The subagent section always starts expanded, whereas the task tracker defaults to collapsed on mobile.

Proposed Behavior

  • Make every subagent accessible through a compact, bounded UI, such as a scrollable list or an accessible overflow menu.
  • Continue showing concise status, agent type, and task-summary information for each subagent.
  • Use the same collapse indicator and interaction pattern as the task tracker.
  • Keep the layout usable on both desktop and mobile without allowing a large number of agents to dominate the session dock.

Acceptance Criteria

  • Sessions with more than four subagents provide access to every subagent.
  • No subagent is silently omitted.
  • The running and completed counts continue to reflect the full collection.
  • Each listed subagent retains its status, agent type, task summary, and drill-in navigation.
  • The expanded content has a compact, bounded overflow treatment.
  • The collapse indicator visually matches the task tracker: when collapsed and when expanded.
  • Collapse and expansion are keyboard accessible and expose appropriate semantics.
  • Desktop and mobile layouts remain usable.
  • UI tests cover more than four subagents, access to overflow entries, navigation, and collapse behavior.

Technical Notes

  • The four-agent limit is in packages/dashboard/src/client/screens/session.tsx:
    <For each={[...liveAgents(), ...doneAgents()].slice(0, 4)}>
  • Relevant styles are in packages/dashboard/src/client/styles/app.css under .tasks and .subagent-strip.
  • Consider using the task tracker's native <details>/<summary> pattern for consistent collapse semantics and styling.
  • Existing subagent collapse coverage is in packages/dashboard/test/client/screens.test.tsx, but it currently exercises only one subagent and does not catch truncation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdashboardDashboard server or clientuxUser experience improvements

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions