[pull] main from microsoft:main#1385
Merged
Merged
Conversation
…proved layout Co-authored-by: Copilot <copilot@github.com>
…proved accessibility Co-authored-by: Copilot <copilot@github.com>
…prove layout responsiveness Co-authored-by: Copilot <copilot@github.com>
…nsistency Co-authored-by: Copilot <copilot@github.com>
…r tab styles for improved layout and consistency
…proved layout consistency Co-authored-by: Copilot <copilot@github.com>
…parency and hover effects
…ow scope for improved visual integration Co-authored-by: Copilot <copilot@github.com>
…fecting module handling Co-authored-by: Copilot <copilot@github.com>
PR #320997 began forwarding COPILOT_INTEGRATION_ID into the shared CopilotApiService's CAPIClient constructor. In packaged builds the vscode-capi mixin sets that constant to 'vscode-chat' (and OSS builds use 'code-oss'); both are reserved by @vscode/copilot-api, whose CAPIClient constructor throws "Integration ID … is reserved and cannot be used". Because the client is built before any request, the throw happened during endpoint discovery, independent of the per-request suppression flag — so codex and claude model refresh failed with an empty catalog in every packaged build (and OSS dev), which surfaced as the Codex smoke test timing out on the insider pipeline. The explicit integration-id argument is only consulted by the library when an HMAC secret is also supplied (it never is here), so passing it accomplished nothing except the crash. The correct wire id is derived by the library itself from the license / SKU / build state: a licensed prod build yields 'vscode-chat', the no-auth SKU yields 'vscode-nl', and everything else defaults to 'code-oss'. Drop the dead argument (and the getIntegrationId seam) so the library derives the id; the license argument that actually identifies prod traffic is unchanged. With the id now derived and sent on every request, the per-request suppressIntegrationId escape hatch is no longer needed anywhere, so remove it entirely: the option, its plumbing through models()/messages()/ responses(), and the call-site opt-ins in the codex and claude agents and their proxy services. Verified locally (agents window, OSS dev): codex and claude refresh their catalogs (codex 6 /responses models incl. gpt-5.5, claude 7, copilot 17) with no reserved-id error; a real codex turn (responses) and a real claude turn (messages) both complete end-to-end against live CAPI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* track tool used * reduce comment
…gration-id agentHost: stop sending an explicit Copilot integration id to CAPI
* AgentHost - show changeset operations in groups * 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> * Ensure that the running actions appear in a separate group --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Update hover color for Light 2026 theme
…ts Window and skip the Codex smoke test too (#321983) * Skip the second reply for the Copilot CLI smoke test also in the Agents Window * Skip also the Codex smoke test
Refactor title bar update placement for improved layout consistency Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com> Co-authored-by: Copilot <copilot@github.com>
* Fix cost calc + context size compaction * Address comments
Improve style overrides for visual consistency and accessibility
* improved reveal unreview comments * fixes
remove autoApproveUnsandboxed commands
Edit mode is now hidden for everyone, so the chat.editMode.hidden setting and its DeprecatedEditModeHidden policy are no longer needed. This removes the setting registration, policy, exported policy data entry, and the settings layout reference. The custom Edit mode file in the built-in Copilot extension (and its provider registration) is removed as well. The mode picker no longer special-cases a custom `edit` mode by name for its icon or built-in grouping; the legacy built-in Edit mode (shown when agent mode is disabled by policy) keeps its own icon. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* policy: server-delivered managed settings win over native MDM Managed settings can arrive from two channels: the server `managed_settings` endpoint and native MDM (Windows registry / macOS plist). Previously the two were merged with native MDM winning. This changes the precedence so the two layers are never merged: at any point in time there is a single authoritative source. The server is harder to bypass than local MDM/file policies, so when the server delivers managed settings it wins outright and native MDM is ignored entirely. Native MDM applies only when the server provides no managed settings. Client-side merging still happens within the winning layer (e.g. enabledPlugins, extraKnownMarketplaces). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * policy: move managed-settings precedence rationale into add-policy skill Trim the verbose inline comment in AccountPolicyService.getPolicyData() down to a one-line pointer; the full precedence rationale lives in the managed-settings section of the add-policy skill doc. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * policy: drop code snippet from managed-settings precedence doc Keep the precedence explanation as prose; the code lives in AccountPolicyService.getPolicyData(). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * policy: add skill learning — prefer behavior/contract prose over copy-pasted code Skills should document behavior and business-logic expectations and reserve code blocks for the author-facing API contract, rather than reproducing internal implementation that rots when the source changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…#321996) Show 'Add to Comment' before 'Edit' in the agent feedback item action bar, and relabel the 'Convert to Agent Feedback' action to 'Accept'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* policy: add dev mock server for copilot_internal policy endpoints
Adds scripts/mock-policy-server, a standalone dev tool (npm run
mock-policy-server) that mocks the Copilot policy endpoints
DefaultAccountService calls: entitlements (/copilot_internal/user), token
(/copilot_internal/v2/token), MCP registry (/copilot/mcp_registry) and
managed settings (/copilot_internal/managed_settings).
A small web GUI lets devs pick presets or edit each JSON response, and
Wire/Unwire buttons point product.overrides.json at the local server
(preserving the rest of defaultChatAgent, since bootstrap-meta merges
overrides shallowly). The managed-settings JSON schema is loaded from
--schema/MANAGED_SETTINGS_SCHEMA, defaulting to
./copilot-agent-runtime/schema/managed-settings-schema.json relative to
the app cwd; web URLs and file URIs are accepted, and the GUI warns about
keys not declared in the schema.
The three browser/shared .js files are added to
.eslint-allowed-javascript-files since the GUI loads them directly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* policy: address mock-policy-server review feedback
- Scope permissive CORS to the mocked GET endpoints only; keep /api/*
same-origin so a website can't drive /api/wire and rewrite
product.overrides.json (CSRF).
- Coerce an empty editor body to {} instead of "" so mocked responses
stay JSON objects.
- Build the endpoint meta line with textContent/DOM nodes instead of
innerHTML.
- Drop the misused tablist/tab ARIA roles; the nav now has an aria-label
and the active item uses aria-current.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* policy: document mock policy server in add-policy skill
Add local-testing.md to the add-policy skill with basic steps for using
the mock policy server (scripts/mock-policy-server) to exercise the
account/managed-settings flow locally, and link it from SKILL.md and
github-managed-settings.md.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* policy: polish mock server GUI — schema validation, wiring backup, localStorage persistence
* policy: auto-save, rename wiring to product.overrides.json, copy path button
* mock-policy-server: convert server.js to TypeScript; add raw response diagnostics
- Convert server.js → server.ts (runs via --experimental-strip-types)
- Add endpoints.d.ts type declarations for the UMD endpoints module
- Add managedSettingsRawResponse to IDefaultAccountProvider/IDefaultAccountService
- Show raw response in Developer: Sync Account Policy output
- Remove server.js from eslint allowed-javascript-files
* mock-policy-server: convert all JS to TypeScript
- endpoints.js → endpoints.ts with proper interfaces (replaces .d.ts)
- public/app.js → public/app.ts with full type annotations
- Server uses module.stripTypeScriptTypes() to serve .ts as plain JS
to the browser — no build step needed
- Remove all mock-policy-server entries from .eslint-allowed-javascript-files
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* make sure pickers reflect current selection in action list * address comments
Remove delegate picker from agents window
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 : )