Commit Graph
164687 Commits
Author SHA1 Message Date
Benjamin Christopher SimmondsandCopilot d9637b3f2f sessions: measure and unblock V3 onboarding GitHub personalization (#334696)
The V3 new-session onboarding personalizes its 3 prompt options with GitHub
items, falling back to standard options. Telemetry from experiment f716301b
showed 61% of impressions timed out with zero GitHub options, and the existing
events could not measure partial success: `fallbackReason` was only 'none' when
all 3 slots were GitHub, so 2 real issues logged identically to zero.

Telemetry (additive; existing field names and values unchanged):
- promptStrategy gains gitHubOptionCount, candidatesFound, lookupDurationMs,
  per-stage durations and outcomes, and timedOutStage.
- promptOptionInteraction gains optionIndex and optionKindsShown, so per-option
  CTR is computable rather than confounded with availability.
- Both gain a shared impressionId, replacing lossy DevDeviceId joins.
- New 'noComposer' fallback reason splits the infra-bug meaning out of the
  overloaded 'noCandidate'.
- Bounded categories and counts only: no titles, URLs, numbers, repository
  names or prompt text.

Latency, without raising the 10s total budget:
- Publish issue candidates before the linkage lookup, which only filters out
  issues that already have linked pull requests and so must never hide them.
- Keep review-thread enrichment off the critical path; it produced the least
  picked option while being the most expensive stage.
- Rebalance sub-budgets to 4000/1500/3000 so the concurrent chains fit.
- Stream options into the composer: paint the standard options immediately and
  replace slots as lookups land, instead of blocking first paint on the lookup.

INewSessionPromptOptionsController.resolve gains an optional progress callback
that reports whether an update was rendered, so the composer can refuse late
updates while the user is acting on the options and telemetry still describes
what was actually shown.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-05 08:28:38 -07:00
Benjamin Christopher SimmondsandCopilot aee316035c chat: always enable turn status pills (#334702)
Remove the chat.turnStatusPills configuration and legacy compatibility path so turn status pills render consistently in agent sessions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-05 15:28:27 +00:00
roblourens fc0a9e9457 sessions: remove duplicate workspace picker imports (#334689)
Remove duplicate UNIFIED_WORKSPACE_PICKER_SETTING imports introduced by overlapping main changes so core compilation succeeds again.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-05 03:29:25 +00:00
TylerLeonhardtandClaude Opus 5 dcde63e9c1 sessions: drop the composer card, give each control its own surface (#334655)
* sessions: drop the composer card, give each control its own surface

Over a chat background the new-session composer sat on a single frosted
card, while a started session gives every control its own surface. This
makes the composer match the started session.

- Delete `.new-chat-widget-content`'s card styling: the padding, blur,
  border, radius and shadow.
- Give the bottom-row action labels and the workspace pills an opaque
  `--session-view-background` fill, and put a 2px gap between the agent
  host config controls now that they no longer share one surface.
- Keep the hover tint opaque. `--vscode-toolbar-hoverBackground` is
  translucent, so it goes on `background-image` as a flat gradient and
  composites over the opaque fill instead of replacing it.
- Frame the bottom-row chips when a chat background is set, the same
  move the in-session secondary toolbar makes in `chatView.css`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* Address review: high-contrast chip frame, fixture layering

The chip frame over a chat background used commandCenter.inactiveBorder,
which — unlike its sibling border tokens — registers no hcDark/hcLight
value, so it stayed a 25%-alpha wash in high contrast. Put contrastBorder
first, the way the rest of the codebase does: high-contrast themes define
it, others fall through.

The chat-background fixture painted its opaque base on .session-view,
which production makes transparent so the wallpaper can show. Move that
base onto the part instead. Both screenshots are byte-identical, since
the wallpaper is positioned and always painted above a static background
either way — but the fixture now stacks its layers the way the real
window does.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* Refresh the blocks-ci screenshot manifest

Regenerated by CI. Most entries are this PR repainting the composer, and
the NewSessionChatBackground pair is the fixture it adds.

One entry is not from here: chatInput/ResponsiveModelResizeCycleMinimal/Dark.
#334021 landed after the manifest was last regenerated and changed
chatView.css without refreshing it, so this PR is the first regeneration
to pick that up.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* Restore the resize-cycle hash the manifest refresh clobbered

ResponsiveModelResizeCycleMinimal/Dark is not a fixture this branch
touches, but the regenerated manifest I pasted carried a one-off hash for
it. Put back the value main has held across ~20 regenerations, which is
also what the latest run produced.

That fixture is the only blocksCi one that sets virtualTime.enabled to
false, and it drives 19 sequential resize widths on wall-clock time, so
its final frame can land mid-settle on a loaded runner.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-05 03:05:58 +00:00
roblourens cf01588675 build: override product Copilot runtime (#334648)
* agentHost: bump Copilot SDK and CLI canaries

Update the bundled root and remote dependencies to the requested canary builds. Accept the SDK's policyHelper managed-settings source in diagnostics and E2E validation.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* build: keep Copilot canaries in product builds

Restore the public Copilot dependency pins used by OSS builds. Product builds can apply the requested private-feed SDK and CLI canaries through the existing Azure pipeline override parameters.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* build: check in product Copilot versions

Use a checked-in manifest as the default source for Copilot SDK and CLI versions in Azure product builds while keeping OSS package manifests on public versions. Retain queue-time selectors as recovery and validation escape hatches.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* build: override only product Copilot runtime

Keep the OSS SDK version and check in the product runtime canary as the existing Azure pipeline parameter default. Extend the shared override path to support runtime-only updates.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* build: preserve latest canary SDK tag

Keep the existing sdk-canary build tag emission scoped to latest-canary resolution while adding runtime-only overrides.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* build: update product Copilot runtime canary

Set the checked-in product runtime override to 1.0.84-canary.67.g6496fad.unsigned.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-05 03:05:01 +00:00
Osvaldo OrtegaandCopilot b67c3e1038 Enhance cloud sandbox UX for remote connections (#334644)
* Agent Host changes for agents/cloud-sandbox-ux-enhancement

* Fix sandbox activation races and initial connection interactivity

Reject stale activation results after cancellation, feature teardown, or provider replacement. Keep initial sandbox connections read-only while preserving input during self-healing reconnects.

Add regression coverage for review feedback on #334644, including actual environment lookup failures.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-05 02:10:41 +00:00
TylerLeonhardtandCopilot e3c3c4524e agentHost: Own SDK auto-download preference (#334316)
* agentHost: Offer SDK download independent of sign-in

Check for a missing SDK before account, entitlement, and signed-out experiment gates so every user can consent to the required download. Keep missing-account guidance behind the existing signed-out checks and cover both sides of the decision boundary.

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

* agentHost: Treat first use as SDK download consent

Publish lazy SDK download lifecycle through the setup channel so first use dismisses the download offer and refreshes setup after completion. Persist the same standing consent as the Download action and bound failed retries to one attempt per window.

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

* agentHost: own SDK auto-download preference

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

* agentHost: defer SDK downloads until use

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

* agentHost: persist SDK download consent

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

* agentHost: serialize SDK setup operations

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

* agentHost: coalesce SDK download requests

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

* test: provide SDK downloader to Claude integration

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

* agentHost: Repair Codex prewarm test downloader

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

* agentHost: Download Claude SDK when restoring history (#334661)

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-05 02:10:14 +00:00
3a8bef768c agentHost: publish client tools before starting turns (#334385)
* agentHost: publish client tools before starting turns

Flush and await the latest active-client snapshot before dispatching new or resumed turns so tools registered during MCP startup are available on the first provider request. Keep the barrier cancellation-aware and cover ordering and cancellation regressions.

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

* agentHost: harden active client turn barrier

Avoid retaining cancelled unresolved claims and reconcile before reading resumed-turn state so concurrent resumes are joined instead of duplicated. Strengthen both race regressions.

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

---------

Co-authored-by: Paul Wang <paulwang@Pauls-MacBook-Pro.local>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-05 02:10:11 +00:00
Logan RamosandCopilot 291338d45a More model picker improvements (#334674)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-05 02:06:16 +00:00
Megan RoggeandCopilot d4471383bd sessions: fix unified workspace picker setting references (#334677)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 557c3448-77ae-43aa-9ac8-785c2c42b9a7
2026-09-05 00:57:09 +00:00
Megan RoggeandCopilot 42b37b7a64 sessions: redesign unified workspace picker (#334591)
* sessions: redesign unified workspace picker

Unify local and remote workspace selection behind the consolidated picker setting, add explicit local clone and cloud repository actions, and keep remote targets in a dedicated flyout. Align picker wording, icons, recents, and worktree handling with the repository-first design.\n\nRefs #334563\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: fix unified picker type errors

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

* sessions: address workspace picker feedback

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 19:55:24 -04:00
Megan RoggeandCopilot d2368d9065 chat: fix GitHub context repository selection (#334594)
* chat: fix GitHub context repository selection

Avoid waiting for unresolved local Git metadata in the Agents window, and initialize every workspace root before choosing a repository in multi-root editor windows.\n\nFixes #334563\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: preserve workspace folder choices for GitHub context

Keep multi-root workspace folders as distinct Issue and Pull Request picker entries, even when they resolve to the same GitHub repository.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: choose workspace folder before GitHub context

Show multi-root workspace folders before resolving GitHub metadata so Issue and Pull Request attachment never skips folder selection while repository state is still loading.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: avoid blocking GitHub context repository discovery

Build multi-root choices from workspace folders and already-known repositories so unresolved Git state cannot prevent the Issue or Pull Request picker from opening.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: scope GitHub context to selected folder

Pass unresolved workspace folder selections to Copilot Chat and resolve their remotes without waiting for repository HEAD state. This keeps issue and pull request searches limited to the chosen repository even while Git discovery is incomplete.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: resolve Git worktree remotes for context

Follow Git worktree directory pointers and common directories when resolving the selected folder's remote. Preserve normal remote preference ordering so origin is chosen consistently when repository discovery is unavailable.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: use selected Agents folder for GitHub context

Pass a single selected local folder directly to Issue and Pull Request attachment commands. Only offer repository selection when that folder cannot be resolved.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: fix GitHub repository picker typing

Make the repository quick pick explicitly single-select and pass a mutable pick array so Compile & Hygiene resolves the correct overload.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix Copilot session provider formatting

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 19:53:38 -04:00
Bryan ChenandCopilot 60912b0de7 Make build title prefix optional (#334658)
build: make title prefix optional

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 23:46:52 +00:00
Copilotandjustschen 9db4cf85bc Keep the chat request edit input opaque over Agents Window backgrounds (#334021)
* Initial plan

* Keep the chat request edit input opaque over Agents Window backgrounds

Co-authored-by: justschen <54879025+justschen@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: justschen <54879025+justschen@users.noreply.github.com>
2026-09-04 21:56:09 +00:00
Hawk TicehurstandCopilot de41bad400 Move customization entrypoint into new chat view (#334604)
* Agents - move customization entry points

Move customization access into new-chat and active-session surfaces, preserve migration attention state, and remove the superseded sidebar widget.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Agent Host changes for agents/customization-entrypoint-refactor

* Fix customization entry point tests and refreshes

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

* Adapt customization entry points to workspace setting move

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

* Update customization entrypoint screenshot hashes

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 21:55:19 +00:00
Justin Chen f259b475bc pet: fix peaking when chat pill is present (#334612) 2026-09-04 21:54:49 +00:00
Sandeep SomavarapuandCopilot 167a0e8fe5 agentHost: Preserve workspace transition boundaries (#334534)
* Skip workspace trust prompts in Allow All mode

Reuse the effective auto-approval configuration when converting workspace-less sessions so Allow All and global auto-approve bypass trust prompts consistently, including isolated worktree creation. Preserve trust checks for default, assisted, and autopilot modes.

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

* Inline workspace trust bypass checks

Keep the workspace-conversion helper minimal while preserving the SessionPermissionManager public methods and their existing effective configuration behavior.

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

* Localize workspace trust bypass checks

Keep the one-off effective approval decision in workspace conversion and restore session permissions to its prior shape.

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

* agentHost: Preserve workspace transition boundaries

Keep workspace transitions visible across collapsed progress and Agent Host restarts while hiding the internal continuation request. Persist transition state atomically and serialize database mutations so rollback cannot absorb unrelated writes.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: Address workspace transition review feedback

Serialize transition restoration behind earlier turn mapping writes, and preserve access to truncated transition labels with the standard hover service. Avoid the global class-substring selector while retaining compact icon styling.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 20:10:49 +00:00
Megan RoggeandCopilot b6fa70ed97 sessions: move unified workspace picker setting (#334554)
* sessions: move no-workspace experiment setting

Move the No workspace experiment gate into the Sessions chat contribution and rename it to describe the tested UX. Migrate explicit values from the legacy application-scoped setting while preserving explicit values already configured under the new key.

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

* sessions: clarify unified workspace picker setting

Name the experiment gate for the complete unified picker experience, including consolidated remote sources, search, and the No workspace option.

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

* sessions: address workspace picker review

Keep the deprecated application-scoped key included so configuration migration can inspect it, and qualify No workspace support in the replacement setting description.

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

* sessions: preserve workspace picker treatment name

Keep new and old clients on the same ExP flight by explicitly retaining the existing treatment identifier while the user-facing setting is renamed.

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

* sessions: use unified picker treatment name

Allow the renamed setting to derive a matching ExP treatment identifier for a clean restart of the recently launched experiment.

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

* sessions: test workspace picker setting migration

Extract the unified workspace picker migration and cover application scope, legacy value removal, value copying, and preservation of an explicit replacement value.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 20:06:01 +00:00
Megan Rogge 99fbee351c chat: restore GitHub issue and PR context attachments (#334544)
* chat: restore GitHub issue and PR context attachments

Revert compact inline references for pasted GitHub issue and pull request URLs until attachment rendering is unified. Restore automatic context attachment synchronization in the Agents composer.\n\nRefs #334542\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: attach pasted GitHub links as context

Keep pasted issue and pull request URLs in the prompt while adding context attachments in regular Chat. Share URL parsing with the Agents composer and preserve undo behavior.\n\nRefs #334548\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: use semantic icons for GitHub context

Represent pasted GitHub links as generic context so issue and pull request pills render their respective Codicons without generic pasted-content chrome.\n\nRefs #334548\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: preserve request link interactions

Reject invalid GitHub issue and pull request URL continuations, and keep nested request links keyboard- and pointer-operable when inline request editing is enabled.\n\nRefs #334548\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test: avoid forwarding flatMap index as metadata

Wrap the GitHub attachment parser callback so Array.prototype.flatMap does not pass its numeric index into the optional metadata parameter.\n\nRefs #334548\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 11:54:29 -07:00
vs-code-engineering[bot]andgithub-actions[bot] c4dd6e05ae Update endgame notebook milestones to 1.137.0 (#334540)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-04 18:32:51 +00:00
vs-code-engineering[bot]andgithub-actions[bot] 31c4094071 Bump version to 1.138.0 (#334539)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-04 18:31:41 +00:00
Birarpanjot Singh Kanwer fd633c0502 fix(copilot): don't auto-retry expired vision attachments, show actionable error (#334129)
* fix(copilot): don't auto-retry expired vision attachments, show actionable error

Expired pasted images return vision_attachment_not_accessible 400 on every
request. ToolCallingLoop retried the same poisoned payload 3x with
'Recovering from request error'. Skip auto-retry for this error (mirrors
isContextOverflowBadRequest precedent) and surface remove-attachment /
new conversation guidance.

Fixes #334126

* fix(copilot): centralize vision-attachment check, add retry and formatter tests

Address Copilot review on #334129: extract shared
isVisionAttachmentInaccessibleError helper in commonTypes and reuse it
from ToolCallingLoop.shouldAutoRetry; cover the retry exemption and both
error-message variants with tests.
2026-09-04 10:41:35 -07:00
Vijay Upadya 003a5b4df3 Bump tas-client to 0.4.6 and vscode-tas-client to 0.3.3 (#334538) 2026-09-04 17:12:33 +00:00
Bryan ChenandCopilot b185f5fcfb Support queue-time build title prefixes (#334533)
build: support queue-time build title prefixes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 09:52:55 -07:00
Martin Aeschlimann 68c44ee2c2 Separate the configuration migration settings again (#334546)
separate settings for chat customization migrations
2026-09-04 16:49:27 +00:00
Megan Rogge 13f40bd750 chat: Avoid underlining rich link pills (#334545)
Fixes #334455\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 16:47:34 +00:00
Henning DieterichsandCopilot 105fc025e6 Fix Multi Diff debug command in Agents window
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 18:42:34 +02:00
Megan RoggeandCopilot a6e243668e dictation: fix indefinite hangs by adding timeouts to Foundry Local native calls (#334526)
Fix dictation hangs by adding timeouts to Foundry Local native calls

The on-device (nemo/Foundry Local) dictation backend awaited several
native SDK calls with no timeout and no AbortSignal: the model catalog
lookup, model.load(), session.start(), each session.append() call
(chained serially so one stuck append blocks every later chunk and
stop()), the result stream's next(), and session.stop()/dispose().

If any of these stalls (proxy/firewall silently dropping packets, a
wedged native addon, a driver hiccup during model load), the awaiting
promise never settles. Since start()/pushAudio()/stop()/cancel() all
await these calls directly or transitively, dictation would hang
indefinitely with no error surfaced to the user and no way to recover
short of restarting VS Code.

Guard each of these awaits with a hard timeout that rejects with a
descriptive error, mirroring the existing inactivity-timeout pattern
already used for the native runtime tarball download. A timeout now
surfaces as a normal model/session Error (with a new 'timeout' error
code from classifyModelError) so the existing error-handling UI path
picks it up, and Stop/Cancel can no longer hang forever.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 16:27:39 +00:00
Logan RamosandCopilot 50f4d0e02d Cleanup some minor issues on new model picker (#334522)
* Cleanup some minor issues on new model picker

* Use the sizing tab's own list options for its row heights

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

* Align the search field with the search button in the picker tab bar

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 12:20:59 -04:00
Copilotandbenibenj 151fca25a2 Allow dragging a grouped session back into its workspace section (#333998)
* Initial plan

* Allow dragging a grouped session back into its workspace section

Co-authored-by: benibenj <44439583+benibenj@users.noreply.github.com>

* Keep the section a session belongs to in a single helper

Co-authored-by: benibenj <44439583+benibenj@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benibenj <44439583+benibenj@users.noreply.github.com>
2026-09-04 16:18:52 +00:00
Anthony Kim 2145e84f0a chat: add telemetry for collapsible content toggles (#332656)
* chat: add telemetry for toggling terminal thinking blocks

Track user expand/collapse of the terminal command header in thinking
and simple-collapsible wrappers, without counting auto-expand.

* chat: log collapsible toggles from the shared parent

Move user-toggle telemetry onto ChatCollapsibleContentPart so thinking,
terminal, references, and other wrappers share one event. Keep the
terminal-specific event when kind is terminal.
2026-09-04 16:11:14 +00:00
Martin Aeschlimann de8cc55dae deprecation message for customization location settings + merge migrate.enabled settings (default true) (#334518)
* Enhance customization migration: add severity levels for deprecation messages and deprecation message for csutomization location settings + one single migrate.enabled setting (default true)

* update
2026-09-04 15:53:39 +00:00
Henning Dieterichs 2e12155dfa Implements "Diff View" submenu for agents window and multi file diff editors (#334498) 2026-09-04 14:02:26 +00:00
Martin AeschlimannandCopilot 1c84e6239e Improve customization message UI and migration behavior (#334303)
* Agent Host changes for aeschli/agents/improve-customization-message-ui

* Address customization hint review feedback

Route review links to the relevant customization surface and avoid reporting an unverifiable instruction count when collection is extension-owned. Add coverage for disabled customizations and each hint destination.

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

* Avoid blocking agent dispatch on customization summaries

Start summary discovery alongside request setup, but publish it only after agent invocation has begun. Forward request cancellation through customization discovery so abandoned sends stop outstanding work.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix customization summary ordering test leak

Await the agent invocation gate directly while summary discovery remains blocked, avoiding a leftover cancelable timeout in browser unit tests.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove customization availability summary

Keep migration hints focused on workspace and user candidate counts and retain migration-page deep linking, while removing the summary setting and inventory enumeration path.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 13:55:42 +00:00
Christof Marti 0fb6ef6a82 Agent Host: Use VS Code certificates for Dev Container CLI (#334490) 2026-09-04 15:37:24 +02:00
Sandeep SomavarapuandCopilot f8a2115ebc sessions: consolidate remote workspace selection (#334487)
* sessions: consolidate remote workspace selection

Route quick chat creation through the unified workspace picker when consolidated remote workspaces are enabled. Persist No workspace as the last selected target so new sessions restore it consistently, and enable the experience by default on Insiders.

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

* sessions: handle delayed quick chat providers

Preserve the persisted No workspace target while quick-chat providers register and retry draft restoration when session types change. Avoid discarding the current draft when the Chats action runs before a quick-chat target is available.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 13:24:37 +00:00
Ladislau Szomoru 6e61ad439f Agents - only show the badge for uncommitted changes on the new session page (#334488) 2026-09-04 13:20:41 +00:00
adb0399342 Engineering - bump timeout for macOS jobs (#334471)
* Engineering - bump timeout for macOS jobs

* Disable flaky compact chat input screenshot gate

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3ab38087-cdb0-46c0-bd9f-0e048e7e9563

* Remove compact chat input screenshot baseline

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3ab38087-cdb0-46c0-bd9f-0e048e7e9563

---------

Co-authored-by: Henning Dieterichs <hdieterichs@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3ab38087-cdb0-46c0-bd9f-0e048e7e9563
2026-09-04 13:04:48 +00:00
Martin Aeschlimann 4d9dfbaa0a Implement migration page for chat customization dialog (#334270)
* Agent Host changes for aeschli/agents/migration-chat-customization-dialog

* update

* Enhance AI Customization Management: Add migration settings UI and logic

- Introduced a checkbox for clearing unused location settings after migration.
- Updated migration category to include configuration setting IDs.
- Enhanced banner messages to link to affected settings with markdown support.
- Improved CSS styles for migration settings items.
- Added tests for migration settings functionality and banner behavior.

* update

* update

* update

* update
2026-09-04 13:02:01 +00:00
Henning Dieterichs ae81987cfc Merge pull request #334375 from microsoft/hediet/update-component-explorer
Update Component Explorer packages
2026-09-04 14:44:27 +02:00
Benjamin Christopher SimmondsandCopilot d52881e2e4 agentHost: Keep Agent Merge notice changesets empty (#334465)
agentHost: keep Agent Merge notice changesets empty

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 11:33:45 +00:00
Ladislau Szomoru dff3e35567 Agents - handle errors during branch checkout (#334452) 2026-09-04 11:06:35 +00:00
Christof MartiandCopilot c772f67cd2 Agent Host: Open Dev Container workspaces in Agents (#334249)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 10:49:27 +00:00
Lee Murray 0f2eb0c7d7 Merge pull request #334449 from microsoft/mrleemurray/tragic-lime-galliform
Keep auto experiment defaults applied when assignments are refetched
2026-09-04 11:41:04 +01:00
12ae77ebcd Make extensions.gallery.authProvider policy-controlled (#333837)
* Make extensions.gallery.authProvider policy-controlled

Adds an `ExtensionGalleryAuthProvider` policy to the
`extensions.gallery.authProvider` setting so administrators can manage
which authentication provider is used for the Extensions Marketplace,
matching the neighbouring `extensions.gallery.serviceUrl` setting.

Since the setting is a string enum, the policy declares one localized
`enumDescriptions` entry per value, reusing the existing nls keys.

Regenerated build/lib/policies/policyData.jsonc via
`npm run export-policy-data`.

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

* Attestation commit

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Sandeep Somavarapu <sasomava@microsoft.com>
2026-09-04 12:31:42 +02:00
Sandeep SomavarapuandCopilot a9864c0279 Convert workspace-less sessions to workspace sessions (#334250)
* agentHost: support setting workspace on existing sessions

Allow an agent to attach a workspace-less session to a folder or managed worktree without replacing the session or losing conversation history. Propagate the new project, working directory, continuation, and activity state through Agent Host and Sessions UI.

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

* Agent Host changes for sandy081/agents/workspace-less-to-workspace-conversion

* Keep workspace conversion progress continuous

Reserve a visible host-authored turn while workspace setup completes, then route that same turn through normal provider admission. Keep project updates catalog-only, durably quarantine disposed provider sessions, atomically persist Copilot workspace metadata, and wire conversion without lazy service lookup.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Show workspace conversion outcome in transcript

Use a stable visible continuation request and add synchronized Workspace Set or Workspace Setup Failed notifications to the same turn.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove stale workspace conversion imports

Clean up imports left behind while adapting the workspace conversion changes to the current Agent Host composition.

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

* Adapt workspace conversion to chat queue diagnostics

Pass operation names through the updated Copilot chat queue API for working-directory mutations and their sequencing tests.

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

* Fix workspace conversion tests on Windows

Create in-memory customization directories before writing fixtures and derive expected paths from URI.fsPath so assertions follow the host platform.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Avoid concurrent in-memory folder creation

Serialize creation of customization fixture directories because the in-memory filesystem's recursive mkdir path is not safe when sibling operations race.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix remaining workspace conversion CI failures

Use the real disk provider for native Windows customization paths, prevent late aborted-idle events from cancelling replacement turns, and give the full property initialization checker enough heap for the expanded Agent Host sources.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 12:06:21 +02:00
Lee Murrayandmrleemurray 5e4368079a Update file icon mask properties for better alignment and sizing (#334450)
style: update file icon mask properties for better alignment and sizing

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
2026-09-04 10:01:21 +00:00
Sandeep SomavarapuandCopilot be6bce25cb Implement queueing for busy target chats in send_message tool (#334260)
* Agent Host changes for sandy081/agents/send-message-tool-overview-limitations-200967e2

* agentHost: preserve send_message queue ordering

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 11:30:10 +02:00
mrleemurrayandCopilot ba16d5bc98 Address review feedback: extract test fixture helper and condense comments
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-04 10:28:59 +01:00
Copilotandalexr00 dac655d1a7 Prevent duplicate implicit PR attachments (#334215)
* Initial plan

* Fix duplicate implicit PR attachment

Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com>

* Keep implicit attachment matching type aware

Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com>

* Attestation commit

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com>
2026-09-04 09:20:11 +00:00