Skip to content

[pull] main from microsoft:main#1067

Merged
pull[bot] merged 39 commits intocode:mainfrom
microsoft:main
Mar 24, 2026
Merged

[pull] main from microsoft:main#1067
pull[bot] merged 39 commits intocode:mainfrom
microsoft:main

Conversation

@pull
Copy link

@pull pull bot commented Mar 24, 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 : )

connor4312 and others added 30 commits March 22, 2026 11:28
* add debounce for working shimmer

* Update src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.ts

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

* revert ccr

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: re-layout list when toggling browse mode in MCP/plugin widgets

When toggling browse mode, the back link appears/disappears but
layout() was never re-called, causing the list height to not
account for the changed chrome. This clipped the last entry.

Cache the last layout dimensions and re-call layout() after
toggling browse mode.

Fixes #304139

* fix: register IProductService in AI customization component fixtures

The AICustomizationListWidget recently added a dependency on
IProductService but the component fixtures were not updated,
causing all AI customization fixtures to fail with
'depends on UNKNOWN service productService'.

* fix: address PR review — remove manual layout() in fixtures, fix null! in ParsedPromptFile
Flatten sandbox network settings (#304270)

Split the nested `chat.tools.terminal.sandbox.network` object setting into three flat settings:
- `chat.tools.terminal.sandbox.network.allowedDomains`
- `chat.tools.terminal.sandbox.network.deniedDomains`
- `chat.tools.terminal.sandbox.network.allowTrustedDomains`

Add configuration migration to automatically migrate existing values.
The old setting is preserved as deprecated with a pointer to the new ones.

Fixes #304232
* fix: destroy read streams to prevent file descriptor leaks

Two stream leak fixes found via static analysis of the control flow graph:

1. crypto.ts: createReadStream() used for checksum computation was never
   explicitly destroyed. The stream was piped to a hash and event listeners
   were removed in the done() callback, but the underlying fd was left to
   GC. Added input.destroy() to the done() callback to ensure immediate
   cleanup on both success and error paths.

2. webClientServer.ts: createReadStream().pipe(res) leaked the file
   descriptor when the HTTP response was closed prematurely (e.g. client
   disconnect). The pipe does not automatically destroy the source stream
   when the destination closes. Added res.on('close') handler to destroy
   the file stream.

* fix: address review feedback on stream error handling

webClientServer.ts:
- Add fileStream.on('error') handler for async read errors that occur
  after the try/catch (e.g. ENOENT race, permission change mid-read)
- Handle both pre-header and post-header error cases
- Use res.once('close') instead of res.on('close') for cleanup intent

crypto.test.ts:
- Replace try/catch with assert.rejects() and regex matcher
- Spy on fs.createReadStream to verify destroy() is actually called
- Restore original createReadStream in finally block

* fix(test): remove ESM-incompatible fs mock from crypto test

The test was monkey-patching `fs.createReadStream` on the ESM module
namespace, which is read-only at runtime (TypeError). Also removes
the unused `Readable` import that caused TS6133.

Simplified the test to verify the observable contract (mismatch
rejection) without attempting to spy on stream internals.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: defer response headers until read stream opens

Create the read stream and wait for its 'open' event before calling
res.writeHead(200). Previously, headers were sent before the stream
was created, making res.headersSent always true in the error handler
and the 404 branch unreachable. A TOCTOU race between stat() and
createReadStream() would result in a 200 being aborted instead of
a proper 404.

Now, pre-header errors reject into the existing catch block (which
sends 404), and post-header errors correctly call res.destroy().

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Alexandru Dima <alex.dima@outlook.com>
Co-authored-by: Alex Dima <alexdima@microsoft.com>
)

Display the model-provided reason for requesting sandbox bypass
in the terminal command confirmation widget. Fixes #304205
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ke show-more focusable, use theme color

- Only show "Show Recent/All Sessions" actions when grouped by repository
- Only clear expanded repo groups on capped transition (false→true)
- Make show-more items selectable for keyboard activation
- Replace hardcoded rgb(191,191,191) with --vscode-descriptionForeground

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix loading copilot-sdk 0.2

* Comment

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

* comment

---------

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

* Keep agent host alive while there are active websocket connections
Instead of shutting it down whenever there are no agents running

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

* Fix disposable handling

---------

Co-authored-by: Copilot <copilot@github.com>
Sessions: Cap repository groups with 'Show More' and filter toggle
connor4312 and others added 9 commits March 23, 2026 18:26
…chat responses" (#304331)

Revert "Accessible View: include file paths for inline references in chat res…"

This reverts commit 29359ef.
Co-authored-by: Copilot <copilot@github.com>
* feat: updates for Copilot CLI to include mode instructions

* Update src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.ts

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

* Update src/vs/workbench/contrib/chat/common/chatSessionsService.ts

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

* Updates

* Updates

* Updates

* Updates

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@pull pull bot locked and limited conversation to collaborators Mar 24, 2026
@pull pull bot added the ⤵️ pull label Mar 24, 2026
@pull pull bot merged commit cdf4f2f into code:main Mar 24, 2026
4 of 5 checks passed
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.

9 participants