[mirror] microsoft/vscode#308794 Add "vp" (Vite+) to npm.scriptRunner enum#1415
Open
austindyoung wants to merge 7427 commits intomainfrom
Open
[mirror] microsoft/vscode#308794 Add "vp" (Vite+) to npm.scriptRunner enum#1415austindyoung wants to merge 7427 commits intomainfrom
austindyoung wants to merge 7427 commits intomainfrom
Conversation
* Delete individual hooks instead of entire hooks file When deleting a hook from the Chat Customizations UI, parse the hook item ID to identify the specific entry within the JSON file. Remove only that entry and write the file back, instead of deleting the entire hooks file. If no hooks remain after removal, the file is deleted. Also passes the item ID through the action context so the delete handler can distinguish individual hook entries from whole files. Fixes microsoft/vscode-internalbacklog#7381 * Throw CancellationError when plugin trust dialog is declined When the user cancels the trust dialog during plugin installation, throw a CancellationError instead of silently returning. This allows the install button's catch handler to properly reset to 'Install' state instead of incorrectly showing 'Installed'. Fixes microsoft/vscode-internalbacklog#7378 * Check installed state when rendering marketplace plugin items When rendering marketplace plugin items in the plugin list, check whether the plugin is already installed by comparing install URIs with the agent plugin service's plugin list. Show 'Installed' with the button disabled instead of offering a redundant install option. Fixes microsoft/vscode-internalbacklog#7379 * Replace floppy disk icon with newFile icon for create plugin button The save/floppy disk icon is misleading for a create action. Use the newFile codicon instead, which better communicates the intent and is consistent with other create actions in the UI. Fixes microsoft/vscode-internalbacklog#7373 * Fix plugin page CSS: padding, back button, and focus outlines - Add padding-bottom to marketplace plugin footer for proper Install button alignment (fixes microsoft#7377) - Restyle back-to-installed link as a button with muted foreground color and rounded hover background instead of link styling (fixes microsoft#7384) - Add outline-offset: -1px to button group buttons to prevent focus outline clipping by parent container (fixes microsoft#7385) Fixes microsoft/vscode-internalbacklog#7377 Fixes microsoft/vscode-internalbacklog#7384 Fixes microsoft/vscode-internalbacklog#7385 * Show workspace folder name in provider path for multi-root workspaces When rendering items from external customization providers (e.g. Copilot CLI), use the label service to produce workspace-relative paths for file: URIs instead of bare filenames. This shows the folder name (e.g. 'tankgame • AGENTS.md') in multi-root workspaces, matching the core (Local) path behavior. Fixes microsoft/vscode-internalbacklog#7330
* Filter legacy .chatmode.md files from CopilotCLI agents Skip .chatmode.md files in getAgentsImpl() since they are a deprecated format and should not appear in the Copilot CLI agent list. Also handle .chatmode.md extension stripping in getAgentFileNameFromFilePath() for defense-in-depth. Fixes microsoft/vscode-internalbacklog#7376 * Use Copilot logo for CopilotCLI customization provider Change the icon from 'worktree' to 'copilot' for the Copilot CLI customization provider to align with the Agents app branding. Fixes microsoft/vscode-internalbacklog#7372
* Update a few more codebase/workspace strings We should always mention that these are semantic indexes * Fix merge * Fix merge again :( * fix string * Reverse words
…tern (microsoft#308106) Refactor SSHConnection to use the same dispose-and-recreate pattern as TunnelConnection instead of the more complex isActiveRelay/replaceRelay approach. Key changes: - Remove isActiveRelay() and replaceRelay() from SSHConnection - Make _relay readonly (immutable connection objects) - Add detachSshClient() for ownership transfer during reconnect - Add removeListener to SSHClient interface for proper cleanup - Simplify relay close handlers to just call conn.dispose() - Add try/catch in reconnect to clean up SSH client on failure Add 18 new unit tests covering relay message routing, multi-host isolation, SSH close lifecycle, CLI install flow, reconnect failure cleanup, and listener cleanup across reconnects (33 total, up from 15).
Extends the bot exception in no-engineering-system-changes to handle version bump PRs that include package-lock.json alongside package.json. The previous change (microsoft#308090) only allowed single-file package.json changes. Version bumps also run npm install which updates the lock file. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…308095) * Sessions: Add #file context completions to new-chat input Adds # completions to the sessions NewChatViewPane input editor, scoped to the workspace selected in the dropdown picker. - New VariableCompletionHandler registers a completion provider on the sessions-chat URI scheme (same pattern as SlashCommandHandler) - Typing # shows files from the selected workspace via ISearchService (local/remote) or IFileService tree walk (virtual filesystems) - Recent workspace-scoped files from editor history are always shown - Accepted completions insert #file:<name> text with slash-command-style decorations (colored background/foreground, rounded corners) - Files are also added as attachment pills via NewChatContextAttachments - Added public addAttachments() method to NewChatContextAttachments * Review comment * Address review: fix JSDoc to say #file: for files and folders * Support folder
…tion visibility, and dropdown UX (microsoft#308096) * Show provider items with custom groupKey in Chat Customizations Items from external customization providers that use a custom groupKey (not matching predefined groups like Workspace, User, etc.) were silently dropped. Dynamically create a group for unknown groupKeys so the items appear under a collapsible header using the groupKey as the label. Fixes microsoft/vscode-internalbacklog#7402 * Refresh list after deleting a customization item After deleting a file through the Chat Customizations UI, explicitly refresh the list widget. This ensures the deleted item is removed immediately even if the provider's onDidChange doesn't fire (e.g. when the provider doesn't watch the filesystem for changes). Fixes microsoft/vscode-internalbacklog#7401 * Reset section counts on harness switch to prevent stale flash When switching between customization harnesses (e.g. Local → Copilot CLI), reset all section counts to zero immediately before starting the async count refresh. This prevents stale counts from the previous harness briefly appearing in the sidebar. Fixes microsoft/vscode-internalbacklog#7400 * Add tooltip to harness dropdown button in Chat Customizations Show the active provider's label as a managed hover tooltip on the harness dropdown button, so long provider names that are truncated by CSS ellipsis can still be read. Fixes microsoft/vscode-internalbacklog#7396 * Prevent harness dropdown from jumping when providers register late Keep the dropdown container in the DOM when the harness selector setting is enabled, even if only one harness is available. The visibility is controlled by CSS display:none in updateHarnessDropdown based on harness count. This prevents the dropdown from being destroyed and recreated at the wrong position when a provider registers asynchronously after the editor has already laid out. Fixes microsoft/vscode-internalbacklog#7398 * Fix focus outline clipping on plugin page buttons Add margin to focused buttons in the button group to prevent the focus outline from being clipped by the parent widget's overflow:hidden. The outline-offset: -1px alone was not sufficient because the outline still extended to the container edge. Fixes microsoft/vscode-internalbacklog#7385 * Classify plugin-sourced items correctly in provider path Items from installed plugins (under agent-plugins directory) were classified as 'user' storage because _inferStorageAndGroup only checked workspace folders and file: scheme. Now checks against IAgentPluginService.plugins URIs to detect plugin-sourced items and classify them as PromptsStorage.plugin. Also adds Plugin group to the provider grouping layout so these items appear under a proper 'Plugins' header instead of 'User'. Fixes microsoft/vscode-internalbacklog#7330 * Add horizontal padding to search-and-button container for outline room Restore 2px horizontal padding on .list-search-and-button-container so the focus outline on the rightmost button has room to render without being clipped by the parent widget's overflow:hidden. Fixes microsoft/vscode-internalbacklog#7385
* agentHost: Hook up isRead/isDone Co-authored-by: Copilot <copilot@github.com> * comments * Fix build Co-authored-by: Copilot <copilot@github.com> * Fix test --------- Co-authored-by: Copilot <copilot@github.com>
…osoft#308113) Remove startup revive of chat sessions with pending edits Remove reviveSessionsWithEdits() and the whenSessionsRevived property from IChatService. This code eagerly loaded sessions at startup if they had pending edits, which is no longer needed. Also removes the modelsKeptAliveOnlyForEdits telemetry metric that was specific to this revive path. The hasPendingEdits field is kept on the serialized data and storage index for potential future use. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…t#308116) Enable chat.customizations.providerApi.enabled by default Set the default value of 'chat.customizations.providerApi.enabled' to true and remove the experimental tag, graduating this setting to stable. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…icrosoft#308115) * Detect extension-sourced items in provider path for correct grouping Items from VS Code extensions (under extensions/ directory) were classified as 'user' storage because _inferStorageAndGroup only checked workspace folders, plugins, and file: scheme. Now detects extension install directories by finding 'extensions' in the path segments and extracting the extension ID from the folder name. Items from the default chat extension are classified as Built-in; items from other extensions as Extensions. This aligns the provider path grouping with how the core (Local) path handles extension-contributed skills, agents, and other items. Fixes microsoft/vscode-internalbacklog#7330 * Make built-in and extension items read-only in provider path Set storage alongside groupKey in _inferStorageAndGroup so that built-in items (non-file schemes, chat extension) always have PromptsStorage.extension as their storage. This ensures the delete action's when-clause correctly hides the trash icon for read-only items without needing a groupKey fallback hack. Fixes microsoft/vscode-internalbacklog#7330
* initial commit fix request id for subagent and add parentToolCallId * change logging to info * fix headerRequestId missing * fix * fix... * remove debug logging * change back runSubagent changes --------- Co-authored-by: Yevhen Mohylevskyy <yevhenmohylevskyy@Yevhens-MacBook-Pro-2.local>
* chat: add policy for chat.plugins.enabled Add a managed policy 'ChatPluginsEnabled' to the chat.plugins.enabled setting so that organizations can control whether agent plugin integration is enabled. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update src/vs/workbench/contrib/chat/browser/chat.contribution.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update build/lib/policies/policyData.jsonc Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ementation-copilot-cli-tip Add Copilot CLI chat tip
* Fix ctrl+v img file path paste in windows powershell * better * comment
less thikning layout thrashing - cache thinking heights
…microsoft#308010) * fix: reset chat mode when switching to session with customAgentTarget Fixes microsoft#307118 When switching from Local to CLI, Ask/Plan modes persisted because: 1. ModePickerActionItem captured customAgentTarget once at construction, so the dropdown kept showing Local's modes even after switching to CLI. 2. chatInputPart validated the model on session switch but not the mode. Now the mode picker dynamically evaluates the target on each dropdown open, and a new checkModeInSessionPool() resets invalid modes to Agent. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use explicit session type in checkModeInSessionPool Pass newSessionType directly from the onDidChangeActiveSessionProvider handler instead of deriving it from the session resource, which may not yet reflect the newly selected provider. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: dynamically evaluate customAgentTarget in mode picker dropdown Make the mode picker evaluate the custom agent target each time the dropdown is opened instead of capturing it once at construction time. This ensures the correct modes are shown after switching session types. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…crosoft#308126) * Fix Agent Debug Panel flow chart for new JSONL-based debug events * feedback updates
…crosoft#307978) fix: preserve code block toolbar visibility during chat streaming (microsoft#255290) Add JavaScript-based hover tracking to CodeBlockPart so the toolbar remains clickable through DOM detach/reattach cycles during streaming.
* fix microsoft#304202. * resolve comments.
…nstall script" (microsoft#308160) Revert "fix build by removing non-current-platform prebuilds in postinstall s…" This reverts commit e433503.
* Revert "agentHost: Hook up isRead/isDone (microsoft#308107)" This reverts commit a3d69b7. * Revert "agentHost: support connections over tunnels (microsoft#307948)" This reverts commit 75f21d0.
* Chat memory leak fixes Co-authored-by: Copilot <copilot@github.com> * Comments * Dispose allRefs on chat markdown part Co-authored-by: Copilot <copilot@github.com> --------- Co-authored-by: Copilot <copilot@github.com>
* Simplify model handling in Claude It's gotten so complicated and now that we use the built-in model picker, we can simplify this code a lot. * refactor(claude): remove unused mock class and simplify model retrieval * Move selecting the endpoint into the IClaudeCodeModels
This seems unnecessary
Refactors repeated session-data and diff-compute test doubles into a shared agentHost test helper module. - Adds reusable TestSessionDatabase and TestDiffComputeService helpers for tests that need in-memory file-edit metadata or deterministic diff counts. - Adds session-data-service factories for tests that need either an injected database reference or an intentionally unopened/null session database. - Updates agentHost node tests to use the common helpers instead of local mock database, data-service, encoder, and zero-diff implementations. (Commit message generated by Copilot)
* Use official APIs for listing subagent messages * feedback
* Better UI syncing during browser open * feedback
…icrosoft#308625) * sessions: swap order of checkmark and plus buttons in section toolbar Move the 'Mark All as Done' checkmark button to the left (order: 0) and the 'New Session' plus button to the right (order: 1) in the session section toolbar. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: swap order of pin and mark-as-done on session card hover Move pin/unpin to the left (order: 1) and mark-as-done/restore to the right (order: 2) in the per-session-item hover toolbar. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…Search/externalIngestIndex.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
`ChatSessionChangedFile2` can become `ChatSessionChangedFile`
* Add context key got GitHub remote * Sdopt the new context key * Fix issue with detecting the repository path
microsoft#308621) Adds worktree deletion on archive and recreation on unarchive for both the legacy provider API and the new controller API. - Expose onDidChangeChatSessionItemState on the return value of registerChatSessionItemProvider via Object.assign - Wire up archive/unarchive handling at the V1 registration site in chatSessions.ts using the exposed event - Refresh session items after worktree recreation so changes and stats are recomputed in the UI Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…lamingo Fire chat input state commands with correct arguments
Fix `.selected` not being updated when changing options
…nacle Add telemetry event for search timeouts
…aver Remove now unused `ChatSessionChangedFile` interface
…ft#308629) * sessions: fix archive and retention of stopped temp sessions When a copilot-cli session is stopped before the first turn commits, the session remained in a temp/untitled state. Archiving such a session previously fell through to cleanup logic that deleted and disposed it instead of archiving in-place. - Add setArchived() to CopilotCLISession and RemoteNewSession so temp sessions can be archived/unarchived without deletion - Handle CancellationError in _sendFirstChat by marking the session as Completed so it stays visible in the session list - Add tests for deleting and archiving uncommitted temp sessions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: assert doesNotReject instead of swallowing sendPromise errors Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…osoft#308638) Co-authored-by: Copilot <copilot@github.com>
* Update hidden Model B agent prompt for evals * Refine hidden Model B prompt tag structure
* feat(copilot): update session option group handling * Fix tests * Fixes
…rosoft#308648) * Add `oauth` section to mcp.json to allow overriding of client id More properties (like client secret) can come later... but this is the foundation, which is a lot of plumbing... ref microsoft#257415 * feedback
…crosoft#308657) * Use the modelProvider instead looking for claude for Claude agent A little cleaner. * feedback
…ata storage and deprecate old forkSession method (microsoft#308652) feat: implement session forking using Copilot API with metadata storage and deprecate old forkSession method
…ries (microsoft#308649) * chatSessions: optimize workspace changes handling for shared repositories * Updates * updates
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Automated mirror PR for DriftFence counterfactual telemetry.
Source PR: microsoft#308794
Source URL: microsoft#308794
Mirror branch: driftfence/mirror/pr-308794/latest
This PR is maintained by automation for telemetry and review links.