Skip to content

[pull] main from microsoft:main#1006

Merged
pull[bot] merged 32 commits intocode:mainfrom
microsoft:main
Mar 6, 2026
Merged

[pull] main from microsoft:main#1006
pull[bot] merged 32 commits intocode:mainfrom
microsoft:main

Conversation

@pull
Copy link

@pull pull bot commented Mar 6, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

mjbvz and others added 30 commits March 4, 2026 23:13
Same root cause as #299396 but only caused the icon to be missing so not critical
Co-authored-by: mjbvz <12821956+mjbvz@users.noreply.github.com>
Co-authored-by: mjbvz <12821956+mjbvz@users.noreply.github.com>
* chat: register file system provider via workbench contribution

- Moves the registerProvider call from ChatResponseResourceFileSystemProvider constructor
  to a new ChatResponseResourceWorkbenchContribution class that gets instantiated by
  the workbench. This ensures the vscode-chat-response-resource:// file system provider
  is registered even though the service has no other dependencies that would trigger
  eager instantiation.
- Changes the singleton registration from Eager to Delayed since the workbench
  contribution now depends on it, triggering instantiation.
- Fixes file system provider not being found errors (ENOPRO) when MCPs or extensions
  try to access chat response resources.

Fixes #299504

(Commit message generated by Copilot)

* bump
* refactor workspace trust editor styles for improved layout and responsiveness

Co-authored-by: Copilot <copilot@github.com>

* set max-width for workspace trust editor to improve layout

