sessions: preserve recorded GitHub titles in pills - #335387
Conversation
Use artifact labels as an immediate fallback until live GitHub issue details resolve, including accessible labels and compact-pill tooltips. Fixes #335383 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Exercise the rendered label and accessible metadata directly, and remove the fixture that could not render production popovers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The title propagation and fallback behavior are consistent across both presentation paths and have focused regression coverage.
Pull request overview
Preserves recorded GitHub issue titles across Agents Window and workbench pill surfaces.
Changes:
- Propagates recorded issue titles through artifact and session metadata.
- Applies live-title, recorded-title, then number-only fallback ordering.
- Adds rendering, accessibility, metadata, and equality regression coverage.
File summaries
| File | Description |
|---|---|
src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.ts |
Renders recorded titles in workbench issue pills. |
src/vs/workbench/contrib/chat/test/browser/agentHost/agentHostSessionInputPills.test.ts |
Tests metadata and rendered labels. |
src/vs/sessions/services/sessions/common/session.ts |
Adds issue titles and equality handling. |
src/vs/sessions/services/sessions/test/common/session.test.ts |
Tests title-aware workspace equality. |
src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionArtifacts.ts |
Preserves titles during artifact partitioning. |
src/vs/sessions/contrib/providers/agentHost/browser/baseAgentHostSessionsProvider.ts |
Projects titles into issue references. |
src/vs/sessions/contrib/providers/agentHost/test/browser/localAgentHostSessionsProvider.test.ts |
Verifies provider title propagation. |
src/vs/sessions/contrib/chat/browser/sessionChatInputToolbar.ts |
Implements live and recorded title fallback. |
src/vs/sessions/contrib/chat/test/browser/sessionChatInputToolbar.test.ts |
Tests labels, tooltips, and accessibility text. |
Review details
- Files reviewed: 9/9 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Assert that Agents Window issue entries dispatch their exact issue context and editor/panel entries open the GitHub URL externally. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cover exact pull request context dispatch in the Agents Window and external URL activation in editor and panel chat. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Carry pull request artifact labels into regular editor and panel pill dropdowns, accessible names, and compact tooltips to match the Agents Window. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Scope the Agents-style trailing alignment to shared chat pill rows with toolbar actions, while preserving base ActionList spacing for rows without actions or with structured content. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
📬 CODENOTIFYThe following users are being notified based on files changed in this PR: Ulugbek Abdullaev (@ulugbekna)Matched files:
Sandeep Somavarapu (@sandy081)Matched files:
Ladislau Szomoru (@lszomoru)Matched files:
|
Satisfy the repository lint rule while preserving explicit external-open assertions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The title propagation, fallback behavior, accessibility metadata, styling scope, and regression coverage are consistent and complete.
Review details
- Files reviewed: 11/11 changed files
- Comments generated: 0 new
- Review effort level: Balanced
Avoid union-property narrowing in the test helper and verify the full external opener contract. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The title propagation, fallback behavior, accessibility metadata, styling scope, and activation paths are consistent and adequately tested.
Review details
- Files reviewed: 11/11 changed files
- Comments generated: 0 new
- Review effort level: Balanced
Summary
Fixes #335383
Testing
npm run compile— full client and Copilot extension compile, 0 source errorsVisual validation
The controlled Component Explorer harness renders the issue entries produced by the production pill path with production action-widget styling. The temporary screenshot harness was removed after capture, so it does not add test-only implementation code to this PR.
These screenshots are static captures, but the product rows are interactive action-list items rather than inline blue anchors. Clicking a row or accepting it from the keyboard invokes its issue or pull-request entry. Tests verify that the Agents Window dispatches the exact issue or pull-request context and editor/panel chat opens the exact GitHub issue or pull-request URL with
openExternal: true; the existing issue and pull-request actions then use contributed openers when available or fall back to the external web URL.Exact DOM assertions also cover compact issue and pull-request title-plus-URL tooltips, visible dropdown labels, accessible labels, URL descriptions, and activation targets.
Regular editor chat
The same restored Agent Host session displays recorded pull-request titles in regular editor chat. The shared
ChatDropdownPillActionViewItemnow scopes the Agents-style row alignment to chat-pill rows with toolbar actions; detail, inline-toggle, standalone-toggle, and no-toolbar rows preserve their base ActionList spacing.Interactive validation
20260910-vscode-issue-pr-show-title.mp4
Accessibility validation
Tested in Screen Reader Optimized mode in both the Agents Window and regular editor chat. Using keyboard focus and Enter:
Show 2 pull requests/Show 2 issues, witharia-haspopup=listboxand correct expanded state;Pull Requests/Issueslistbox;Copy Pull Request URL/Copy Issue URL; andThe same behavior was verified in both chat surfaces.