feat: Multi-agent session grouping and timeline view#65
Merged
Conversation
Replace .onExitCommand/.onKeyPress(.escape) with NSEvent local monitor that intercepts ESC at the event level before TextField consumes it.
Scan {sessionId}/subagents/ directories to discover agent sessions
and link them to parent sessions. Group sub-agents under parents in
the sidebar with expandable rows, type badges, and agent count.
Add a Gantt-chart timeline view using Apple Charts to visualize
concurrent session execution.
Replace HSplitView with HStack + custom draggable divider to prevent the split from rebalancing when detail pane content changes. Width is persisted via @SceneStorage.
…selection Guard against re-assigning a stub session over a loaded one when tapping an already-selected row. Also re-enable project selection on header click.
Chevron toggles collapse, project name sets selectedProject.
Clicking a project name now shows the project detail view with session cards in the detail pane, restoring the previous behavior.
…add accent border to project session cards
leonardocardoso
added a commit
that referenced
this pull request
May 16, 2026
* fix: ESC key dismisses global search overlay Replace .onExitCommand/.onKeyPress(.escape) with NSEvent local monitor that intercepts ESC at the event level before TextField consumes it. * feat: Multi-agent session grouping and timeline view (#60, #61) Scan {sessionId}/subagents/ directories to discover agent sessions and link them to parent sessions. Group sub-agents under parents in the sidebar with expandable rows, type badges, and agent count. Add a Gantt-chart timeline view using Apple Charts to visualize concurrent session execution. * fix: Prevent sessions list from shrinking on session selection Replace HSplitView with HStack + custom draggable divider to prevent the split from rebalancing when detail pane content changes. Width is persisted via @SceneStorage. * Increase line limit for session and agent row titles to 2 lines * Fix stuck loading when re-selecting same session and restore project selection Guard against re-assigning a stub session over a loaded one when tapping an already-selected row. Also re-enable project selection on header click. * Separate project collapse and selection into distinct tap targets Chevron toggles collapse, project name sets selectedProject. * Show ProjectSessionsView when project selected without a session Clicking a project name now shows the project detail view with session cards in the detail pane, restoring the previous behavior. * Fix project selection: clear session on click, remove scroll-to-top, add accent border to project session cards * Move sub-agents badge inside the session row's highlighted area * Move agent badge inline into session row to prevent overlap * Add unit tests for SessionGroup grouping logic * Switch session browser screenshot to dark mode * Update session browser screenshot to dark mode
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.
Summary
{sessionId}/subagents/directories are grouped under parent sessions with expandable rows, type badges, and descriptionsCloses #60
Closes #61
Test plan
SessionGroup.group()— 8 tests covering grouping, sorting, orphans, edge casestestMultiAgentSessions)