---------

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
* sessions - fix chat input shrinking at narrow widths (#299498)

style - set width to 100% for `interactive-input-part`

* modal - force focus into first modal editor always

* fix: update precondition for FixDiagnosticsAction and hide input widget on command execution (#299499)

fixes #299251

* refactor: remove workspace context service dependency from FolderPicker

* Add logging for agent feedback actions

* modal - some fixes to actions and layout

* modal - surface some editor actions in a new toolbar (#299582)

* modal - surface some editor actions in a new toolbar

* ccr

* keybindings - remove "Edit as JSON" as its now available from the title menu

* settings - remove "Edit as JSON" as its now available from the title menu

* update hover fixes

* terminal fixes

* terminal improvements

* Sessions: fix auth scopes of gh FSP

* sessions customizations: make it easier to scan mcp/plugin marketplac… (#299636)

sessions customizations: make it easier to scan mcp/plugin marketplace list

* sessions: add built-in prompt files with override support (#299629)

* sessions: add built-in prompt files with override support

Ship bundled .prompt.md files with the Sessions app that appear as
slash commands out of the box. Built-in prompts use a BUILTIN_STORAGE
constant (cast as PromptsStorage) defined in the aiCustomization layer,
avoiding changes to the core PromptsStorage enum and prompt service types.

- AgenticPromptsService discovers prompts from vs/sessions/prompts/
  at runtime via FileAccess and injects them into the listing pipeline
- Override logic: user/workspace prompts with matching names take
  precedence over built-in ones
- Built-in prompts open as read-only in the management editor
- Sessions tree view, workspace service, and counts handle BUILTIN_STORAGE
- Add /create-pr as the first built-in prompt
- Bundle prompt files via gulpfile resource includes

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

* Update src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.ts

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

* sessions: use AICustomizationPromptsStorage type for builtin storage

Adopt the new AICustomizationPromptsStorage union type in the sessions
tree view method signature. Use string-keyed Records and targeted casts
at the PromptsStorage boundary to stay type-safe.

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

* sessions: remove PromptsStorage casts, widen IStorageSourceFilter

Use AICustomizationPromptsStorage in sessions-local interfaces
(IAICustomizationGroupItem, IAICustomizationFileItem) and widen
IStorageSourceFilter.sources to readonly string[] so BUILTIN_STORAGE
flows through without casts. The only remaining cast is at the
IPromptPath creation boundary in AgenticPromptsService.

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

* sessions: move BUILTIN_STORAGE to sessions common layer

Move AICustomizationPromptsStorage type and BUILTIN_STORAGE constant
from the workbench browser UI module to sessions/contrib/chat/common
so that AgenticPromptsService (a service) does not depend on UI code.

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

---------

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

* sessions: fix ESLint dangerous type assertion in builtin prompts (#299663)

Replace the `as IPromptPath` cast in discoverBuiltinPrompts with a
createBuiltinPromptPath factory function that contains the type
narrowing in one place, satisfying the code-no-dangerous-type-assertions
ESLint rule.

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

* Enhance Agent Sessions Control and Renderer with observable active session resource

* fix terminal

* Enable model management in NewChatWidget

* review feedback

* different competion settings for copilot markdown and plaintext

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
Co-authored-by: Johannes Rieken <johannes.rieken@gmail.com>
Co-authored-by: BeniBenj <besimmonds@microsoft.com>
Co-authored-by: Osvaldo Ortega <osortega@microsoft.com>
Co-authored-by: Josh Spicer <23246594+joshspicer@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…tplace (#299576)

* Initial plan

* fix: accept Azure DevOps Git URLs without .git suffix in plugin marketplace

- Remove the `.git` suffix requirement from `normalizeGitRepoPath`; the function
  now accepts any URL path that has at least two segments.
- Update `parseUriMarketplaceReference` to handle paths with and without `.git`:
  - `cacheSegments` are built without the suffix in both cases.
  - `canonicalId` is always normalized to include `.git` so that the same repo
    specified with and without the suffix deduplicates correctly.
- Add a JSDoc comment on `normalizeGitRepoPath` explaining the new semantics.
- Update the test that expected HTTPS/SSH URLs without `.git` to be rejected;
  these are now accepted. SCP-style (`git@host:path`) still requires `.git`.
- Add tests for Azure DevOps-style URLs and cross-suffix deduplication.

Co-authored-by: connor4312 <2230985+connor4312@users.noreply.github.com>

* refactor: use gitSuffix constant instead of magic number -4

Co-authored-by: connor4312 <2230985+connor4312@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: connor4312 <2230985+connor4312@users.noreply.github.com>
Fixes #299657

Also gives the displayed text argument a clearer name
* changes to ensure all the network requests are passed through proxy

* changes to ensure all the network requests are passed through proxy
Co-authored-by: mjbvz <12821956+mjbvz@users.noreply.github.com>
…ted-typescript-setting

fix: correct setting name in deprecation message for typescript.format.enable
Always require `tooltips` for markdown command links
fix: Use `vscode` codicon as theme icon for Release Notes tab
…299848)

The new esbuild-based CI pipeline (core-ci) uses curated resource
patterns in build/next/index.ts to copy non-JS assets into the bundle
output. When built-in .prompt.md files were added for the sessions
window, they were included in the legacy pipeline's
vscodeResourceIncludes (build/gulpfile.vscode.ts) but not in the
desktopResourcePatterns used by the esbuild pipeline.

This caused the prompt files to be missing from release builds
(out-vscode-min), even though they worked correctly when running
from sources (where copyAllNonTsFiles copies everything).

Add 'vs/sessions/prompts/*.prompt.md' to desktopResourcePatterns
to match the existing entry in vscodeResourceIncludes.
* Sessions - initial implementation of repository changes

* Deduplicate resources and fix badge
When templates are reused for different tree items, the DOM content from
pending dividers was not being cleaned up. This caused old 'Steering' or
'Queued' divider headers to persist visually even after they were no longer
in the list.

The fix checks if the previous element in a template was a pending divider,
and if so, clears the templateData.value node when the template is reused
for a new element.

- Adds a check in clearRenderedParts() to clear templateData.value when
  the previous element was a pending divider
- Ensures stale divider headers don't remain visible after pending requests
  are processed and removed from the queue

Fixes #299853

(Commit message generated by Copilot)
joshspicer and others added 2 commits March 6, 2026 13:23
* refactor(AccountWidget): simplify update button logic and styling

* feat(AccountWidget): enhance update button logic for embedded app scenarios

* fix(AccountWidget): add missing line for clarity in onClick method

* embedded app update hint

* fix(AccountWidget): remove background image from update button when disabled

* Update src/vs/sessions/contrib/accountMenu/browser/media/accountWidget.css

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

* Update src/vs/sessions/contrib/accountMenu/browser/account.contribution.ts

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

* fix(AccountWidget): refine styles for disabled update button

* Update src/vs/sessions/contrib/accountMenu/browser/account.contribution.ts

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

* feat(AccountWidget): embedded app update flow with dialog, close, and open VS Code

- Show outlined 'Update Available' button when updates are disabled due to embedded app
- On click, confirm dialog explains Sessions will close and VS Code will open
- Opens VS Code via productService.urlProtocol with windowId=_blank (new empty window)
- Closes Sessions window after launching VS Code
- Uses secondary outlined button style (border, no fill) for hint state
- Inject IOpenerService, IDialogService, INativeHostService
- Remove simulation TODOs, use real updateService.state

* refactor(update): detect updates in embedded app via canInstall flag

- Add optional canInstall field to AvailableForDownload state
- Darwin: embedded app runs normal init + scheduled checks via HTTP
  (no Electron autoUpdater events), sets AvailableForDownload(update, false)
- Win32: embedded app skips platform setup, checks via HTTP,
  sets AvailableForDownload(update, false) when update found
- Sessions UI: check canInstall === false for hint button + dialog
- Remove DisablementReason.EmbeddedApp (no longer needed)
- Non-embedded --sessions mode uses standard update flow unchanged

* fix: update AccountWidget fixture with new constructor args

* fix: use IHostService instead of INativeHostService for browser layer compliance

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Support rendering reserved output separately

* Fix some of the progress bar logic

* Better handling for reserve
@pull pull bot locked and limited conversation to collaborators Mar 6, 2026
@pull pull bot added the ⤵️ pull label Mar 6, 2026
@pull pull bot merged commit f3680f6 into code:main Mar 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.