[pull] main from microsoft:main#1337
Merged
Merged
Conversation
Just doing this in this one limited location for now for testing. Should be pretty low impact if it doesn't work Currently not supported in Safari which blocks wider adoption
Adopt the cross-vendor 'AI_AGENT=github_copilot_vscode_agent' env var on agent-initiated terminals. Keeps COPILOT_AGENT=1 for back-compat with CLIs that already adopted it. Fixes #320127 Co-authored-by: Megan Rogge <meganrogge@Megans-MacBook-Pro.local>
…isher Try adopting native sanitizer instead of dompurify in copilot
* Improve missing Git LFS error message * test: use single quotes in git-lfs error case
* sessions: split session model from view service Separate the session model (ISessionsManagementService) from the view (ISessionsViewService) so the model owns canonical session state and the view owns visible-slot arrangement, focus and per-session view persistence. Introduces the new `browser/sessionsViewService.ts` core service and `browser/parts/sessionsParts.ts`, makes the part a passive renderer, and adds support for opening a session without focusing it (reactive preserve-focus intent published atomically with the active session). Also encapsulates the in-progress new-session draft in the model as a reactive `newSession` observable with a conditional `discardNewSession`, merges `openNewSessionView` into `openNewSession`, and routes new-session creation through the view so the draft is activated (fixing the session type picker rendering empty after reload). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * revert open from active session --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ers (#320149) * Initial plan * Scope notification.acceptPrimaryAction keybinding to screen reader users Co-authored-by: meganrogge <29464607+meganrogge@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: meganrogge <29464607+meganrogge@users.noreply.github.com>
…bsent in VS Code web (#317780) fix(terminal): use canHandleResource to avoid ENOPRO in getCwdResource on VS Code web In VS Code Server (server-linux-x64-web) accessed via browser, the terminal's remoteAuthority is falsy so URI.file() is produced in getCwdResource(). The browser FileService has no file:// provider registered (only the remote provider), causing ENOPRO on every Copilot agent tool call. Replace the blanket try/catch with a targeted canHandleResource() guard so that provider errors are detected before calling exists(), while other genuine errors from fileURI()/URI.file() remain surfaced to callers. Also adds a unit test covering the ENOPRO / provider-absent scenario. Discovered during deployment: workbench.web.main.internal.js (the server-side agentHost bundle) requires the same fix as workbench.js (the browser-side bundle), since the agentHost process loads the server bundle independently. Fixes: getCwdResource() returning ENOPRO when file:// provider absent Addresses: Copilot PR review feedback on blanket catch scope and missing test Co-authored-by: mutl3y <mutl3y@users.noreply.github.com>
* Add context size picker for Claude Code models Surface CAPI tiered context windows (e.g. 200K vs 1M) in the Claude Code model picker, plumb the selected size through session state into the language model server's modelMaxPromptTokens override so internal accounting reflects the chosen tier. CAPI bills the long-context tier automatically based on actual prompt size, so no extra header/flag is required. Refs #319039 * Use picked context size directly as prompt budget tokenPricing.default.contextMax and modelMaxPromptTokens are both prompt-token limits per the IChatEndpoint contract. Subtracting DEFAULT_MAX_OUTPUT_TOKENS under-reported the selected tier (1,000,000 became 936,000). Pass sessionContextSize through directly, matching how the Copilot LM provider applies cloneWithTokenOverride.
terminal: preserve symlink paths in sandbox policies
…hange (#320165) * Bind MCP auth grants to the server URL to require re-consent on URL change An MCP auth grant was previously keyed only by server id, so re-pointing a server at a new URL (while keeping the same id) would silently reuse a token the user consented to for the original endpoint. Store the URL the grant was made for and only release the token when the server's current URL still matches, otherwise re-prompt. Cosmetic origin differences (host case, default port, root trailing slash) are normalized via WHATWG URL so they don't force spurious re-consent, while a path trailing slash is preserved as a meaningful difference. Stdio servers (no URL) and product.json trusted servers are unaffected. * Split id-only inspection from URL-gated access check Address PR review: the optional mcpServerUrl conflated id-only inspection with the HTTP token-release gate. Split into isAccessAllowed (id only, used by the management/query API) and isAccessAllowedForUrl (URL required, used by the HTTP gate in mainThreadMcp). Auth is HTTP-only, so the gate now narrows the launch to HTTP and always passes the URL. Align the test mock with production semantics (canonical URL equality + legacy allowed===undefined => true) by reusing the exported urlsEqual helper.
Again doesn't seem to be a good use case for this
When typing at a semantic token boundary with injected text present (e.g., inline decorations with `before.content`), characters could briefly appear duplicated in the DOM for one render frame. Root cause: `acceptInsertText` can expand one semantic token's range while leaving the adjacent token at its old position, creating overlapping ranges. `addSparseTokens` merged these into a backward endOffset sequence because `emitToken` only rejected equal endOffsets (`===`), not backward ones. When `LineTokens.withInserted()` iterated these backward boundaries, it re-copied characters, duplicating them. Fix: change `emitToken`'s guard from `===` to `<=` so backward endOffsets are never emitted into the merged token array. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ow (#320169) * chat: add experimental default chat provider setting for VS Code window - Adds `chat.agentHost.defaultChatProvider` setting that mirrors the Agents window's `chat.agentHost.defaultSessionsProvider` but controls the default chat provider in the VS Code window's session-target picker. This lets users opt the local agent host (Copilot CLI) in as their default chat provider end-to-end. - Wires the setting through the picker label/ordering, fresh chat session creation in `ChatViewPane`, and the 'new chat preserving type' flow so newly opened sidebar chats actually use the configured default. Explicit 'Local' selection from the picker still wins, so the override only applies when no explicit type is requested. - Registers the setting in `chat.shared.contribution.ts` so it is available in both the VS Code window and the Agents window, and factors the 'effective default session type' decision into a shared `getDefaultNewChatSessionType` helper to avoid drift between the three call sites. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * use default session type as fallback for dropdown checked state Addresses Copilot review feedback: keeps the picker label and the dropdown's checked item consistent when no session is yet active. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…eros Also drop keypress/link events if webview isn't focused
…hout PRs (#319629) * Add inline "Create pull request" confirmation for completed tasks without PRs * Update * Revert monaco change * Review comments * Fix * Revert
- Add "vp" as an option to extensions/npm package.json scriptRunner enum and enumDescriptions - Add localization string config.npm.scriptRunner.vp in package.nls.json Replicates the changes proposed in #308794 by @jong-kyung. Co-authored-by: Megan Rogge <meganrogge@Megans-MacBook-Pro.local>
* Browser `type` tool improvements * 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 Autofix powered by AI <175728472+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 : )