Skip to content

[pull] main from microsoft:main#1322

Merged
pull[bot] merged 26 commits into
code:mainfrom
microsoft:main
Jun 1, 2026
Merged

[pull] main from microsoft:main#1322
pull[bot] merged 26 commits into
code:mainfrom
microsoft:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Jun 1, 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 : )

digitarald and others added 26 commits June 1, 2026 09:37
…#319365)

Pass remoteSession on per-session config to enable session sync export

The client-level `enableRemoteSessions` (--remote flag) enables the CLI
capability but individual sessions still default to "off". The github-app
passes `remote_session: Export` on every createSession/resumeSession call.

Add `remoteSession: 'export'` to the shared _buildSessionConfig so both
create and resume paths opt in when chat.sessionSync.enabled is true.
…9366)

Co-authored-by: vs-code-engineering[bot] <vs-code-engineering[bot]@users.noreply.github.com>
Node.js 23/24 linux-x64 build ships a dedicated `lpstub` PT_LOAD segment
aligned to 2 MiB (0x200000) so that, at startup the binary can remap its
.text region onto Linux hugepages for an iTLB win `--use-largepages=mode`.

WSL1 `binfmt_elf` strictly rejects any PT_LOAD whose `p_align`
exceeds the system page size (0x1000); the kernel returns ENOEXEC and the
shell reports "exec format error" before user space ever runs. This breaks
launching the bundled Node from the VS Code server under WSL1 starting
with Node 24.

The fix does not change runtime behavior:

  - Node is a non-PIE EXEC binary with fixed virtual addresses
    (`p_vaddr`, `p_paddr`); the loader maps each PT_LOAD at its
    hard-coded address regardless of `p_align`, which on EXEC is
    metadata describing alignment in memory rather than a request to
    relocate.
  - The hugepage optimization itself is performed at runtime
    against the live mapping; it does not consult `p_align` and
    is unaffected by this change.
  - No shared libraries, native addons, or dynamic linker paths are
    touched — only PT_LOAD segments inside the node executable itself.
