[pull] main from microsoft:main - #1660
Merged
Merged
Conversation
…sts (build fix for vscode-engineering#3742) (#333858) * fix: skip real AudioContext in Voice Mode onboarding preview under tests The onboarding voice-sample preview always built a real AudioContext and connected the analyser to context.destination, opening the host audio output device even when a test-supplied audio element was injected. In headless Electron test runs this device kept spinning with no producer, emitting endless `SyncReader::Read timed out` audio-glitch warnings and hanging the unit test task until timeout. Skip the best-effort analyser graph when an audioFactory override is provided; the sample still plays. 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> * chore: attest automated pull request --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Megan Rogge <megan.rogge@microsoft.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Megan Rogge <merogge@microsoft.com> Co-authored-by: Dmitriy Vasyura <dmitriv@microsoft.com> Co-authored-by: Bryan Chen <41454397+bryanchen-d@users.noreply.github.com> Co-authored-by: Giuseppe Cianci <gcianci@microsoft.com>
Revert "Chat: Use mouse Back to return to agent sessions" This reverts commit c178d46. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* test: expand recent Agent Host E2E coverage Cover automation, detached worktree, server-tool, session persistence, authentication, and changeset behavior added in recent Agent Host changes. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: normalize detached worktree paths Compare worktree paths through URI comparison keys so Windows slash and path-case normalization do not cause false failures. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: validate detached worktree location Use the shared repository worktree-location predicate instead of assuming the checkout is an immediate child of the worktree root. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: keep worktree assertions portable Assert observable detached-worktree lifecycle behavior without pinning a platform-specific checkout layout. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: require cross-platform Agent Host E2E validation Document Azure CI acceptance, live failure triage, targeted reruns, and repeat validation for known flake surfaces. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: keep Agent Host validation scoped Keep the cross-platform E2E acceptance workflow in the Agent Host E2E skill and restore the general Azure Pipelines skill. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: address Agent Host E2E review feedback Seed the rename test before its provider turn, re-record Codex on the manual rename path, and condense the detached-worktree grace-period explanation. (Written by Copilot) 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> Copilot-Session: edab674c-fabb-4d28-b950-e5c2eb419329
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: edab674c-fabb-4d28-b950-e5c2eb419329
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: edab674c-fabb-4d28-b950-e5c2eb419329
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: edab674c-fabb-4d28-b950-e5c2eb419329
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: edab674c-fabb-4d28-b950-e5c2eb419329
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: edab674c-fabb-4d28-b950-e5c2eb419329
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: edab674c-fabb-4d28-b950-e5c2eb419329
* chore: bump @github/copilot to 1.0.83-2 * chore: re-trigger validation for @github/copilot 1.0.83-2 bump The prior product build (470206) failed only on the macOS CLI (ARM64) Rust compile+notarize job, which is structurally independent of the @github/copilot npm bump (the CLI pipeline references no copilot packages) and is flagged in-pipeline as a known build flake (todo@connor4312, MSRUSTUP_LOG=debug). All other CLI-arch jobs passed; every other job cascade-cancelled. No VS Code integration change is warranted; re-run the authoritative product build. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: vs-code-engineering[bot] <122617954+vs-code-engineering[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep changed binary resources visible with an accessible placeholder and provide a secondary action that opens the normal diff editor for richer binary handling. Fixes #206062 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 88f03546-c3b6-4f5d-88ac-a8d24407a97c
Pair each diff-side URI with its optional text model so binary and missing-side states are unambiguous, and derive binary handling from that representation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 88f03546-c3b6-4f5d-88ac-a8d24407a97c
* agent host: support side chats from subagents Creates side chats from subagent output without trying to fork a provider session. - Preserve canonical subagent chat URIs when translating Sessions resources. - Create a fresh peer chat for tool-origin sources that lack provider backing. - Inject the bounded subagent transcript and selected text into the first side-chat turn. - Add regression tests for URI translation, fresh chat creation, and context injection. Fixes #333966 (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agent host: address side chat review feedback Correct side-chat context and URI handling for edge cases found during review. - Keep completed subagent turns when creating a side chat during an active turn. - Use the backend session identity when reconstructing a missing subagent URI. - Add focused regression tests for both cases. Fixes #333966 (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Browser: enforce network policy via session isolation * feedback * Better sharing enabled state
Agent Host changes for agents/fix-list-background-color-issue
* Fix agent session status alignment Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix chat rich link status offset Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Align loading rich link status icons Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use session terminology for session-scoped delegation hovers while preserving chat terminology for chat and legacy origins. Add regression coverage for both scopes.\n\nFixes #333482\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chat: hide delegation from agent host sessions Keep Agent Host sessions available as delegation targets while preventing local and remote Agent Host sessions from offering Continue In. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: cover remote agent host delegation flags Assert that discovered remote Agent Host sessions remain delegation targets without advertising delegation as a source. 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> Copilot-Session: bd312c9c-1961-430a-a572-bd4cd6a47441
build: revert claude agent SDK lockfile bump from #333870 #333870 bumped transitive deps in build/agent-sdk/agents/claude/ while @anthropic-ai/claude-agent-sdk stayed pinned at 0.3.239. Those deps are peers, so npm installs them into node_modules, and node_modules is what package.ts tars. The tarball bytes changed and upload.ts refused to overwrite the existing agent-sdk/claude/0.3.239/<target>.tgz blob: remote: 4d2a122a30085d088c124769fd01febd4814e1ce3022bf8534be3434103c58b6 local: 3f428bf4db0ed63b7ff0587033a30e998eacaf246da933732764a0a8f8d6589f Restores the lockfile to the state that produced the blobs already on the CDN. Leaves the dependencies-check.yml and build/npm/gyp changes from #333870 alone. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…our response (#334105) * agentHost: do not declare a connection dead while the host waits for our response The AHP liveness watchdog measured inbound silence only. When the agent host copies a client customization bundle back over the connection, it sends reverse `resourceRead` requests and then stays quiet while it waits for us. The client fills the client-to-host direction with large responses, so the client `ping` queues behind that upload and cannot be answered. After 25s the client closed a healthy tunnel. Debug log bundles show this on 3 clients and 4 hosts: each host-side `Syncing plugin` is followed by a client-side watchdog close and then a successful host-side `Reconnect`, so the host stayed reachable. Whether the watchdog fired depended on unrelated inbound traffic that reset the read timer. A write-side timestamp is not a usable signal. RelayTransport gives bytes to a shared-process relay, and the local tunnel process has its own buffer, so a recent write does not show what reached the wire. - Counts reverse requests that we received and did not answer, per transport. A count above zero shows that the peer waits for us. - Defers the close while that count is above zero, and keeps the pre-existing high-load deferral in the same branch. - Re-arms both timers at PING_INTERVAL_MS during a deferral, so the client continues to probe. Before this change one ping only was sent for each silent window. - Grants a full PING_INTERVAL_MS + LIVENESS_TIMEOUT_MS window when the deferral clears. A response counts as answered when it goes to the transport, so the bytes that still drain and the host post-copy work need their own budget. Measured host-side gaps were 37-47s, thus the previous 5s re-arm still closed the connection. - Keeps the grant to one for each deferral episode, so a dead transport is still detected. - Does not change `_lastReadTime`, so the timeout diagnostic reports the true total silence. - Injects a no-load estimator in the tests. The shared LoadEstimator singleton starts a 1s interval that does not drain under runWithFakedTimers, so these tests passed only when the suite around them disposed the client first. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agentHost: keep a short revision history for each synced plugin A client plugin nonce is a content hash, not a version that increases. A customization set that changes and then returns to an earlier state makes a nonce that was synced before. `_cleanupStaleNoncesFor` kept the current revision only, so each such cycle was a cache miss and copied the full bundle again over the agent host connection. Debug logs show two nonces that alternate on one host, and each change caused a full copy. - Keeps up to MAX_REVISIONS_PER_PLUGIN revisions for each plugin URI, so a customization set that returns to an earlier state is a cache hit. - Changes the global cap from a plugin count to a revision count (DEFAULT_MAX_PLUGIN_REVISIONS). The LRU selects which revisions stay, so a plugin that syncs often keeps more history than a plugin that is idle. - Removes cache entries whose directory does not exist when the cache loads. Such an entry cannot make a cache hit, and it uses one retention slot for the plugin and one slot in the global cap. - Writes the nonce in the eviction logs. Before this change, a plugin that moved between revisions made identical log lines. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agentHost: address Copilot review feedback - Re-arms the liveness timers when the final reverse response goes to the transport. Before this change, a response that completed before the first close callback left `_livenessDeferred` unset, so a close timer armed when the request arrived closed a healthy transport moments later. The grace period is now exactly the full window from the response, not the poll delay plus the window. - Persists the LRU after a nonce cache hit. `_touchLru` reordered the entry only in memory, so a restart reloaded the pre-hit order and could evict the revision that was used most recently, which removed the benefit of the new per-plugin history. - Uses `stat` and checks for FILE_NOT_FOUND when it prunes cache entries at startup. `IFileService.exists` returns false for each error, so a temporary I/O or permission failure removed a valid entry and caused a full bundle copy later. - Adds a test for a reverse request that completes before the first close callback. The test fails without the re-arm above. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* sessions: avoid per-session resource label formatters Represent Agent Host session homes with bounded URI templates and resolve session titles from provider-owned maps. Preserve existing label formatter behavior while removing lookup work that scaled with session history.\n\nFixes #333875\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: fix remote home label browser test Derive the expected provider label from the platform-aware session type so browser builds correctly omit the remote host suffix.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: address resource label formatter review Preserve root homes and template precedence, align mock authority matching with production, and keep dynamic session titles literal.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * label: fix formatter tests on Windows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Agent Host changes for agents/ensure-managed-settings-stability * Wait one event-loop turn before asserting gate state Co-authored-by: joshspicer <23246594+joshspicer@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* agentHost: show Agent Merge changeset in Agents Window Advertise an Agent Merge changeset after it is first enabled and resolve it against the completed repair turns following the last user message in the default chat. Keep the entry available after disablement and cover catalog and turn-range behavior with focused tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agentHost: fix changeset config event typing Use the protocol URI string emitted by session configuration changes when refreshing the Agent Merge changeset catalog. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agentHost: refresh restored Agent Merge changeset Rebuild the changeset catalog after restored session configuration is seeded so persisted Agent Merge enablement is reflected even without a local enable notice. Extend the durable monitoring regression to remove local notices before restart and assert the changeset is advertised. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
agentHost: add resumed edit tracking e2e coverage (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Allow semantic search toggle for search subagent
* chat: avoid repeated session widgets Only render rich session results for tools that create a session or chat. Keep send_message as ordinary tool progress so repeated messages to one target do not duplicate its session widget.\n\nFixes #334119\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: deduplicate session widgets by target Preserve navigation feedback for send_message while rendering only one rich widget for repeated outcomes targeting the same session or chat.\n\nFixes #334119\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chat: Move plugin update action to installed section Show the update action only when plugins are installed and clarify that it checks for and applies updates.\n\nFixes #333578\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: Gate plugin updates on marketplace installs Use the marketplace-installed collection that the update command consumes and align the component fixtures.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: Update plugin catalog screenshot hashes Accept the Ubuntu component fixture screenshots for the relocated plugin update action.\n\nCo-authored-by: Copilot <223556219+Copilot@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 : )