[pull] main from microsoft:main#1388
Merged
Merged
Conversation
The local agent host runs a single sessions provider whose session cache holds every agent-host session type (codex, claude, copilot). When a new session is sent, the provider identifies the freshly-committed backend session in `_waitForNewSession` purely by novelty — the first cached session whose raw id was not present before the send. The session's type/scheme was never checked. That is wrong when a session of a *different* type appears in the cache during the send. A slow Codex session (which cold-starts a native app-server before its first /responses turn) sent while a Claude session from an earlier run is present would latch onto the Claude session and return it as the Codex commit. `sendRequest` then reports an "active session replaced: codex -> claude", the workbench swaps the active slot to the wrong session, removes the Codex one, and the Codex reply renders nowhere. A claude harness that is suppressed in the current window (preferAgentHost=false) additionally throws "Agent host targets must have an item provider" when activated. This is exactly why the Codex smoke test timed out on the Windows CI runner (where the cold-start race is widest), failing build 449022. Filter `_waitForNewSession` by the `chatResource` scheme so a send only ever commits a session of its own type, in both the immediate cache scan and the onDidChangeSessions wait. Re-enable the Codex smoke test that was disabled in #321983 to keep the build green. Verified: a new unit test reproduces the cross-type latch (fails before, passes after); live launch with stale claude sessions present shows the Codex session stays active with no wrong swap; and the (re-enabled) Codex smoke test passes locally end-to-end. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
chat: remove letter-spacing from agent sessions title style Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
* AH skill completions: qualify skill with plugin * fix tests
…322071) update scrollbar and minimap slider colors for improved visibility in light and dark themes Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
#322080) * fix: suppress edge fades for embedded single-line editors in scroll shadows * fix: remove unnecessary scroll shadow gradient for monaco list --------- Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
style: adjust tab sizing to fit content and enable overflow scrolling Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
…n to pass GitHub token during model retrieval (#322045) * Enhance logging for model refresh and update CopilotClient integration to pass GitHub token during model retrieval * Remove token mention from CopilotClient startup log message
…kage-lock files (#322020) * Update GitHub Copilot and SDK versions to 1.0.64-0 in package and package-lock files * Increase timeout for CopilotAgent tests to 30 seconds
…2099) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* refactor: rename floatingPanels setting to modernUI and update related configurations Co-authored-by: Copilot <copilot@github.com> * style: clarify comments regarding layout affecting modules and floating panels presentation Co-authored-by: Copilot <copilot@github.com> * fix: add deferred re-clamp for header size changes in Pane layout * feat: migrate legacy experimental settings to modernUI toggle * 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> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com> Co-authored-by: Copilot <copilot@github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
) * fix: plugin skill files not accessible when connected to remote When connected to an SSH/WSL/dev container remote, local file:// URIs for agent plugin skill files were being passed as native filesystem paths to the remote extension host, which can't read them. Fix getFilePath() to emit vscode-local:// URIs for local file:// paths when isRemote is true — the remote extension host can resolve these via the built-in local file bridge. Also fix _listExtensionPromptFiles to include plugin-storage files so they pass the trust check without triggering a confirmation dialog on every read. Fixes #305168 * fix: correct vscode-local URI scheme format in comments and test names * test: fix test failures on Windows CI and missing getConnection stub --------- Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
…latch sessions: match new agent-host session by type, not just novelty
…322025) * Support rich strictKnwonMarketPlaces managed setting * config update * Address PR review: validate allowlist entries, honor url ref, fix docs * add test and update policy * fix test * update ux
* CI: speed up node_modules cache with zstd + shared scripts
Switch the Linux/macOS node_modules cache from single-threaded gzip
(tar -czf) to multi-threaded zstd. The "Create node_modules archive"
step was spending ~5min of single-core gzip on a multi-GB tree on every
cache miss; zstd -T0 uses all cores and decompresses much faster, so
cache-hit jobs benefit too. Windows stays on 7-Zip (already threaded).
Extract the archive/extract commands into shared per-platform scripts
under .github/workflows/node_modules_cache/ (cache.sh / cache.ps1, each
dispatching on an archive|extract argument) so the format and flags live
in one place instead of being duplicated across ~8 workflows. Bump
build/.cachesalt to invalidate existing gzip caches.
Also remove the obsolete extensions/copilot CI workflows
(copilot-setup-steps.yml, ensure-node-modules-cache.yml, pr.yml) and the
unused build/listBuildCacheFiles.js, and drop their now-stale entries
(plus lit-html and signals-core) from .eslint-allowed-javascript-files.
* ci: seed copilot node_modules cache on main and rename cache keys
Add copilot-linux and copilot-windows jobs to pr-node-modules.yml so the
copilot node_modules cache is populated on main. Rename the copilot cache
keys to copilot-node_modules-linux / copilot-node_modules-windows in pr.yml.
* ci: extract node_modules cache into composite actions
Factor the repeated node_modules cache plumbing into two local composite
actions, restore-node-modules and save-node-modules, and migrate all
workflows that used the cache.sh/cache.ps1 archive flow (pr, pr-node-modules,
pr-{linux,darwin,win32}-test, copilot-setup-steps, component-fixtures,
css-order-scan).
- restore-node-modules computes the key, restores the cache, optionally
extracts on a hit, and exports the resolved key via $GITHUB_ENV.
- save-node-modules archives node_modules and saves it to the cache, reusing
the key exported by restore so callers don't repeat the prefix.
- Bespoke install steps stay in the workflows, so per-job env/secrets never
cross the action boundary.
- Only seed the cache on branch pushes (component-fixtures skips PRs, whose
caches aren't shared).
* save the node_modules cache for now to test it
* ci: fix node_modules cache save dropping the archive
cache.sh wrote its archive as cache.tzst, but actions/cache reserves that
name for its own tarball and passes --exclude cache.tzst, so our archive was
excluded and an empty (~200 B) cache was saved on Linux/macOS. Rename the
archive to node-modules.tzst and bump build/.cachesalt to invalidate the
broken cache entries.
* empty commit
* Remove again saving to the node modules cache from PR steps
…322109) * Add [PR-ICON-TRACE] trace logs to PR polling/fetching pipeline Adds trace-level logging across the GitHub PR lookup, fetch, poll and session-icon computation path so the flow can be filtered end-to-end via the shared [PR-ICON-TRACE] token while debugging missing/incorrect session PR icons. Covers githubService PR-number lookup, githubApiClient request/response, the PR/CI/review-thread models (refresh, poll, startPolling), the polling contribution per-session poller, and the agent-host session icon derivation. Injects ILogService where it was missing and updates the polling contribution test accordingly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Pass error as separate trace arg to preserve stack formatting Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rogress part (#322111) fix: update icon for continue in background action in chat terminal tool progress part Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )