Add agent-mode tip for enabling agentic browser integration#297026
Add agent-mode tip for enabling agentic browser integration#297026meganrogge merged 7 commits intomainfrom
Conversation
Co-authored-by: meganrogge <29464607+meganrogge@users.noreply.github.com>
|
@copilot the setting is |
Updated to use Screenshot: https://github.com/user-attachments/assets/c1fbe8f9-e829-4c75-9033-d0621f5dd031 |
There was a problem hiding this comment.
Pull request overview
This PR adds a new chat welcome tip (tip.agenticBrowser) to promote browser tool integration for Agent mode users. The tip appears when browser chat tools are disabled and is intended to be suppressed once the setting has been customized or the settings link is clicked. The PR also extends existing test coverage to validate these behaviors.
Changes:
- Adds
tip.agenticBrowserto the tip catalog with eligibility conditions based on Agent mode and browser tools setting - Introduces
excludeWhenSettingsChangedanddismissWhenCommandsClickedfields to tip definitions - Implements dismiss-on-command-click functionality when users click settings links in tips
- Extends parameterized tests to cover the new tip and its setting-based exclusion behavior
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/vs/workbench/contrib/chat/browser/chatTipService.ts | Adds tip definition for tip.agenticBrowser, introduces excludeWhenSettingsChanged and dismissWhenCommandsClicked fields to ITipDefinition, implements command-click dismiss logic, and adds these fields to tip.thinkingPhrases |
| src/vs/workbench/contrib/chat/test/browser/chatTipService.test.ts | Extends parameterized tests to include tip.agenticBrowser with setting-based exclusion tests, adds new test suite for dismissing tips when settings commands are clicked |
| ContextKeyExpr.notEquals('config.workbench.browser.enableChatTools', true), | ||
| ), | ||
| enabledCommands: ['workbench.action.openSettings'], | ||
| excludeWhenSettingsChanged: ['workbench.browser.enableChatTools'], |
There was a problem hiding this comment.
The excludeWhenSettingsChanged field is defined in the tip definition but there is no implementation to actually check this field and exclude tips based on it. Currently, the code only has hardcoded checks for specific tip IDs (see lines 970-973 for tip.thinkingPhrases). You need to either:
- Add a generic implementation in the
_isEligiblemethod that checks theexcludeWhenSettingsChangedfield for all tips, OR - Add a specific hardcoded check for
tip.agenticBrowsersimilar to the existing check fortip.thinkingPhrases
Without this implementation, the test at line 983-990 in chatTipService.test.ts will fail because the tip will still be shown even after the setting has been changed.
src/vs/workbench/contrib/chat/test/browser/chatTipService.test.ts
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Adds a new Chat welcome tip that surfaces browser tool integration for Agent mode users. The tip appears only when browser chat tools are not enabled and is suppressed once the setting has been customized.
Also, ensures that once a setting link has been clicked from the tip, that tip is not shown again.
Description
tip.agenticBrowserin the chat tip catalog.workbench.browser.enableChatToolssetting viaworkbench.action.openSettings.chatModeKind === Agentconfig.workbench.browser.enableChatTools !== trueexcludeWhenSettingsChangedflow withworkbench.browser.enableChatToolsso it stops surfacing after user customization.Test updates
excludeWhenSettingsChangedChatTipService tests to include:tip.agenticBrowser+workbench.browser.enableChatToolsCode snippet
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
redirector.gvt1.com/proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --enable-crash-reporter=5bd0f69d-c930-4bce-999b-9fdd9968e8ad,no_channel --user-data-dir=/tmp/vscode-tests-1771864290447 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,6346735219836622222,16193391816832691861,262144 --enable-features=PdfUseShowSaveFilePicker --disable-features=LocalNetworkAccessChecks,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation --variations-seed-version --trace-process-track-uuid=3190708989122997041(dns block)./.build/electron/code-oss ./.build/electron/code-oss --no-sandbox test/unit/electron/index.js --grep ChatTipService(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.