…` RegExps (#312679)

* Initial plan

* Support flags on folding.markers RegExps via pattern+flags object syntax

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/e2519fd6-3672-4cc8-8021-7cc03f01e9a8

Co-authored-by: aeschli <6461412+aeschli@users.noreply.github.com>

* Propagate RegExp flags when combining folding marker patterns

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/0efece67-5f30-4f2c-bc30-40a6d16154a9

Co-authored-by: aeschli <6461412+aeschli@users.noreply.github.com>

* fix: use separate regexes for folding markers when flags differ

Co-authored-by: aeschli <6461412+aeschli@users.noreply.github.com>

* update

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aeschli <6461412+aeschli@users.noreply.github.com>
Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
* Fix BYOK models startup race (#319121)

Persisted hasByokModels=true could be clobbered with false during cold start because LanguageModelsConfigurationService loads its JSON asynchronously. Gate the negative result on a new whenReady signal so a previously-true value survives until the config has actually loaded.

Fixes #319121

* PR feedback
…ver (#312585)

* html-language-features: include JSDoc summary and tags in <script> hover

In doHover for JavaScript embedded in HTML <script> blocks, surface
info.documentation (JSDoc summary) and info.tags (@param, @returns,
etc.) alongside the existing info.displayParts signature. The hover
now returns a MarkupContent markdown payload with the signature,
description, and tag sections so HTML files get parity with
.js/.ts hovers.

Fixes #268776

* Potential fix for pull request finding

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

* update

---------

Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fix: memory leak in ssh

* simplify

* simplify

* try to fix windows ci
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* extensions: skip auto-update delay for trusted publishers

Extensions whose publisher (or publisher display name) is listed in the
product's `trustedExtensionPublishers` are auto updated immediately,
bypassing the 2 hour delay applied to other new versions.

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

* extensions: align trusted publisher check style

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
sessions: focus grid sessions with Cmd+N, reveal, and Close All Sessions

Add keyboard navigation and bulk-close actions to the sessions grid:

- Cmd/Ctrl+1..9 focus the Nth visible session in the grid, scrolling it
  fully into view when it is clipped by the grid's horizontal overflow.
- Route focusSession through the part so revealing happens for all focus
  flows (focus active session, close session, etc.).
- Add a "Close All Sessions" command (Cmd/Ctrl+K Cmd/Ctrl+W, matching
  "Close All Editors"), keyboard-gated on session focus via a now-functional
  sessionsFocus context key.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Don't throw unhandled excepton in fire and forget telemetry
Remove experimental tags from configuration
…ebouncer (#318177)

The @debounce decorator schedules a bare setTimeout stored as an instance
field; the timer is not registered with the disposable store, so the
callback can fire after the terminal/xterm is disposed. PR #314795 worked
around this with an isDisposed early-return inside _debounceResizeX, but
each new debounced callsite would need the same defensive guard.

Replace the decorator with a RunOnceScheduler registered on the disposable
store. The pending timer is now cancelled deterministically when the
TerminalResizeDebouncer is disposed, so no post-dispose callbacks can run
and no per-method guard is required.

Also cancel the pending scheduler in the immediate-resize branch and in
flush() so a queued debounced X-resize cannot overwrite a fresh immediate
resize.

Refs #314795.
* agentHost: move rubber duck flag to agent host config

- Migrates the rubber duck agent toggle off environment variables and
  VS Code settings so it lives with the other agent host customization
  config, giving it a single consistent source of truth that the host
  owns rather than scattering the flag across starter processes.
- Applies the flag to the Copilot CLI subprocess env at client startup
  and restarts the client (disposing any active sessions) when the
  config changes, so toggling it actually takes effect without a manual
  restart.

Supplants #319347

(Commit message generated by Copilot)

* agentHost: address review feedback on client restart

- Corrects the misleading "only if idle" restart comment to match the
  new behavior (active sessions are disposed on a startup-config change).
- Guards the in-flight client startup against a startup-config change so
  a client never comes up with stale session-sync / rubber-duck values
  and then fails to restart.

(Commit message generated by Copilot)
* cli: drop ahp-ws dependency in favor of direct tungstenite

- Removes the external ahp-ws crate so the CLI owns its WebSocket
  transport directly, avoiding a thin wrapper dependency and keeping the
  transport logic alongside the existing tunnel transport.
- Updates the agent commands to the ahp 0.2 API (channel-based params,
  optional snapshots, and the two-argument dispatch signature) so the
  CLI compiles against the pinned crate versions again.

(Commit message generated by Copilot)

* cli: deduplicate WebSocket transport adapter

- Replaces the separate WsTransport and TunnelWsTransport implementations
  with a single generic WsTransport over the stream type plus an optional
  keep-alive guard, so the direct and tunnel connections share one
  send/recv/close adapter and cannot drift apart.

(Commit message generated by Copilot)
…st (#319452)

* agentHost: avoid rewriting attachment URIs that exist on the agent host

- Attachment URIs that point to files existing on the agent host side
  were being incorrectly rewritten, breaking references to those files.
  We now check whether the referenced file exists before rewriting so
  agent-host-local attachments are preserved as-is.

Fixes #319314

(Commit message generated by Copilot)

* agentHost: restrict host-side attachment check to file URIs

- Only skip rewriting Resource attachments when they point to an existing
  file:// resource on the agent host, so in-memory/client resources are
  still snapshotted correctly.
- Parse the attachment URI once and treat IFileService.exists failures
  (e.g. no provider registered for the scheme) as a non-existent file.

(Commit message generated by Copilot)

* agentHost: add test for host-side file attachment passthrough

- Covers #319314: an existing file:// Resource attachment on the agent
  host is passed through unchanged instead of being snapshotted.

(Commit message generated by Copilot)
@pull pull Bot locked and limited conversation to collaborators Jun 1, 2026
@pull pull Bot added the ⤵️ pull label Jun 1, 2026
@pull pull Bot merged commit 07cee71 into code:main Jun 1, 2026
2 of 3 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.