Skip to content

[pull] main from microsoft:main - #1617

Merged
pull[bot] merged 12 commits into
code:mainfrom
microsoft:main
Aug 21, 2026
Merged

[pull] main from microsoft:main#1617
pull[bot] merged 12 commits into
code:mainfrom
microsoft:main

Conversation

@pull

@pull pull Bot commented Aug 21, 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 : )

sandy081 and others added 12 commits August 21, 2026 10:29
sessions: remove session metadata setting

Make the new session tabs and input metadata presentation unconditional, and remove the retired header/tab fallback paths and fixtures.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Agent Host changes for sbatten/agents/remove-unnecessary-copilot-token-usage

* Remove unnecessary Copilot token usage in agent host service and tests
* First cut of TS7 context

* WIP

* Bind events correctly

* First TS7 implementation.

* First cut of TS7 context providers

* Minor improvements

* Bug fixes for TS7 context provider

* Add setting to enable TS7 language context

* Use getSymbolsInScope

* Implement nes rename on TS7 Api

* First cut of code review

* Add the TS7 enablement settings

* Some bug fixes

* Some final fixes

* Make the shared API work

* Reject nes rename on symbols from libs

* Consider typescriptteam.vscode-typescript extension id

* Move tests to test folders

* Fix registration code.

* Handle cancellation correctly

* Fix test case and awaits

* Make inflight request fail save

* Implement correct dispose

* Fix failing test

* Potential fix for pull request finding

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

* Use 7.0.2 again

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…ository, but ensure that the worktree is set up correctly (#331962)

* Agents - limit creating a session from a pull request in the same repository, but ensure that the worktree is set up correctly

* Remove tests related to code paths that were removed
* Group session artifact images in carousel

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

* Honor imageCarousel.chat.enabled for artifact images

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Clarify artifact commit guidance

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benibenj <44439583+benibenj@users.noreply.github.com>
…331895)

* chat: verify workspace trust for a session's folders before sending

Sending a message to an agent-host chat now verifies workspace trust for
every local folder the session will run in — an existing session's persisted
working directories, or a new session's requested ones — prompting per
untrusted folder and aborting the send if any is declined. Viewing the chat
and the agent list still requires no trust.

Resuming a session whose folder is no longer trusted therefore re-prompts
instead of running untrusted, and the gate reads the session's authoritative
persisted folders (not the current workspace) so an unopened session cannot be
resumed against an untrusted folder just because the open workspace happens to
be trusted.

* chat: check session folder trust in parallel with a fast path

Resolve each folder's trust up front via getUriTrustInfo in parallel and
return immediately when every folder is already trusted (the common case),
instead of issuing a sequential trust request per folder. Only genuinely
untrusted folders are prompted for, still one at a time since the trust
dialog is modal.
* Render the session changes pill from a cache

A session reports its changes late, so its changes pill only appeared some
time after the session was opened. Remember the pill last shown for a
session in a bounded, globally stored cache (30 entries, oldest evicted
first) and render it optimistically until the session reports its own
changes.

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

* Potential fix for pull request finding

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

* Potential fix for pull request finding

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

---------

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

* Clear stale isActive on tabs that are no longer active

`_onDidTabActiveChange` marked the newly active tab's cached DTO as active
but never cleared the flag on the tab that was active before. Since the
label, dirty, pin and preview handlers patch a single field and re-send the
whole cached DTO, updating a *background* tab shipped a stale `isActive:
true` to the ext host, which then repointed the group's active tab at a tab
the user never switched to.

The effect was that changing a background webview panel's `iconPath` or
`title` (or its dirty/pin/preview state) silently flipped
`tabGroups.activeTabGroup.activeTab` to that background tab, with no change
to what the workbench actually renders or focuses.

Fixes #331914

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

* Keep the two cached tab DTO copies in sync

The MultiDiff resources listener replaced `tabInfo.tab` with a freshly built
DTO, but the group's `tabs` array still referenced the original object. Once
those two caches diverged, clearing `isActive` while iterating the group array
left the replacement DTO in `_tabInfoLookup` untouched, so a later label,
dirty, pin or preview update on a background multi diff tab could still ship a
stale `isActive: true` to the ext host.

Refresh the DTO in place instead so both caches keep pointing at the same
object and cannot drift apart.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The dropdown affordance used `chevron-down`, whose ink is drawn above the
middle of the pill's 12px glyph slot, and leaned on a `translateY(1px)` nudge
to reach the label's optical centre. Use `chevron-down-compact` instead -- the
glyph the workspace, session type and automation dropdown triggers already use
-- which is drawn on the box centre and so lands on the label without a
transform.

Drop the substring class matchers on the two glyph rules, which defeat Blink's
per-class invalidation, and share the artifact location helper with the pill
debug overlay rather than rebuilding the same hover, aria and tooltip values.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The pill visibility context menu disabled the toggle entries for kinds the
session reports no data for. They already sit in their own group below the
kinds with data, so keep the grouping but let them be toggled.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Aug 21, 2026
@pull pull Bot added the ⤵️ pull label Aug 21, 2026
@pull
pull Bot merged commit 1be2c3c into code:main Aug 21, 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