Skip to content

[pull] main from microsoft:main#1146

Merged
pull[bot] merged 51 commits intocode:mainfrom
microsoft:main
Apr 14, 2026
Merged

[pull] main from microsoft:main#1146
pull[bot] merged 51 commits intocode:mainfrom
microsoft:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 14, 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 : )

andysharman and others added 30 commits April 9, 2026 15:07
The theme preview SVGs were not bundled in desktop or web builds,
causing blank theme cards for users running built products.

Fixes #309380
After the user signs in through the onboarding walkthrough, trigger the
full chat setup flow in the background (sign-up, extension install,
entitlement resolution) so the 'Finish Setup' status bar indicator
is resolved by the time onboarding completes.

Uses disableChatViewReveal and DefaultSetup strategy to avoid
showing dialogs or popping the chat panel during onboarding.

Fixes #309529
Shows Cmd+Shift+X (Ctrl+Shift+X on Windows/Linux) in the extensions
step subtitle so users know how to browse the full marketplace.

Fixes #309617
- Add aria-label to extension install buttons with extension name (#309382)
- Make feature cards (Local, Cloud, CLI, Inline) tabbable with role/aria-label (#309525)
- Add ARIA alerts on theme, keymap, extension install, and AI preference actions (#309521)

Fixes #309382
Fixes #309521
Fixes #309525
…tyles (#309869)

* style: remove unnecessary transition properties from auxiliary bar styles

* style: fix transition properties for auxiliary bar margins

---------

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
Add an "SSH..." entry to the workspace picker that executes the
connectViaSSH command, gated behind isNative since the SSH service
is desktop-only. Refactor the item type to use a generic commandId
instead of separate boolean flags for each connection type.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…c request due to divergence (#309871)

* nes: implement cursor or whole edit window early cancellation of async request due to divergence

* nes: address review — precompute post-edit doc, bound lineIdx, add vEnum validator, use switch for backward compat
Fix localization key to match renamed setting ID
* chore: run npm audit fix

* bump build/rspack
Fix crash on null entries in launch.json configurations array (#307691)
Reapplying this now that our d.ts files are in sync
Fixes #309920

openSearch crashes with 'Cannot read properties of undefined (reading
search)' when openViewContainer returns undefined (e.g. in Agents product
where the Extensions viewlet may not be available). Add a null check so
it silently no-ops instead of throwing an unhandled error. Most callers
(36/56) are fire-and-forget without error handling, so the fix must be
in openSearch itself.
mjbvz and others added 21 commits April 14, 2026 12:39
Provide the session resource for input states
Update @vscode/codicons version to 0.0.46-5 in package.json and package-lock.json

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
- Rename preserveFoucs -> preserveFocus in extensionsWorkbenchService,
  mcpWorkbenchService, and mcpTypes interface
- Add trace-level log before early return so the condition is observable
  in diagnostic logs
Remove now unused `ChatSessionChangedFile` interface" (#308701)
* Remove dead requestHandler from AgentHostChatSession

Remove the unused `requestHandler` property and `_sendRequest` constructor
parameter from `AgentHostChatSession`. The real code path uses registered
agent `invoke()` → `_invokeAgent()` → `_handleTurn()`, making
`requestHandler` dead code (confirmed by an existing todo@connor4312 comment).

Update tests to invoke turns through the registered agent's `invoke()`
method instead of calling `requestHandler` directly.

(Written by Copilot)

* Fix missing ILanguageModelToolsService and IConfigurationService stubs in tests

Add observeTools mock and fix getValue to return an array for
chat.agentHost.clientTools, preventing the observeTools TypeError
that was causing 71 test failures in CI.
Make sure input state is populated even if you're not using the `getChatSessionInputState` api
Set the sessions workbench default for `workbench.notifications.position` to `top-right` so notification toasts open in the upper-right corner without changing the main workbench default.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chat: extract AI customization item sources

* chat: clean up AI customization item source extraction

Addresses code quality issues from council review:

- Extract shared isChatExtensionItem() to aiCustomizationItemSourceUtils
- Move storageToIcon() to aiCustomizationIcons (pure function, no class dep)
- Extract shared expandHookFileItems() utility, deduplicating hook file
  parsing from PromptsServiceCustomizationItemProvider and
  ProviderCustomizationItemSource
- Replace fragile backward-index splice loops in applyLocalFilters
  with idiomatic .filter() chains
- Cache ProviderCustomizationItemSource per active harness descriptor
  to avoid redundant event composition on every call

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

* chat: consolidate item source files into single module

Merge aiCustomizationListItem, aiCustomizationItemSourceUtils,
aiCustomizationItemNormalizer, and providerCustomizationItemSource
into a single aiCustomizationItemSource.ts (~414 lines).

These four files form a tight linear dependency chain with one
external consumer (the list widget). Consolidating matches the
codebase convention (cf. testing explorerProjections/index.ts)
and reduces the aiCustomization directory from 22 to 19 files.

The promptsServiceCustomizationItemProvider remains separate as
a distinct adapter that bridges the core promptsService into the
provider-shaped pipeline for harnesses without an external provider.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ContentProvider (#309945)

refactor: remove unused input state handling in CopilotCLIChatSessionContentProvider
…tion

fix: default session mode experiment not applying on first session
* Improve inline suggestions quota rendering

* Update src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.ts

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

* Cleanup some code smells

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Since they have not yet been created on disk, we should keep these in the inProgress map so they're maintained across refreshes.
* fix empty checkpoint container

* default setting for permissions picker
* chat: animate response copy button feedback

Render transient footer copy feedback with a check icon, ARIA status update, and reduced-motion aware transitions. Trigger the feedback from the action runner so mouse and keyboard activation behave the same.

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

* chat: address copy action review feedback

Scope footer copy feedback to the triggering action instance, restore an explicit aria-label for the icon-only control, and register the footer action renderer with the contribution lifecycle.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
We only want to retain this while the session is ongoing or it's open in a panel/editor. The panel case wdidn't seem to be handling this
The copilot extension was using esbuild 0.25.6 (transitive via tsx),
which has a memory leak in long-running watch mode. The esbuild service
process grows to 1-2.7 GB over hours of watch usage, while esbuild
0.27.2 (used by vscode's own build) stays at 7-29 MB even after days.

Add esbuild 0.27.2 as a direct devDependency so the build script
resolves to the fixed version. tsx retains its own nested 0.25.x.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
extensions: escape hover name and description

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

fix: guard openSearch against undefined view pane container
Try fixing chat session content being retained
@pull pull Bot locked and limited conversation to collaborators Apr 14, 2026
@pull pull Bot added the ⤵️ pull label Apr 14, 2026
@pull pull Bot merged commit 812d224 into code:main Apr 14, 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.