sessions: Redesign session list with hover-reveal show-more, PR status icons, and compact layout#304637
Merged
sessions: Redesign session list with hover-reveal show-more, PR status icons, and compact layout#304637
Conversation
- Added `proto-group-hover.png` to represent the hover state of the group. - Added `proto-group-nohover.png` to represent the default state of the group.
…n badges and icons
…d improve hover reveal effects
…d improve hover reveal behavior
… adjust hover behavior
…and adjust hover behavior
…ity and z-index handling
… remove compact option
…nality with dynamic height adjustments
…n AgentSessionShowMore and AgentSessionShowLess renderers
… hover detection and section label attributes
…or improved accuracy
…nd/collapse logic
…dling and update CSS for visibility control
…roved visibility control
- Deleted multiple log files generated during Playwright tests to clean up the repository. - Removed unnecessary instances of `AgentSessionShowMoreRenderer` and `AgentSessionShowLessRenderer` in `AgentSessionsControl`. - Streamlined the rendering process in `AgentSessionShowMoreRenderer` and `AgentSessionShowLessRenderer` by eliminating redundant code and event handling. - Updated the handling of section labels in the agent sessions to improve performance and maintainability.
…oving timeout logic
…aintain valid references
Contributor
There was a problem hiding this comment.
Pull request overview
Redesigns the Agent Sessions list UI/behavior (used by the sessions app, and partially by the workbench chat view) to support compact “show more/less” interactions, PR status indicators, and additional compact layout options.
Changes:
- Added “show more” hover-reveal behavior (compact mode) and introduced a “show less” list item for collapsing expanded repository groups.
- Added status-only icon mode and PR status icons (pull request / merged) plus related styling.
- Added sessions-app-specific configuration flags and CSS overrides to enable a more compact layout in the sessions app.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/test/browser/componentFixtures/agentSessionsViewer.fixture.ts | Updates fixture construction for the section renderer’s new options parameter. |
| src/vs/workbench/contrib/chat/test/browser/agentSessions/agentSessionsDataSource.test.ts | Extends datasource tests to cover the new “show less” item when expanding repository groups. |
| src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css | Adds styling for PR status icons and the new details-row icon element. |
| src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.ts | Implements status-only icons, PR status icon selection, show-more/show-less renderers, and list delegate changes. |
| src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.ts | Introduces IAgentSessionShowLess + type guard. |
| src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.ts | Implements compact hover-driven show-more/show-less height animation and show-less click handling. |
| src/vs/sessions/contrib/sessions/browser/sessionsViewPane.ts | Enables the new compact options for the sessions app view pane. |
| src/vs/sessions/contrib/sessions/browser/media/sessionsViewPane.css | Adds sessions-app-scoped CSS overrides for compact show-more/show-less presentation. |
src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.ts
Show resolved
Hide resolved
src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.ts
Outdated
Show resolved
Hide resolved
src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.ts
Outdated
Show resolved
Hide resolved
src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.ts
Outdated
Show resolved
Hide resolved
src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.ts
Show resolved
Hide resolved
src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.ts
Show resolved
Hide resolved
src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.ts
Show resolved
Hide resolved
- Remove unused sessionToSection map (only sectionToShowMore is needed) - Cancel pending animation frames on dispose to prevent use-after-free - Guard updateElementHeight with try/finally around isUpdatingHeight flag - Respect prefers-reduced-motion via IAccessibilityService.isMotionReduced() - Track current animated height to avoid visual jump on mid-animation collapse - Remove stale data-section-label attribute when template is reused - Gate compact show-more label behind compactLabel option (core keeps original text) - Use COLLAPSED_HEIGHT constant instead of magic number 1 in getHeight - Use targetWindow.requestAnimationFrame for multi-window support Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
Author
|
Addressed all 7 review comments in commit 2a7d6f4:
Also fixed lint warnings: using |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
justschen
approved these changes
Mar 25, 2026
DonJayamanne
approved these changes
Mar 25, 2026
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
Redesigns the agent sessions list in the sessions app to match the prototype mockup. All changes are scoped to the sessions app layer — the core workbench session list is unaffected.
Changes
Show-more/show-less with hover animation
requestAnimationFrame-driven height animation since the virtualized list uses absolute positioningPR status icons
git-pull-requesticon in the status columngit-mergeiconsession.metadata.pullRequestUrlandsession.metadata.pullRequestMergedCompact layout options (sessions app only)
hideSectionCount— hides the session count next to section headershideSessionBadge— hides the repository badge on session cards (redundant when grouped by repo)useStatusOnlyIcons— icon column shows only status indicators; session type icon moves to the details rowcompactShowMore— enables the hover-reveal show-more behaviorTimestamp always visible
Files changed
agentSessionsControl.ts— Show-more hover logic, section map, animation, refresh resilienceagentSessionsViewer.ts— Show-more/show-less renderers, status-only icons, section renderer optionsagentSessionsModel.ts—IAgentSessionShowLesstype and helpersagentsessionsviewer.css— Show-more compact styles, details icon stylessessionsViewPane.ts— Passes new compact options to the controlsessionsViewPane.css— Sessions-app-specific show-more line decoration styles