Skip to content

[pull] main from microsoft:main#1332

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

[pull] main from microsoft:main#1332
pull[bot] merged 13 commits into
code:mainfrom
microsoft:main

Conversation

@pull
Copy link
Copy Markdown

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

aeschli and others added 13 commits June 4, 2026 16:40
…319808)

* Refactor exit plan mode request handling in CopilotAgent and tests

* refactor: remove unused comments in CopilotAgent class
Fix auto mode with empty model providers

Treat an empty current model provider as no provider affinity so Auto Mode still falls back to the first available model with a known endpoint.

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

* Release terminal link cache and cancel pending link providers on terminal close

ExtHostTerminalService kept per-terminal entries in _terminalLinkCache and _terminalLinkCancellationSource forever:  populated them but nothing ever removed them when a terminal was closed. Each terminal that ever had links queried leaked its cached links plus a CancellationTokenSource until the extension host exited.

Clear both maps in  and dispose(true) the in-flight cancellation source so dangling provider promises resolve instead of hanging.

* Update unit-test

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

---------

Co-authored-by: Copilot <copilot@github.com>
* fix: memory leak in pane composite bar

* refactor: deduplicate composite actions dispose

* address review: hoist actionItem local

---------

Co-authored-by: Benjamin Christopher Simmonds <44439583+benibenj@users.noreply.github.com>
Co-authored-by: Dmitriy Vasyura <dmitriv@microsoft.com>
* fix: memory leak in pty host service

* Potential fix for pull request finding

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

* fix

* Address PR review comments

- Rename ptyHostStore to _ptyHostStore for consistency with other private fields
- Simplify _startPtyHost: assign the store inside instead of returning a 3-tuple
- Use _optionalProxy in _disposePtyHost to avoid re-spawning during shutdown
- Reset __connection/__proxy on dispose
- Add regression test that verifies listener counts stay stable across restarts

* Minor tweaks

* Minor tweaks

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

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Dmitriy Vasyura <dmitriv@microsoft.com>
Co-authored-by: Copilot <copilot@github.com>
* NES: add global-budget cascade specification

Add a specification document for the opt-in global-budget cascade in the
NES/xtab prompt builder, sitting next to promptCrafting.ts (following the
existing recentFilesForPrompt.md precedent).

Covers:
- Scope: participating parts and intentionally excluded parts
  (currentFile, lintOptions)
- Defaults: order, shares, totalTokens
- Algorithm: per-step budget math and forward-only surplus flow
- Per-part floor/ceiling guarantees and pool ceiling
- Validation rules with exact error strings
- Wiring and experiment configuration keys
- Four worked examples at totalTokens = 5000
- Behavior when languageContext / neighborFiles are disabled
- Composition with the independently-clipped currentFile

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

* NES: address Copilot review comments on global-budget cascade spec

- Document that neighborFiles also mutates docsInPrompt and that the
  accumulated set affects diffHistory selection when onlyForDocsInPrompt
  is enabled.
- Note that the per-part floor guarantee assumes non-negative shares
  (negatives are clamped to 0 by max(0, floor(...))).
- Replace <sum> placeholder in the validation error row with
  ${sharesSum} to match the implementation's template literal.
- Reflect per-step flooring in the effective-cap formulas and the
  T = 5000 table for the both-off scenario: diffHistory caps are
  1666 / 3498 / 4998 (not 1666 / 3500 / 5000), since the total cascade
  pool ceiling is 4998 at T = 5000.

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

---------

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

* Insert paragraph separator between Copilot CLI assistant messages

When the CLI emits multiple assistant messages in a single turn, each
message arrives as its own `assistant.message_delta` /
`assistant.message` event with a distinct `messageId`. The handlers
forwarded each event to `stream.markdown(...)` with no separator, so
consecutive messages fused into a run-on paragraph
(e.g. "...wiring:Now add...").

Track the last emitted `messageId` and prepend `\n\n` whenever the
incoming event carries a different (defined) id. Streaming deltas
sharing the same `messageId` remain unaffected.

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

* Add regression test for undefined messageId legacy behavior

Addresses Copilot review feedback: lock in that legacy SDK emissions
without a defined messageId continue to be concatenated without an
inserted separator, rather than producing spurious blank paragraphs.

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

---------

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

- Lets users rename any agent-host chat session directly from the message
  input via `/rename [title]`, without depending on a specific agent SDK to
  implement renaming — the command is intercepted server-side and redirected
  to a title change, so it works uniformly across every session type.
- Surfaces a brief "Renamed: {name}" turn response so the rename is visible
  in the transcript and the user gets clear feedback.
- Propagates server-side title changes to the live chat model so the view
  title updates immediately, and exposes the persisted title on reopen so the
  stale auto-generated title no longer reappears.
- Broadens the sessions viewer rename affordance (context menu, F2, picker
  pencil) to all agent-host session types instead of only Copilot, matching
  the now-generic rename capability.

Fixes #319814

(Commit message generated by Copilot)
* fix: memory leak in mainThreadTerminalService

* Potential fix for pull request finding

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

* fix formatting

* fix

* undo unrelated change

* address review: cleanup tuple return, unused import, heartbeat cleanup

* add ptyHostService restart listener leak test

* _disposePtyHost: avoid spawning pty host during shutdown

* Minor tweaks

* Minor tweaks

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

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Dmitriy Vasyura <dmitriv@microsoft.com>
Co-authored-by: Copilot <copilot@github.com>
* fix: prune missing remote folder from Recently Opened (#319230)

Remote counterpart to the local remove-on-failed-open in WindowsMainService.resolvePath (#74465). At LifecyclePhase.Eventually, the freshly opened workbench stats the current single-folder remote folder URI via the remote file service and prunes from Recently Opened only on authoritative FILE_NOT_FOUND. Transient errors (FILE_OTHER_ERROR / Unavailable) and unregistered providers leave the entry intact.

* address review: restrict prune to vscode-remote authorities (avoid pruning vscode-vfs entries)

* address review: register contribution from workspaces.contribution.ts (keep entry points untouched)

* address review: drop hasProvider guard; rely on FILE_NOT_FOUND filter

hasProvider is sync and the remote provider registers asynchronously via onWillActivateFileSystemProvider, so the earlier short-circuit could permanently skip the prune for the session if the contribution ran before activation. Rely solely on the authoritative FILE_NOT_FOUND filter: any other error (no provider, unavailable, host unreachable) maps to FILE_OTHER_ERROR and leaves the entry intact.

* address review: ignore cancellation errors from window-close mid-stat

* address review: drop any-cast in test (typed Pick); add trailing commas
@pull pull Bot locked and limited conversation to collaborators Jun 4, 2026
@pull pull Bot added the ⤵️ pull label Jun 4, 2026
@pull pull Bot merged commit 78f3a9a into code:main Jun 4, 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.

8 participants