Repository navigation
sessions: polish connector recommendations - #342181
Closed
Harald Kirschner (digitarald) wants to merge 5 commits into
Closed
Harald Kirschner (digitarald) wants to merge 5 commits into
Harald Kirschner (digitarald) wants to merge 5 commits into
Conversation
Show one random task-led recommendation with compact, muted styling. Dismiss without replacement and add connector-specific accessible tooltips. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Harald Kirschner (digitarald)
requested review from
Hawk Ticehurst (hawkticehurst)
and
a balanced review from Copilot
October 16, 2026 21:31
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The translucent hover background exposes custom wallpaper behind recommendation text, reducing readability.
1 open issue
What changed in this PR
Refines connector discovery in the Agents window into a quieter, task-focused recommendation below the new-session composer.
Changes:
- Shows one stable random recommendation; dismissal hides it and restores input focus.
- Adds localized task copy, compact styling, and connector-specific tooltips.
- Updates accessibility help, unit tests, and deterministic visual fixtures.
| File | Description |
|---|---|
| src/vs/sessions/contrib/chat/test/browser/sessionsChatAccessibilityHelp.test.ts | Updates expected accessibility guidance. |
| src/vs/sessions/contrib/chat/test/browser/newChatWidget.fixture.ts | Adds deterministic single-recommendation scenarios. |
| src/vs/sessions/contrib/chat/test/browser/newChatConnectorRecommendations.test.ts | Covers selection, dismissal, copy, and tooltips. |
| src/vs/sessions/contrib/chat/browser/sessionsChatAccessibilityHelp.ts | Documents single-recommendation interactions. |
| src/vs/sessions/contrib/chat/browser/newChatWidget.ts | Adapts component construction. |
| src/vs/sessions/contrib/chat/browser/newChatConnectorRecommendations.ts | Implements stable selection and compact actions. |
| src/vs/sessions/contrib/chat/browser/media/newChatConnectorRecommendations.css | Styles the compact recommendation surface. |
Review effort: Balanced
| .monaco-button.new-session-connector-recommendation-card-primary:hover { | ||
| border-color: var(--vscode-focusBorder); | ||
| background-color: color-mix(in srgb, var(--vscode-focusBorder) 8%, var(--vscode-editorWidget-background)); | ||
| background-color: var(--vscode-toolbar-hoverBackground); |
Remove connector-specific description overrides and cover product-owned copy in regression tests. Fixture metadata previews the companion distro update. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Harald Kirschner (digitarald)
enabled auto-merge (squash)
October 16, 2026 21:48
Apply the one-line upstream correction from a32f4c9 to unblock Compile & Hygiene without pulling unrelated main changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Accept the reviewed CI images for the approved compact single-recommendation design. All 79 pinned screenshots match the CI manifest. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Hawk Ticehurst (hawkticehurst)
added a commit
that referenced
this pull request
Oct 20, 2026
Adopt the single stable task-led recommendation, muted description-only styling, compact native close action, and connector-specific tooltip from #342181 while preserving URL overrides and separate dismissal state.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Hawk Ticehurst (hawkticehurst)
added a commit
that referenced
this pull request
Oct 20, 2026
Adopt the single stable task-led recommendation, muted description-only styling, compact native close action, and connector-specific tooltip from #342181 while preserving URL overrides and separate dismissal state.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Member
|
Closing in favor of #342129. The design changes from this PR have been adopted in the linked PR. |
auto-merge was automatically disabled
October 20, 2026 19:12
Pull request was closed
Hawk Ticehurst (hawkticehurst)
added a commit
that referenced
this pull request
Oct 20, 2026
Adopt the single stable task-led recommendation, muted description-only styling, compact native close action, and connector-specific tooltip from #342181 while preserving URL overrides and separate dismissal state.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Hawk Ticehurst (hawkticehurst)
added a commit
that referenced
this pull request
Oct 21, 2026
* Recommend connectors from prompt URLs Detect known connector domains locally in the new-session composer and show only matching available recommendation cards. Preserve accessible announcements, dismissal behavior, and responsive fixture coverage.\n\nFixes #341453\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Keep static and dynamic connector dismissals separate Preserve static recommendations until they are dismissed, temporarily prioritize URL-matched cards, and track dynamic dismissals independently per connector. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Make connector URL matching linear Consume complete URL tokens, avoid nested path false positives, and skip prompt reads while recommendations are disabled. Update the intentional primary Light fixture baseline. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Wait for connector fixture recommendations Make screenshot fixtures wait for URL-triggered cards to settle so Linux CI captures complete recommendation and notice stacks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Limit dynamic connector recommendations Restrict URL-driven recommendations to Linear, Notion, Work IQ, Azure Data Explorer, and Sentry while retaining unsupported URLs as negative regression coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Configure connector recommendation behavior in product data Let distro metadata define URL domains and whether each connector appears statically, while preserving existing entries as static by default. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Defer connector fixture paints until ready Prevent blocking screenshots from capturing intermediate prompt states before URL-driven recommendation and notice stacks settle. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Match the compact connector recommendation design Adopt the single stable task-led recommendation, muted description-only styling, compact native close action, and connector-specific tooltip from #342181 while preserving URL overrides and separate dismissal state.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Show connector recommendations only for URLs Remove static recommendation selection and metadata so the compact recommendation surface appears only when the composer contains a configured connector URL. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Rename connector URL metadata Use the concise product field name urls and cover Slack workspace URLs in the connector recommendation regression matrix. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Integrate connector recommendations with chat tips Render URL-matched connectors through the existing tips surface, including optional product icons and navigation across multiple matches. Fix connector marketplace deep links by resolving both stable keys and display names.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix inline chat tip fixture mock Provide the tip-change event required by ChatInputTipPresenter so unrelated inline-chat fixtures continue rendering after contextual tip support.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update connector tip screenshot hashes Accept the reviewed Linux component fixture baselines for connector recommendations rendered through the standard chat tips UI.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Defer multi-connector fixture paint Keep the asynchronous multi-URL recommendation fixture transparent until its final navigable tip state is ready.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update connector accessibility help assertion Align the focused accessibility help test with the connector-specific wording used by the rebased implementation.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

Follow-up to #341844; relates to #341452. Companion product copy: microsoft/vscode-distro#1470.
Summary
Polish the new-session connector recommendations into a quieter, task-led discovery surface.
Screenshots
Cropped, 2x-resolution captures of the implemented component (not the HTML mockup), using fixture product metadata matching microsoft/vscode-distro#1470. The new task copy reaches the product after the distro PR merges and its merged revision is picked up through the usual distro update; until then this generic renderer displays existing product descriptions.
Dark theme
Light theme
Connector tooltip
Narrow layout
How to test
sessions/chat/newWidget/newChatWidget/ConnectorRecommendationsand its narrow, phone, WorkIQ, fallback-icon, and dismissed variants. Fixtures use a single configured connector for deterministic screenshots; unit tests cover random selection across the catalog.Validation
Commands used the repository-required Node runtime via
npm.cmd exec --yes --package=node@24.18.0 --.npm.cmd exec --yes --package=node@24.18.0 -- node build\next\build-fast.ts --client-only- passed after merging current main.npm.cmd exec --yes --package=node@24.18.0 -- .\scripts\test.bat --run src\vs\sessions\contrib\chat\test\browser\newChatConnectorRecommendations.test.ts --run src\vs\sessions\contrib\chat\test\browser\sessionsChatAccessibilityHelp.test.ts --reporter dot- 51 passed after merging current main.npm.cmd exec --yes --package=node@24.18.0 -- npm.cmd run typecheck-client- passed after applying the one-line upstream duplicate-property fix from a32f4c9.npm.cmd exec --yes --package=node@24.18.0 -- node build\eslint.ts src\vs\sessions\contrib\chat\browser\newChatConnectorRecommendations.ts src\vs\sessions\contrib\chat\test\browser\newChatConnectorRecommendations.test.ts src\vs\sessions\contrib\chat\test\browser\newChatWidget.fixture.ts- passed; the other changed TypeScript files also passed targeted lint earlier in this session.npm.cmd exec --yes --package=node@24.18.0 -- node build\stylelint.ts src\vs\sessions\contrib\chat\browser\media\newChatConnectorRecommendations.css- passed.git diff --check- passed. NVDA and live connector authentication were not exercised.Product-copy ownership correction
Removed the renderer's ID-based description overrides. The known-connector regression test deliberately supplies different product descriptions and verifies they are rendered unchanged. Client build, 51 targeted tests, ESLint, and scoped hygiene passed after this correction.
npm.cmd exec --yes --package=node@24.18.0 -- node build\hygiene.ts src\vs\sessions\contrib\chat\browser\newChatConnectorRecommendations.ts src\vs\sessions\contrib\chat\test\browser\newChatConnectorRecommendations.test.ts src\vs\sessions\contrib\chat\test\browser\newChatWidget.fixture.ts- passed.CI repairs
gitServiceproperty in the Git state test fixture; no runtime behavior changes.npm.cmd exec --yes --package=node@24.18.0 -- .\scripts\test.bat --run src\vs\platform\agentHost\test\node\agentHostGitStateService.test.ts --grep AgentHostGitStateService --reporter dot- 88 passed.npm.cmd exec --yes --package=node@24.18.0 -- node build\hygiene.ts src\vs\platform\agentHost\test\node\agentHostGitStateService.test.ts- passed.node build\lib\screenshotBlocksCi.ts .screenshot-review\screenshots\manifest.json .screenshot-review\blocks-ci-screenshots.lf.md https://hediet-screenshots.azurewebsites.net- passed against the downloaded CI manifest with LF-normalized baseline content.