Skip to content

[mirror] microsoft/vscode#298917 sessions - enable terminal auto approve#402

Open
austindyoung wants to merge 591 commits intomainfrom
driftfence/mirror/pr-298917/latest
Open

[mirror] microsoft/vscode#298917 sessions - enable terminal auto approve#402
austindyoung wants to merge 591 commits intomainfrom
driftfence/mirror/pr-298917/latest

Conversation

@austindyoung
Copy link
Owner

Automated mirror PR for DriftFence counterfactual telemetry.

Source PR: microsoft#298917
Source URL: microsoft#298917
Mirror branch: driftfence/mirror/pr-298917/latest

This PR is maintained by automation for telemetry and review links.

osortega and others added 30 commits February 26, 2026 17:06
…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
…ess-plum-moth

Improve CSS handling on theme change
mjbvz and others added 30 commits March 2, 2026 14:13
…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
…10fd11065589daa64bdb9c054da1344f37a

Revert "Remove remaining webpack references for building extensions"
microsoft#298896)

Refactor theme color usage in AuxiliaryBarPart and PanelPart to utilize sessionsSidebarBorder
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.