Skip to content

[pull] main from microsoft:main#1512

Merged
pull[bot] merged 35 commits into
code:mainfrom
microsoft:main
Jul 24, 2026
Merged

[pull] main from microsoft:main#1512
pull[bot] merged 35 commits into
code:mainfrom
microsoft:main

Conversation

@pull

@pull pull Bot commented Jul 24, 2026

Copy link
Copy Markdown

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 : )

bwateratmsft and others added 30 commits July 15, 2026 13:32
Mirror the set of installed and enabled extensions into per-extension
context keys (extensionEnabled:<lowercased id>) so authors can gate UI
via when clauses without activating the extension.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cb195182-bee3-4aaf-b33b-ceb8e36e3f18
Address CCR feedback: seed on onDidRegisterExtensions (extensions list is empty until initial registration, which the Restored phase does not guarantee) and reconcile against the authoritative extensionService.extensions set instead of trusting change deltas (which can report added extensions that validation later rejects due to dependency loops). Adds a regression test.

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

Copilot-Session: cb195182-bee3-4aaf-b33b-ceb8e36e3f18
Grant remote Agent Host connections implicit read access to resource attachments before dispatch and reconnect replay.

Fixes #326523

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Align the remote protocol client dispatch signatures with the chat actions handled by outgoing attachment grants.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Mark host-backed completion lists incomplete so Monaco requests updated fuzzy results as the input token changes.

Fixes #326474

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Keep empty session groups visible

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

* Show delete action for empty session groups

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* agents window: subagent in-flight ux

* address comments

* fix test
Clarify URI-aware grant deduplication, tolerate malformed attachment URIs, and remove timer-based test waiting.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix automation model targeting for Agent Host

Automations used the logical session type for model selection, which saved extension-backed model identifiers for Agent Host targets. Preserve the concrete model target and canonicalize matching legacy identifiers before sending.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a96dd883-5a84-41e4-8468-96182f2f09d1

* Preserve legacy automation model on edit

Resolve saved logical-session model identifiers into the selected concrete target during automation dialog restore, including late model and provider registration.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a96dd883-5a84-41e4-8468-96182f2f09d1

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a96dd883-5a84-41e4-8468-96182f2f09d1
Refactor onboarding tour comments for clarity
…nstalled-context-key

Add a when clause context key for detecting if an extension is installed+enabled
Avoid treating a URI that Linux normalizes as malformed in the implicit grant test.

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

Voice: don't auto-send turn by default when hands-free is disabled

When agents.voice.handsFree is disabled, suppress trailing-silence and
stop-phrase turn ending unless the corresponding setting
(agents.voice.turn.silenceMs / agents.voice.turn.stopPhrases) has been
explicitly configured. This keeps manual control over when a turn is sent
for users who opt out of the hands-free loop. Also re-send the turn config
when handsFree changes, and document the behavior in the setting
descriptions.

Fixes #327217

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c599eae0-1e8b-485b-b56c-cf609693fef9
The "_resumeSession fallback › falls back to createSession after a Start Over
truncate leaves the session empty" test intermittently exceeds the 2000ms
mocha timeout in CI. Skip it until the flakiness is root-caused and fixed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c599eae0-1e8b-485b-b56c-cf609693fef9
…27211)

* Experimental: clean up dictation transcript with a language model

Add an opt-in `dictation.experimental.llmCleanup` setting that passes the final
on-device dictation transcript through a small utility language model
(copilot-utility-small, in the spirit of gpt-4o-mini) to restore punctuation,
capitalization, and paragraph breaks that the streaming ASR model omits, and to
drop filler words. Runs once in stopAndTranscribe() after the raw transcript is
produced; falls back to the raw transcript when no model is available (e.g. AI
features disabled) or the request fails. Off by default.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c599eae0-1e8b-485b-b56c-cf609693fef9

* Enable LLM dictation cleanup by default; address review feedback

- Turn `dictation.experimental.llmCleanup` on by default.
- Own a per-cleanup CancellationTokenSource with a 10s deadline; cancel it from
  cancel() and bail out of stopAndTranscribe() if the session was aborted while
  cleanup ran, so a stalled/aborted request can't leave dictation stuck in
  Transcribing or tear down a newly started session.
- Measure finalizeMs after cleanup so the metric includes model latency.
- Skip cleanup for transcripts over the char cap instead of truncating them,
  preserving the raw-transcript fallback guarantee.
- Consume the response stream with strict error propagation and await
  response.result, so only a complete response can replace the transcript.
- Clarify the prompt: preserve wording, with an explicit exception for filler
  words and false starts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c599eae0-1e8b-485b-b56c-cf609693fef9

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c599eae0-1e8b-485b-b56c-cf609693fef9
* Reuse terminal when replacing new session draft

* Rehome terminals from replaced drafts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1a04e86b-2cdc-4f83-bf8b-d48f57d47727

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1a04e86b-2cdc-4f83-bf8b-d48f57d47727
dispose terminal data listeners with instances
… tests (#327226)

* Remove customizationDirectory from agent session metadata and related tests

* Refactor ClaudeAgent and ClaudeSessionMetadataStore to remove customizationDirectory handling and simplify session metadata projection
…completions

Fix agent host file completion refresh
…t-file-attachments

agentHost: grant access to local attachments
SimonSiefke and others added 5 commits July 24, 2026 01:21
* dispose background terminal listeners

* test: cover background terminal listener disposal
Document apply_patch explanation input
Bump Copilot SDK to 1.0.8

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

Copilot-Session: 5083fb1f-34d7-44bf-82a1-c4582e57683b
* add vscode-pet

* chat: refine VS Code pet interactions

- Adds product-specific, optimized chat buddies to make the pet lightweight enough to remain visible across chat surfaces.
- Keeps the pet anchored to the composer so confirmations, empty states, and scroll controls remain usable without layout shifts.
- Adds accessible hover and toggle interactions so the feature feels discoverable while respecting reduced motion.
- Executes action-style slash commands immediately during active turns so UI commands do not become queued prompts.
- Excludes GIF binaries from text hygiene checks, matching the existing treatment of other image formats.

(Commit message generated by Copilot)

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

* cursor tracking + address feedback

* Address chat pet review feedback

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

* fix clipping issue

* sync eyes

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Retire completed non PTY shell output resources
@pull pull Bot locked and limited conversation to collaborators Jul 24, 2026
@pull pull Bot added the ⤵️ pull label Jul 24, 2026
@pull
pull Bot merged commit 29215ba into code:main Jul 24, 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.