Repository navigation
Recommend connectors from prompt URLs - #342129
Merged
Hawk Ticehurst (hawkticehurst) merged 15 commits intoOct 21, 2026
Merged
Hawk Ticehurst (hawkticehurst) merged 15 commits into
Hawk Ticehurst (hawkticehurst) merged 15 commits into
Conversation
roblourens
previously approved these changes
Oct 16, 2026
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
URL tokenization produces false recommendations from punctuated paths and exhibits quadratic runtime that can stall typing.
2 open findings
What changed in this PR
Makes connector recommendations contextual to URLs in the Agents window’s new-chat prompt.
Changes:
- Adds shared hostname matching for eight connector families.
- Updates card visibility, dismissal focus, and screen-reader announcements.
- Expands tests and fixtures for URL-triggered recommendations.
| File | Description |
|---|---|
| src/vs/workbench/contrib/chat/common/connectorRecommendations.ts | Adds URL-to-connector matching. |
| src/vs/sessions/contrib/chat/test/browser/sessionsChatAccessibilityHelp.test.ts | Updates help-text expectations. |
| src/vs/sessions/contrib/chat/test/browser/newChatWidget.fixture.ts | Covers contextual recommendation layouts. |
| src/vs/sessions/contrib/chat/test/browser/newChatConnectorRecommendations.test.ts | Tests matching and visibility. |
| src/vs/sessions/contrib/chat/browser/sessionsChatAccessibilityHelp.ts | Documents URL-triggered cards. |
| src/vs/sessions/contrib/chat/browser/newChatWidget.ts | Connects recommendations to prompt changes. |
| src/vs/sessions/contrib/chat/browser/newChatInput.ts | Exposes input-value change notifications. |
| src/vs/sessions/contrib/chat/browser/newChatConnectorRecommendations.ts | Filters cards and announces new matches. |
🧠 Review effort: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
roblourens
previously approved these changes
Oct 16, 2026
roblourens
previously approved these changes
Oct 16, 2026
Logan Ramos (lramos15)
previously approved these changes
Oct 16, 2026
Hawk Ticehurst (hawkticehurst)
marked this pull request as draft
October 16, 2026 21:29
Hawk Ticehurst (hawkticehurst)
force-pushed
the
hawkticehurst/dynamic-connector-recommendations
branch
from
October 20, 2026 18:42
6676eee to
d244586
Compare
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Hawk Ticehurst (hawkticehurst)
force-pushed
the
hawkticehurst/dynamic-connector-recommendations
branch
from
October 20, 2026 21:10
f22bc3d to
84a3f3f
Compare
Hawk Ticehurst (hawkticehurst)
marked this pull request as ready for review
October 20, 2026 21:23
roblourens
approved these changes
Oct 20, 2026
Hawk Ticehurst (hawkticehurst)
deleted the
hawkticehurst/dynamic-connector-recommendations
branch
October 21, 2026 00:37
2 tasks done
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.

Fixes #341453
Companion product metadata: microsoft/vscode-distro#1469
The new-session composer stays quiet until its prompt contains a recognized connector URL. Matching connectors then appear through the existing chat tips UI, inheriting its setting, eligibility, layout, navigation, accessibility, and session visibility behavior.
Implementation
urlsfield.--vscode-cornerRadius-xSmalltoken; ordinary tips remain text-only.Before and After
Dark
Light
High Contrast Dark
High Contrast Light
Multiple Matching URLs
Narrow Layout
Phone with Notices
Additional States
No Recognized URL
Chat Tips Disabled
Dismissed
Tip with Migration Notice
Keyboard Focus
Validation
npm run typecheck-client— Passed.npm run build-fast -- --client-only— Passed..\scripts\test.bat --run src/vs/sessions/contrib/chat/test/browser/newChatConnectorRecommendations.test.ts --run src/vs/workbench/contrib/chat/test/browser/chatTipService.test.ts --run src/vs/workbench/contrib/chat/test/browser/widget/input/chatInputTipPresenter.test.ts --run src/vs/workbench/contrib/chat/test/browser/aiCustomization/aiCustomizationManagementEditor.test.ts— Passed, 251 tests.Targeted ESLint across the 14 changed TypeScript files — Passed.
Targeted stylelint for
chatTipContent.css— Passed; it reported three pre-existing spacing-token suggestions on unchanged toolbar margins.npm run valid-layers-check— Passed.git diff --check— Passed.Component Explorer connector fixture error check — Passed, 34 of 34 fixtures rendered without errors.
Component Explorer representative stability check — Passed, 7 of 7 fixtures stable, including Dark, Light, both High Contrast themes, narrow, dismissed, and phone-with-notices.
Multiple-match fixture — Stable and visually verified with Previous Tip, Next Tip, and Dismiss Tip controls.
Reviewed Linux blocks-CI screenshot baselines for the three changed connector fixtures — Updated from CI-provided hashes.
Rebased onto current
origin/main; focused post-rebase tests and 38 relevant component fixtures passed.Post-rebase Component Fixtures workflow (Screenshots, Playwright Fixture Tests, and aggregate check) — Passed.