[mirror] microsoft/vscode#298867 Fix handoff widget visibility: derive from response mode, persist modeInfo#388
Open
austindyoung wants to merge 586 commits intomainfrom
Open
[mirror] microsoft/vscode#298867 Fix handoff widget visibility: derive from response mode, persist modeInfo#388austindyoung wants to merge 586 commits intomainfrom
austindyoung wants to merge 586 commits intomainfrom
Conversation
…rflow property for actions container
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
…026-02-26T19-05-36 Sessions window: open pull request if created
* Refactor: unified IStorageSourceFilter replaces per-field filtering APIs Replace visibleStorageSources, getVisibleStorageSources(type), and excludedUserFileRoots with a single getStorageSourceFilter(type) returning IStorageSourceFilter with sources and includedUserFileRoots. - New IStorageSourceFilter interface with allowlist-based user root filtering - Shared applyStorageSourceFilter helper for list widget and counts - Sessions: hooks=workspace-only, prompts=all roots, others=CLI roots - AgenticPromptsService.getSourceFolders override for creation targeting - Remove chat.customizationsMenu.userStoragePath setting - Simplify resolveUserTargetDirectory to pure getSourceFolders delegate - Update all consumer call sites and tests * Fix sidebar/editor count mismatch and rename preferManualCreation Count functions now use the same data sources as loadItems(): - Agents: getCustomAgents() instead of listPromptFilesForStorage - Skills: findAgentSkills() - Prompts: getPromptSlashCommands() filtering out skills - Instructions: listPromptFiles() + listAgentInstructions() - Hooks: listPromptFiles() Rename preferManualCreation to isSessionsWindow for clarity. Add 50 tests for applyStorageSourceFilter and customizationCounts. * Add Developer: Customizations Debug command and fix hooks.json - Debug command opens untitled editor with full pipeline diagnostics - Rename 'Open Chat Customizations (Preview)' to 'Open Customizations (Preview)' - Fix hooks.json: add version field, use bash instead of command - Derive hook events from COPILOT_CLI_HOOK_TYPE_MAP schema automatically * Update AI_CUSTOMIZATIONS.md spec - Document IStorageSourceFilter, AgenticPromptsService, count consistency - Add debug panel section and updated file structure - Reflect isSessionsWindow rename * Remove verbose debug logs from list widget The Developer: Customizations Debug command provides better diagnostics. Remove noisy info-level logs that dump every item URI on every load. * Code review fixes: cache copilotRoot, remove dead getter, fix JSDoc * Add AI customizations manual test plan with 5 scenarios
* bring back adding workspace folder with files view * feedback * fix compilation * add collapse all action
* enhane attaching files and folders * feedback
…nd context key updates (microsoft#298136) * enhance new chat button functionality with additional icon variants and context key updates * Update src/vs/workbench/contrib/chat/browser/chat.contribution.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Revert "Bump hono from 4.12.0 to 4.12.3 in /test/mcp (microsoft#298076)" This reverts commit 4ce5eb1.
* Initial plan * reorder keyboard hints in empty editor window: move Open Recent before Open File or Folder Co-authored-by: jo-oikawa <14115185+jo-oikawa@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jo-oikawa <14115185+jo-oikawa@users.noreply.github.com>
…microsoft#298083) * fix double shimmer when chat is getting ready * fix padding * fix double spinner * remove list renderer changes
* Run oss tool for 110 (before branch) * Update distro hash
* ai customizations test plan * Update src/vs/sessions/test/ai-customizations.test.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/vs/sessions/test/ai-customizations.test.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/vs/sessions/test/ai-customizations.test.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/vs/sessions/test/ai-customizations.test.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add hook for sessions selfhosting * Fix section selection, list refresh, commit guard, hooks display, count races - selectSectionById: inline all state updates to avoid race with onDidChangeSelection - goBackToList: refresh list to show newly created files - goBackToList: only auto-commit if editor content was actually modified - Hooks: parse individual hooks from files, show hook type labels and commands - Hooks: show (unset) for empty hook commands - Toolbar: use MODAL_GROUP when opening editor in sessions - Overview: use MODAL_GROUP when opening editor in sessions - Toolbar: add _updateCountsRequestId guard to prevent stale count renders - SessionsViewPane: subscribe to activeProjectRoot for total count updates - List widget: add IFileService + IPathService for hook file parsing * Fix hook parsing: use JSONC parser and async userHome - Replace JSON.parse with parseJSONC to handle comments/trailing commas - Use await pathService.userHome() instead of preferLocal for remote compat - Match the pattern used in promptsServiceImpl.ts getHooks()
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…-chipmunk remove suggested actions from chat view
…rimson-tiger Update border colors and remove unnecessary shadows in 2026 Light theme
* chore: revert to electron@39.6.0 * chore: bump distro
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix - update notification messages to use 'session' * fix - update toast action label to 'Open Session'
* retain input state for chat questions * better approach
…ft#298787) * chat: deduplicate global auto-approve warning across windows Add CancellationToken support to IDialogService.prompt() and implement cross-window deduplication for the global auto-approve confirmation dialog. When \chat.tools.global.autoApprove\ is enabled, the opt-in warning previously appeared in every window because each window independently checked the APPLICATION-scoped storage flag and showed the dialog without coordination. Changes: - Add <token?: CancellationToken> to IBaseDialogOptions, allowing dialogs to be programmatically dismissed via cancellation - Update BrowserDialogHandler.doShow() to register token cancellation and dispose the dialog when the token fires - In LanguageModelToolsService._checkGlobalAutoApprove(), use CancellationTokenSource + storageService.onDidChangeValue listener to detect when another window stores the opt-in flag and cancel the dialog - Apply the same pattern to the /autoApprove slash command handler - Within-window deduplication: pending promise cached in _pendingGlobalAutoApproveCheck prevents duplicate dialogs from multiple simultaneous tool invocations After opt-in is stored by any window, other windows detect the storage change via the token listener and cancel their dialogs. The prompt then resolves as if approved, avoiding duplicate user interaction. Fixes microsoft#292150 (Commit message generated by Copilot) * pr comments
…hipmunk Port github-authentication extension to use esbuild
…osoft#298807) * Add IsNewChatSessionContext to sessions management service import and register Cmd+W keybinding for new session * Add secondary keybinding for opening new session with Cmd+W in non-empty state * Enhance Cmd+W keybinding condition to require non-empty active editor group * Fix Cmd+W keybinding condition to check for visible editors instead of empty editor group
…it to prevent any shell injection issues. (microsoft#298790) * wrapping the command in single quotes and escaping it to prevent any shell injection issues * Update src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…#298706) * Avoid treating .copilot/agents as target of GithubCopiilot * Remove test
…#298820) Replaces full TextModel instantiation with lightweight ITextBuffer (PieceTree) in _applyTextEditsToContent to reduce memory overhead and initialization cost when replaying text edits. Now maintains a single buffer across consecutive edit operations instead of creating and disposing a model for each edit. Additionally caches finalized diff stats in _finalizedDiffCache to avoid redundant model creation and diff computation when code block pills scroll back into view. When the observable chain is rebuilt for a pill that was previously visible, a constObservable returns the cached IEditSessionEntryDiff instead of rebuilding the entire model reference chain and computing the diff again. - Replace TextModel with createTextBuffer/ITextBuffer in replay loop - Remove unused IInstantiationService and IModelService dependencies - Add _finalizedDiffCache for caching computed diff stats - Return constObservable for cached finalized diffs - Remove Date.now() temp URI generation and model creation overhead Fixes microsoft#290274 (Commit message generated by Copilot)
…canidae Port github extension to use esbuild
All extensions now should be fully ported over to use esbuild instead of webpack
…icrosoft#298829) * chat: Use ref-counted model collection for tool confirmation inputs Fixes duplicate model error when ToolConfirmationSubPart re-renders with the same toolCallId. Models keyed by URI are now managed via a ref-counted ReferenceCollection (InlineTextModelCollection) on IChatContentPartRenderContext, so multiple SubPart instances can safely share the same model. The model is only disposed when the last reference is released, preventing the 'Cannot add model because it already exists!' error during list re-rendering or parallel tool calls. - Add InlineTextModelCollection class wrapping ReferenceCollection<ITextModel> to handle ref-counted model lifecycle keyed by URI - Add inlineTextModels field to IChatContentPartRenderContext - Wire InlineTextModelCollection into chatListRenderer, passing to all context sites - Update chatToolConfirmationSubPart to use context.inlineTextModels.acquire() instead of modelService.createModel() - Remove unused IModelService injection from chatToolConfirmationSubPart Fixes microsoft#294345 (Commit message generated by Copilot) * ci failure
* Browser: better focus transfering * fix
Remove remaining webpack references for building extensions
…marmoset Sessions window: GH file system provider fixes
…mization ui improvements (microsoft#298852) * sessions: always show Logs panel in sessions window The Logs/Output panel was previously gated behind dev mode only. Make it always visible so MCP gateway negotiation logs and other output channels are accessible for debugging. * sessions: mcp protocol negotiation, gateway output channel, and customizations UI improvements MCP Gateway Protocol Negotiation: - Gateway now negotiates protocol version with clients instead of hardcoding '2025-11-25', fixing compatibility with older SDK versions - Adds MCP_SUPPORTED_PROTOCOL_VERSIONS covering all known MCP spec versions - Responds with client's requested version if supported, falls back to latest - Logs client info and negotiated version for diagnostics - 7 new unit tests covering all negotiation scenarios MCP Gateway Output Channel: - Dedicated 'MCP Gateway' output channel via ILoggerService (logLevel: always) - Gateway service and sessions now use ILogger instead of ILogService - All gateway lifecycle events visible in Output panel Sessions Window MCP Integration: - Re-enable MCP Servers section in sessions management editor - Add MCP Servers to sessions sidebar toolbar with total count - Add MCP Servers link item in sessions tree view (navigates to editor) - Add MCP Servers to sessions overview view with count from IMcpService - Add chat.experimentalSessionsWindowOverride setting for sessions-specific extension behavior (overridden to true in sessions defaults) MCP List Widget Polish: - Add 'Built-in' group showing extension-provided servers (e.g. GitHub MCP) - Remove per-item server icons, aligning with other customization sections - Hide running/stopped status indicators in sessions window - Match item height (36px), padding, and font styling to other sections - Hide empty description lines to tighten layout Customizations UI Cleanup: - Remove git status badges and SCM service dependency from list widget - Remove per-item storage badge icons (workspace/user/extension) - Remove 'Developer: Customizations Debug' command (replaced by output channel) - Simplify sidebar counts to single total number (no category icon badges) - Remove group separator borders, use spacing only - Fix list container overflow (hidden -> auto) and add min-height: 0 for scroll - Fix layout() fallback from 100px to 0px with requestAnimationFrame re-measure Customizations Debug Output Channel: - New sessions-only 'Customizations Debug' output channel - Streams snapshot on every change: summary table + search paths + file details - Includes MCP server listing with connection states Hooks Count Fix: - Toolbar hook counts now match management editor (per-hook, not per-file) - Uses IFileService to parse hook JSON files and count individual hooks The MCP gateway now negotiates the protocol version with connecting clients instead of hardcoding 2025-11-25. This fixes compatibility with clients using older @modelcontextprotocol/sdk versions that do not support the latest protocol version. * address PR review feedback - Fix stale MCP count in overview: use autorun to watch mcpService.servers - Guard rAF layout callbacks against widget disposal - Make built-in MCP items non-interactive (no pointer cursor, no hover) - Fix _logSnapshot dropping events: re-run if dirty during snapshot - Add CSS for mcp-builtin-readonly items
…eInfo, fix lifecycle
…eById does, bypassing the getCustomModes() gate
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#298867
Source URL: microsoft#298867
Mirror branch: driftfence/mirror/pr-298867/latest
This PR is maintained by automation for telemetry and review links.