Commit Graph

154462 Commits

Author SHA1 Message Date
Martin Aeschlimann 504aa05ab6 improve /init (#309031) 2026-04-10 15:32:16 +00:00
Johannes Rieken 54661e0db5 Merge pull request #308973 from microsoft/copilot/fix-vscode-ctrl-i-error
Auto-approve tool confirmations for inline chat on sensitive files
2026-04-10 17:24:44 +02:00
Johannes Rieken 6d3ab98d35 Merge pull request #309003 from microsoft/joh/inline-chat-zone-termination-card
inlineChat: show termination card inline in zone widget instead of modal dialog
2026-04-10 17:01:58 +02:00
Johannes bd673fa1e8 Remove logging of unexpected approval needed in InlineChatSessionOverlayWidget 2026-04-10 16:58:37 +02:00
copilot-swe-agent[bot] ad628cf7a6 Remove duplicate auto-approve logic from overlay widget, keep only controller path
Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/486f9f8f-a1b0-4c20-a5d2-e4ffc08edf69

Co-authored-by: jrieken <1794099+jrieken@users.noreply.github.com>
2026-04-10 14:49:48 +00:00
Martin Aeschlimann 5dd90d7ba5 generalize /init skill to also suggest other chat customizations (#309020) 2026-04-10 14:40:45 +00:00
Johannes 994a680c38 inlineChat: add actionRunner to termination card toolbar to focus editor before actions 2026-04-10 16:37:25 +02:00
João Moreno 148cf3a1c4 fix: remove duplicate test runs (#309015) 2026-04-10 16:29:56 +02:00
Johannes Rieken 60b315c627 Update src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-10 16:24:28 +02:00
Ulugbek Abdullaev 8f98cb758b nes: implement cursor line distance check for serving from cache (#309011)
* nes: implement cursor line distance check for serving from cache

* address review: use rebasedEdit for rejection, skip cross-file cursorOffset, fix test types
2026-04-10 14:10:48 +00:00
Christof Marti cde30eb64e Resend all messages after summarization (#298236) 2026-04-10 13:56:49 +00:00
Ladislau Szomoru b064f7b2a5 Agents - reveal explorer view on the new sessions page (#308985) 2026-04-10 15:46:02 +02:00
Ladislau Szomoru 6d822ed32e Agents - fix toolbar flickering and the completion of the first turn (#309001) 2026-04-10 15:45:05 +02:00
Johannes 061088bf78 inlineChat: fix scrolling in termination card - set explicit maxHeight like overlay widget 2026-04-10 15:19:08 +02:00
Ulugbek Abdullaev 0e5f2c4f5c nes: fix: address _performFetch review comments (#309000)
nes: fix: address PR review for _performFetch extraction

- Rename FetchResult.Error to FetchResult.FetchFailure to avoid
  confusion with built-in Error class
- Move fetchResultPromise .then/.catch/.finally handlers before
  await Promise.race so early-return paths get setFetchEndTime()
  telemetry
2026-04-10 18:16:04 +05:00
copilot-swe-agent[bot] 8c2de42695 Merge origin/main and resolve conflicts in inlineChatController.ts and inlineChatOverlayWidget.ts
Updated auto-approve logic to use JS private fields (#store, #logService,
#currentSession, #showStore) matching the upstream refactor.

Co-authored-by: jrieken <1794099+jrieken@users.noreply.github.com>
2026-04-10 13:11:27 +00:00
Johannes a7c5d1594e inlineChat: align zone termination card with overlay widget - markdown rendering and scrolling 2026-04-10 14:54:15 +02:00
Johannes 8368019d3f inlineChat: show termination card inline in zone widget instead of modal dialog 2026-04-10 14:48:30 +02:00
Alex Ross 2e96f10979 Tool Approval Management: the approval cannot be selected again after being deselected. (#308987)
* Tool Approval Management: the approval cannot be selected again after being deselected.
Fixes #306416

* CCR feedback
2026-04-10 14:09:48 +02:00
Robo 47add6dfa5 feat(windows): use crossAppIPC to coordinate update ownership between apps (#307675)
* feat: use crossAppIPC to coordinate update ownership between apps

Introduce CrossAppUpdateCoordinator that uses Electron's crossAppIPC
module to ensure only one update client runs at a time. Whichever app
(VS Code or Agents) launches first becomes the IPC server and owns the
update client. The second app becomes the IPC client, suspends its local
update service, and proxies all update operations to the server.

When the server app quits, the client detects the disconnect, resumes
its local update service, and takes over update ownership. Both apps
show synchronized update UI at all times. "Restart to Update" signals
the peer to quit before applying the update.

- Add crossAppIPC type definitions for custom Electron build
- Add CrossAppUpdateCoordinator (symmetric, role-based coordination)
- Add suspend()/resume() to AbstractUpdateService
- Simplify Agents update UI to use direct update actions

* chore: use temp build

* fix: address review feedback for cross-app update coordination

- Dynamically register/dispose the local state change listener instead
  of filtering by mode, avoids unnecessary event handling
  while in client mode
- Clarify that suspend() blocks all update checks (automatic and manual)
  since the coordinator proxies everything to the server in client mode
- Replace fire-and-forget quit with a proper handshake protocol:
  server sends PrepareForQuit, client responds with QuitConfirmed or
  QuitVetoed, server only proceeds with quitAndInstall on confirmation.
  This prevents one side from quitting while the other's quit is vetoed.

* temp: update build

* fix: disable the crossapp coordinator for stable

* fix: don't restart ipc for client disconnection over quit request

* fix: use proxy exe mutex to detect and relaunch app

* temp: workaround for reconnect on macOS

* chore: move noisy updating state to trace level

* fix: compile error on windows

* fix: ready mutex when running as embedded app

* fix: don't open host app when proxy app is the only client

* chore: only enable cross app updater on windows

macOS needs additional work in the squirrel client.

* chore: revert to upstream electron

* fix: compile error

* fix: lazy resolve custom module
2026-04-10 20:25:41 +09:00
Sandeep Somavarapu 6ea419c8ec feedback (#308993)
feedback - listen to setting change
2026-04-10 11:19:36 +00:00
Johannes Rieken 80c19eb317 Merge pull request #308797 from microsoft/joh/private-fields-async-fix
build: fix async private method token fusion; inlineChat: adopt native private fields
2026-04-10 12:49:00 +02:00
Don Jayamanne d786cb0bcb fix(copilotcli): delegation to Copilot CLI (#308984) 2026-04-10 10:46:59 +00:00
Sandeep Somavarapu 17c0b4f6b9 add enable/disable ai features actions (#308988)
* support disabling AI features at workspace level

* add enable/disable ai features actions
2026-04-10 10:37:16 +00:00
Christof Marti 1bb4a6694c Add model details on WebSocket telemetry (#298236) 2026-04-10 10:35:41 +00:00
Johannes Rieken 8d272b24f6 Merge pull request #308971 from microsoft/joh/build-tests-node-runner
build: migrate tests from mocha to node native test runner
2026-04-10 12:33:46 +02:00
Ladislau Szomoru 59e49b4229 Agents - hide toolbar when there is no workspace (#308986) 2026-04-10 10:28:30 +00:00
Alex Ross 8b5518b088 Show combination tool approval args (#308747) 2026-04-10 12:05:03 +02:00
Sandeep Somavarapu a6e4912053 guard installing built in extensions in cli (#308967)
guard instlaling built in extensions in cli
2026-04-10 11:33:25 +02:00
copilot-swe-agent[bot] ed60c7d572 Address code review: use this._logService for consistency
Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/b3016480-67f4-4af9-86e6-362255a1bad9

Co-authored-by: jrieken <1794099+jrieken@users.noreply.github.com>
2026-04-10 09:26:49 +00:00
copilot-swe-agent[bot] 3e4a54b608 Auto-approve tool confirmations for inline chat to allow editing sensitive files
When inline chat (Ctrl+I) invokes edit tools on the current file, the tool may
request user confirmation for sensitive files. Since the user implicitly consents
to editing the current file by invoking inline chat on it, auto-approve these
confirmations instead of showing an error message.

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/b3016480-67f4-4af9-86e6-362255a1bad9

Co-authored-by: jrieken <1794099+jrieken@users.noreply.github.com>
2026-04-10 09:24:42 +00:00
copilot-swe-agent[bot] 13f9010a21 Initial plan 2026-04-10 09:02:01 +00:00
Johannes 2c368160e0 build: migrate tests from mocha to node native test runner 2026-04-10 10:49:47 +02:00
Robo c88afdaf77 chore: update electron@39.8.7 (#308959)
* chore: update electron@39.8.7

* chore: update command

* chore: remove showNodeSystemCertificates command

* chore: bump distro
2026-04-10 10:33:39 +02:00
Johannes 8f9f5509b2 inlineChat: adopt native ES private fields
Convert inlineChat module from TypeScript private (`private _field`)
to native ES private fields (`#field`) for better encapsulation and
V8 performance (after the private-to-property build step mangles them).
2026-04-10 10:18:29 +02:00
Don Jayamanne 4660585937 refactor(copilotcli): move worktree properties and metadata tracking to session request lifecycle (#308960)
refactor: move worktree properties and metadata tracking to session request lifecycle
2026-04-10 10:06:10 +02:00
Johannes Rieken f83607587d add cpu-profile analysis skill (#308963) 2026-04-10 07:56:37 +00:00
Don Jayamanne e9aba237c9 refactor(copilotcli): update action descriptions and adjust plan path handling (#308954) 2026-04-10 06:58:22 +00:00
Don Jayamanne e8b419162f refactor(copilotcli): enhance session handling with branch name generation (#308956) 2026-04-10 08:56:14 +02:00
Ladislau Szomoru eb62869277 Background - validate upstream branch before creating the worktree (#308953)
* Background - validate upstream branch before creating the worktree

* Pull request feedback
2026-04-10 08:55:42 +02:00
Don Jayamanne e9d8794d1d feat(CopilotCLI): support reasoning effort (#308951)
* feat(CopilotCLI): support reasoning effort

* Enable reasoning effort for Copilot CLI
2026-04-10 16:29:15 +10:00
Bhavya U 05d42a27ac Fix double compaction on first-turn budget exceeded (#308949)
* Fix double compaction on first-turn budget exceeded

When the first render of a turn throws BudgetExceededError and the
background summarizer is Idle, we fall back to a synchronous foreground
'full' summarization via renderWithSummarization. That path did not set
the 'summary applied this iteration' flag, so the post-render gate
(>= 80% + Idle) would also kick off a background 'inline' compaction
in the same buildPrompt call — producing both
summarizeConversationHistory-full and summarizeConversationHistory-inline.

- Set the flag on both foreground fallback call sites so the post-render
  gate correctly short-circuits.
- Rename 'summaryAppliedThisIteration' to 'didSummarizeThisIteration' to
  better reflect that it covers any summarization work (pre-render bg
  apply, budget-exceeded bg apply, or foreground fallback).

* Update extensions/copilot/src/extension/intents/node/agentIntent.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-10 05:55:00 +00:00
Don Jayamanne 78e6db311e Enhance welcome view to pre-select and deduplicate selected folder (#308948)
feat: enhance welcome view to pre-select and deduplicate selected folder in chat session options
2026-04-10 07:48:05 +02:00
Rob Lourens b8323ca4fe perf: Fix leak in rendering markdown/edits in thinking/subagent parts (#308939)
Co-authored-by: Copilot <copilot@github.com>
2026-04-10 07:40:08 +02:00
Rob Lourens a4f5119796 agentHost: subagents (#308592)
* agentHost: subagents

* agentHost: remove _meta.parentToolCallId dependency, subscribe to child sessions instead

Inner tool calls from subagent sessions are no longer stored in the parent
turn with _meta.parentToolCallId. Instead:

- Server: _buildTurnsFromMessages skips inner events (parentToolCallId),
  _restoreSubagentSession builds child session turns from raw messages
- Client: _enrichHistoryWithSubagentCalls subscribes to child sessions
  during history restore, injects serialized inner tool calls with
  subAgentInvocationId set

Also fixes hygiene: replace 'in' operator with hasKey in
agentSideEffects.test.ts, exclude .jsonl from copyright filter.

* fix: set terminalCommandUri from terminal content blocks in stateToProgressAdapter

completedToolCallToSerialized and toolCallStateToInvocation were not
detecting terminal tools via ToolResultContentType.Terminal content
blocks or setting terminalCommandUri/terminalToolSessionId, causing
6 test failures in CI.

* comments

Co-authored-by: Copilot <copilot@github.com>

* revert diff

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-09 21:56:36 -07:00
Don Jayamanne dcacca1b39 refactor: streamline session option group selection logic and improve test coverage (#308743)
* refactor: streamline session option group selection logic and improve test coverage

* refactor: enhance chat session initialization with new options structure and improve input state handling

* Update extensions/copilot/src/extension/chatSessions/vscode-node/test/sessionOptionGroupBuilder.spec.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Updates

* Fixes

* Fixes

* Updates

* Updates

* More updates

* Fix tests

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-10 04:49:37 +00:00
Yogeshwaran C cf92c7da1c Show breakpoint widget on Alt+click in gutter (#308687)
feat: show breakpoint widget on Alt+click in gutter

Add Alt+click handling in the editor gutter to quickly add or edit
conditional breakpoints. When Alt+clicking on a line without
breakpoints, the breakpoint widget opens in conditional breakpoint
mode. When Alt+clicking on a line with existing breakpoints, the
breakpoint widget opens for editing the first breakpoint.

Fixes #203259

Co-authored-by: Rob Lourens <roblourens@gmail.com>
2026-04-10 04:33:18 +00:00
Don Jayamanne 1028f069e1 feat: apply selected option values to active chat sessions on update (#308931) 2026-04-09 20:40:42 -07:00
Rob Lourens c205311e4a editor: remove debug console.warn logs from render path (#308928)
Remove chat code block render-drop warnings that are no longer needed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-09 20:29:50 -07:00
Bhavya U 100cbe59eb Background inline summarization v1 (#308923)
* Refactor inline summarization handling in ToolCallingLoop

* Refactor conversation summarization settings and improve logging in AgentIntent

* Refactor agent intent to improve telemetry and remove obsolete test file

* Refactor inline summarization handling: remove unused properties and related tests

* Remove unused summarization instruction from AgentPromptProps interface

* Refactor AgentIntentInvocation to streamline model capabilities handling in background summarization

* Update debugName for background summarization to reflect inline context

* Update logging message in AgentIntentInvocation for clarity and remove unused test suite for inline summarization
2026-04-10 03:16:57 +00:00