Commit Graph

147573 Commits

Author SHA1 Message Date
Josh Spicer d4ab06fee0 Commit customization files to main repo for worktree persistence (#299094)
* Commit customization files to main repo for worktree persistence

Customization files (agents, skills, instructions, prompts, hooks) are
now always committed to the main repository so they persist across
worktrees. When a worktree session is active, the file is also copied
and committed there so the running session picks it up immediately.

- Rewrite SessionsAICustomizationWorkspaceService.commitFiles() with
  dual-commit logic (main repo + worktree)
- Add deleteFiles() to IAICustomizationWorkspaceService interface
- Wire delete action to commit removals to git
- Show friendly warning when main repo commit fails from a worktree

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-04 03:38:45 +00:00
Osvaldo Ortega 76fa9206f1 Merge pull request #299090 from microsoft/osortega/interior-flea
Session window: merge to local
2026-03-03 18:42:59 -08:00
Osvaldo Ortega 68da1933d0 Clean up 2026-03-03 17:55:47 -08:00
Osvaldo Ortega 55dc53f5d3 Review comments 2026-03-03 17:45:30 -08:00
Connor Peet 56ca891d2f api: fix memory leaks in MainThreadManagedSockets (#299093)
* api: fix memory leaks in MainThreadManagedSockets

Refactors MainThreadManagedSockets to properly manage disposables and prevent
memory leaks. Uses DisposableMap for registrations and DisposableStore to
collect socket disposal listeners.

- Changes _registrations from Map<number, IDisposable> to DisposableMap to
  leverage automatic disposal when clearing entries.
- Collects Event.once listeners for socket disposal in a DisposableStore to
  ensure they are properly disposed of when the factory is unregistered.
- Minor whitespace fix on closeRemote method signature.

Refs https://github.com/microsoft/vscode/issues/293200

(Commit message generated by Copilot)

* Better
2026-03-04 01:31:49 +00:00
Rob Lourens 0b270f19fa Don't show Used n references when opening an old session (#299092)
* Don't show Used n references when opening an old session
Alternate fix for #297152

* Don't show Used n references when opening an old session
Alternate fix for #297152
2026-03-04 01:05:30 +00:00
Josh Spicer f7d450f8a3 refactor: update getCliUserSubfolder to clarify prompts exclusion (#299089) 2026-03-04 00:55:09 +00:00
Don Jayamanne fd97f699a2 Disable slash commands for background (#299085) 2026-03-04 00:53:42 +00:00
Paul c7d548ad58 Fix /hooks slash command from blocking chat (#299084) 2026-03-04 00:13:51 +00:00
Connor Peet 5e0dc2f064 Merge pull request #299072 from microsoft/connor4312/fix-mcp-gateway-compile-error
Fix compile error in mcpGatewayToolBrokerChannel test
2026-03-03 16:13:06 -08:00
Robo 3dfa3a438f fix: passing js-flags to utility process (#299069) 2026-03-03 23:57:22 +00:00
Osvaldo Ortega bfd958ec2b Rename 2026-03-03 15:50:29 -08:00
Osvaldo Ortega 26b6024286 Using merge strategy 2026-03-03 15:43:40 -08:00
Matt Bierner a31ef0befe Merge pull request #299033 from mjbvz/dev/mjbvz/pleasant-catshark
Reapply 8e445caeff
2026-03-03 15:43:16 -08:00
Connor Peet c4672f21b5 fix merge error 2026-03-03 15:36:06 -08:00
Matt Bierner 5113d689f7 Merge pull request #299071 from mjbvz/dev/mjbvz/blank-anteater
Make sure we specify a tsconfig.browser.json for browser ext
2026-03-03 15:29:00 -08:00
Martin Aeschlimann 1f3ddd891e add play button in prompt config dialog (#297715) 2026-03-03 23:16:37 +00:00
Connor Peet 876317a6fa Merge remote-tracking branch 'origin/main' into connor4312/fix-mcp-gateway-compile-error 2026-03-03 15:13:40 -08:00
Megan Rogge e848b20931 constrain and make chat questions scrollable (#298786) 2026-03-03 23:10:42 +00:00
Megan Rogge c3d549c240 fix chat tip issue (#299070)
fix #299036
2026-03-03 23:01:30 +00:00
Connor Peet f0113db49c tests 2026-03-03 14:59:38 -08:00
David Dossett 2910902834 Use settings icon instead of tools icon in chat input (#299068) 2026-03-03 14:50:38 -08:00
Connor Peet fa59b650b9 fix: use per-entry resolved tracking instead of autorun for _startupGrace invalidation 2026-03-03 14:43:16 -08:00
Connor Peet 6c608bf99d fix: invalidate _startupGrace when cacheState regresses 2026-03-03 14:26:33 -08:00
Josh Spicer 6acf4df97e McpGateway extensive logging (#299043)
* McpGateway extensive logging

* update

* update
2026-03-03 22:21:47 +00:00
Connor Peet c5d8f77e74 chat: combine multiple pending steering messages into single request (#299061)
* chat: combine multiple pending steering messages into single request

When Copilot is running a tool, sending multiple steering messages only sends
the first one. The chatbot waits indefinitely for the remaining messages.

This fix combines all consecutive pending steering messages into a single
request by:

- Adding dequeueAllSteeringRequests() to ChatModel to dequeue all
  consecutive steering messages at the front of the queue
- Refactoring processNextPendingRequest() to handle both steering and queued
  requests through a unified flow that:
  - Combines multiple steering message texts with \n\n separator
  - Merges attachments from all steering messages
  - Re-parses the combined text
  - Sends as a single request to the agent

Fixes https://github.com/microsoft/vscode/issues/298324

(Commit message generated by Copilot)

* comments
2026-03-03 22:17:23 +00:00
Connor Peet e8e300fb10 fix compile error in mcpGatewayToolBrokerChannel test 2026-03-03 14:05:00 -08:00
Matt Bierner 96ab8cdf49 Make sure we specify a tsconfig.browser.json for browser ext 2026-03-03 14:04:54 -08:00
Connor Peet dc2091f396 chat: add manage action gear icon to installed agent plugins (#299052)
* chat: add manage action gear icon to installed agent plugins

Adds a ManagePluginAction that displays a gear icon in the plugin list
for installed plugins. Clicking the gear icon shows a context menu with
management options (enable/disable, open folder, open README, uninstall),
making it consistent with how extensions and MCP servers display their
management UI.

- Adds ManagePluginAction class that provides dropdown menu with
  management actions for installed plugins
- Adds ManagePluginActionViewItem to render the action as a clickable
  gear icon with context menu
- Updates AgentPluginRenderer to include the gear icon in the action bar
  for installed plugins
- Context menu displays enable/disable, open folder, open README, and
  uninstall options

Fixes https://github.com/microsoft/vscode/issues/298461

(Commit message generated by Copilot)

* chat: clean up manage plugin action to follow MCP pattern

- Extract shared getInstalledPluginContextMenuActionGroups() to
  deduplicate action construction between gear menu and context menu
- Restructure ManagePluginAction with createActionViewItem() pattern
  matching MCP/extensions DropDownAction approach
- Add onHide disposal for context menu actions
- Remove redundant getDomNodePagePosition import
2026-03-03 23:01:40 +01:00
Connor Peet 625bdaafde Fix MCP tool validation warning for schemas without properties (#299035)
Per the MCP spec, the 'properties' field in tool inputSchema is optional,
with 'type' being the only required field. However, JSON Schema Draft 7
validation requires 'properties' for object types, causing spurious
warnings like 'Tool foo failed validation: schema must have a properties
object'.

Fix by normalizing the inputSchema to include an empty properties object
when not present.

Fixes #251723
2026-03-03 13:54:16 -08:00
Josh Spicer 560122b099 sessions: add "github.copilot.chat.githubMcpServer.enabled" to config… (#299030)
sessions: add "github.copilot.chat.githubMcpServer.enabled" to config override
2026-03-03 21:47:55 +00:00
Justin Chen 66386a37bd fix chat-input-container padding (#299054) 2026-03-03 21:46:07 +00:00
Connor Peet ea50b9a9c2 chat: support relative paths in plugin locations (#299059)
* chat: support relative paths in plugin locations

- Changes chat.pluginLocations to support home-relative (~/) and
  workspace-relative (./) paths instead of absolute paths
- Adds path normalization and validation in agentPluginServiceImpl
- Updates constants and contribution for plugin path handling
- Ensures settings are shareable across machines by avoiding absolute paths

Fixes https://github.com/microsoft/vscode/issues/297365

(Commit message generated by Copilot)

* comment
2026-03-03 21:40:02 +00:00
Connor Peet d481546f4c dialogs: prevent custom dialogs from overflowing screen vertically (#299048)
Adds max-height: 90vh to the dialog box to prevent it from exceeding the
viewport height, matching the existing max-width: 90vw constraint.

The message content area now scrolls when it exceeds available space:
- Added align-self: stretch to .dialog-message-container in horizontal
  layout so it fills the row height and triggers overflow-y scrolling
- Added min-height: 0 to .dialog-message-container in vertical layout
  to allow flex shrinking and overflow-y scrolling
- Changed .dialog-message-container overflow from 'hidden' to 'overflow-y:
  auto; overflow-x: hidden' to enable vertical scrolling

Buttons, toolbar, and footer remain visible. Only message content scrolls.

Fixes https://github.com/microsoft/vscode/issues/296528

(Commit message generated by Copilot)
2026-03-03 13:19:17 -08:00
Connor Peet 37645e695f chat: add approval management UI to tool picker (#299031)
Adds support for managing tool confirmation preferences directly from the tool
picker. This allows users to approve tools and external paths at the workspace
level, reducing friction when using tools that require confirmation.

- Adds 'Manage Approval' button to tools that support confirmation
- Integrates ILanguageModelToolsConfirmationService with tool picker
- Adds workspace-level allowlist persistence for external paths
- Extends ActionableButton type to support keepOpen behavior
- Implements workspace folder selection and allowlist management
- Adds ObservableMemento for persistent storage of approved paths

Fixes https://github.com/microsoft/vscode-internalbacklog/issues/6805
2026-03-03 13:18:49 -08:00
Matt Bierner 23ecafe12a Merge pull request #299045 from mjbvz/dev/mjbvz/negative-quokka
Add very basic documentation of built-in extension structure
2026-03-03 12:43:43 -08:00
Matt Bierner a7ca6e7842 Update extensions/CONTRIBUTING.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-03 11:56:09 -08:00
Matt Bierner ea0ea233c3 Update extensions/CONTRIBUTING.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-03 11:56:01 -08:00
Matt Bierner 92851df52f Update extensions/CONTRIBUTING.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-03 11:55:22 -08:00
Matt Bierner 5d40b987bf Update extensions/CONTRIBUTING.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-03 11:54:59 -08:00
Matt Bierner afc120d9d1 Add very basic documentation of built-in extensions 2026-03-03 11:44:38 -08:00
David Dossett 2f76a2d972 Polish question carousel (#298377)
* Polish question carousel: keyboard nav, badge styling, focus outlines

* chat: prioritize selected single-select answer over freeform draft

* Enhance question carousel with tab navigation and review functionality

* Polish question carousel: stack title/desc, plain numbers, multiline Q:/A: summary, Cmd+Enter submit

* Polish question carousel titles and execute controls

* Address PR feedback: guard checkmark on actual answers, restore queue/steer, deduplicate format helper, fix JSDoc

* Fix carousel tests: update selectors for tab-bar UI

* Fix remaining carousel tests from main merge

* Add ARIA tabpanel pattern and clear tab indicators on dispose

* Adjust tab bar padding-left to 4px for multi-question carousels

* Fix CI: non-null assertion and remove unused constants

* fix: show steer/queue submenu during question carousel when text is typed

- Cancel button now hides when input has text during question carousel
  (matches behavior during regular in-progress requests)
- Queue/steer submenu now appears during question carousel and tool
  confirmation states, since requestInProgress is false in those states
- Removed unused requestInProgressWithoutInput and pendingToolCall vars
2026-03-03 11:08:01 -08:00
Matt Bierner ffc4f9dcb3 Reapply 8e445caeff
Switching to a slightly older postcss version to avoid the official build issue
2026-03-03 10:57:52 -08:00
Rob Lourens 828d0eb409 Merge pull request #299020 from microsoft/roblou/embarrassed-walrus
Fix cut off corner border
2026-03-03 10:45:42 -08:00
Paul 4471d7e9d1 Support displaying hooks by target, compat refactor (#298798) 2026-03-03 10:37:28 -08:00
Lee Murray acbe4125e9 Merge pull request #299014 from microsoft/mrleemurray/update-2026-theme-syntax-colors
Update syntax colors for 2026 theme
2026-03-03 18:36:02 +00:00
Megan Rogge 29d5097f9b support multiple questions coming in for chat (#299006)
fix #297408
2026-03-03 10:19:10 -08:00
Rohan Santhosh 8175067b9c docs: fix duplicated wording in proposed API comment (#298522)
docs: fix duplicated wording in proposed API comment\n\nSigned-off-by: Rohan Santhosh <rohan@example.com>
2026-03-03 18:18:45 +00:00
Rob Lourens 0380f89c2b Fix cut off corner border 2026-03-03 10:15:29 -08:00
Lee Murray 611bd83d58 Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-03 18:11:10 +00:00