Commit Graph

147859 Commits

Author SHA1 Message Date
Matt Bierner
13a604e50c Revert "Revert "Port github extension to use esbuild" (#298920)"
This reverts commit 51f5cafd6f.
2026-03-09 08:10:36 -07:00
Sandeep Somavarapu
4a4e6624c3 Show manage models action in the search input (#300165)
* Add filter actions to ActionList and manage models option in chat model picker

* Refactor model picker to support additional entries and improve manage models action handling

* Refactor model picker to conditionally add separator for additional entries and streamline manage models action handling

* Improve manage models action visibility logic in ModelPickerWidget

* Refactor model picker to streamline additional entry handling and improve action management

* Refactor model picker to integrate manage models action and streamline additional entry handling
2026-03-09 16:06:15 +01:00
Lee Murray
812058f3c3 Merge pull request #288925 from microsoft/copilot/fix-hover-corner-radius
Reduce border-radius for hovers with pointers
2026-03-09 15:39:00 +01:00
Lee Murray
01b0d3a7b3 Merge pull request #299756 from microsoft/mrleemurray/yappiest-amaranth-tapir
Refactor dialog CSS styles for improved layout and spacing
2026-03-09 15:28:58 +01:00
Sandeep Somavarapu
75be16739a Send workspace data by default to ext host in sessions app
* Remove unused IConfigurationService references from workspaceContextService

* Refactor configuration service creation in SessionsMain to streamline workspace context handling
2026-03-09 13:10:19 +01:00
Martin Aeschlimann
ed27cb432e Chat: Editing a SKILL.md file won't surface it as automatic context in chat (#300141) 2026-03-09 12:56:37 +01:00
Harald Kirschner
acd63e770b Fix handoff widget visibility: derive from response mode, persist modeInfo (#298867)
* Fix handoff widget visibility: derive from response mode, persist modeInfo, fix lifecycle

* Fix handoff widget response mode logic

* Make findModeByName search _customModeInstances directly like findModeById does, bypassing the getCustomModes() gate

* Fix tests

* Fix custom mode lookup to avoid builtin name collisions

* address review: use findModeByName consistently, respect getCustomModes guard
2026-03-09 10:42:55 +01:00
Ladislau Szomoru
1f3de37bc2 Sessions - use worktree branch name in the files view (#300133)
* Sessions - use worktree branch name in the files view

* Pull request feedback
2026-03-09 10:16:19 +01:00
Aiday Marlen Kyzy
2e22bb6bcd Optimizing _doRemoveCustomLineHeight (#299793)
* optimizing commit

* polishing

* removing stagedInserts.length == 0

* fixing test failure
2026-03-09 09:57:02 +01:00
Matt Bierner
11e8f0217a Merge pull request #299846 from mjbvz/dev/mjbvz/embarrassed-rodent
Update build TS versions
2026-03-09 00:47:50 -07:00
Don Jayamanne
5e22e5ab3e Change migration confirmation UI for delegation (#300117)
* Change migration confirmation UI for delegation

* Updates

* Updates

* Updates

* Updates

* Misc changes
2026-03-09 18:26:23 +11:00
Matt Bierner
625d9dd956 Add explicit mocha reference 2026-03-08 23:42:50 -07:00
Matt Bierner
a2f85b65d2 Fix a few more uint8array errors 2026-03-08 23:30:42 -07:00
Matt Bierner
b3740268a3 Fixing errors 2026-03-08 23:23:29 -07:00
Matt Bierner
62159720fd Merge branch 'main' into dev/mjbvz/embarrassed-rodent 2026-03-08 23:21:30 -07:00
Benjamin Pasero
ef79c15d8c modal editor - tweaks to UI depending on setting (#300082)
* modal editor - tweaks to UI depending on setting

* Update src/vs/workbench/browser/parts/editor/modalEditorPart.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-08 19:35:43 +00:00
Sandeep Somavarapu
bb18007fbb fix retaining target mode (#300075)
* fix: set isolation mode when new session is assigned

* fix: update isolation mode handling in NewChatWidget and remove unused session reference

* fix: remove unused session handling in BranchPicker and update NewChatWidget to set branch directly

* fix: update repo handling in NewChatWidget and RepoPicker to set repository URI directly

* fix: refactor repository URI handling in NewChatWidget to use a dedicated method

* fix: preserve draft state in NewChatWidget to retain picker preferences during widget recreation

* fix: enhance draft state preservation in NewChatWidget to conditionally store target and related properties

* fix: update isolation mode handling in IsolationModePicker to use current mode as fallback
2026-03-08 19:18:21 +01:00
Benjamin Pasero
2b1e30a017 modal - persist state (#300030) 2026-03-08 05:38:04 -07:00
Anthony Kim
4fb8242c5f Bump xterm to fix kitty keyboard protocol (#299833) 2026-03-07 23:03:35 -08:00
Don Jayamanne
2c51cfd4dd Avoid continuing in Copilot CLI when already in Copilot CLI (#300025)
* refactor: enhance actionProvider to utilize contextKeyService for session type checks

* refactor: add contextKeyService to ChatSuggestNextWidget for session type handling

* refactor: simplify actionProvider by removing contextKeyService dependency
2026-03-08 07:10:05 +01:00
Rob Lourens
1eb2581989 Optimize chat anchor widget (#300009)
Lazily create scoped CKS: This can be expensive and is not needed until the context menu is shown
And remove the global themeService listener. We can bring it back when the chat response is correctly fully optimized.
2026-03-07 18:26:26 -08:00
Ladislau Szomoru
7bd2f8d4d6 Session - add actions to filter changes (#300000)
* Initial implementation

* Get changes from last turn working

* Update src/vs/workbench/api/common/extHostGitExtensionService.ts

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

* Apply suggestion from @Copilot

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

* Apply suggestion from @Copilot

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

* Fixup the PR

* Another PR fix

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-07 15:03:02 -08:00
Rob Lourens
010781f467 Wait for chat cancellation to complete before proceeding (#300001)
* Wait for chat cancellation to complete before proceeding
This is an inherent race condition in the architecture, working on changing it, in the meantime, work around this...

* Fix test
2026-03-07 21:44:53 +01:00
Rob Lourens
5734afd12b Fix build (#299987)
sessionId -> chatSessionId
2026-03-07 19:55:25 +01:00
Benjamin Pasero
f698061d0d Allow to resize modal editor (fix #293915) (#299969)
* Allow to resize modal editor (fix #293915)

* Update src/vs/platform/editor/common/editor.ts

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

* Update src/vs/workbench/browser/parts/editor/modalEditorPart.ts

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

* .

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-07 17:52:37 +01:00
Benjamin Pasero
8dd5e19942 sessions - fix chat input padding when space is narrow (#299927)
* style - add padding to chat item containers

* style - add box-sizing to chat input container

* Address feedback on chat input padding for narrow spaces (#299930)

* Initial plan

* style - add box-sizing: border-box to item containers to align with input

Co-authored-by: bpasero <900690+bpasero@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: bpasero <900690+bpasero@users.noreply.github.com>

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: bpasero <900690+bpasero@users.noreply.github.com>
2026-03-07 17:51:58 +01:00
Ladislau Szomoru
c0ebf3e550 Sessions - rename changes and git folders (#299936) 2026-03-07 09:38:09 +00:00
Robo
848654f005 fix: devtools entrypoint for connecting to extension host (#299905) 2026-03-07 07:50:34 +01:00
Rob Lourens
dee49a9190 Force show scrollbar (#299902)
* Force show scrollbar

* fix
2026-03-07 11:36:00 +09:00
Rob Lourens
8c3784f0ec Port chat input overflow fix to main (#299901)
The part of #299863 that wasn't in main
2026-03-06 18:16:53 -08:00
Robo
3154150df5 chore: bump electron@39.8.0 (#299669)
* chore: bump electron@39.8.0

* chore: bump distro
2026-03-07 01:26:01 +00:00
Rob Lourens
966c59037a Add sessionId to telemetry (#299895)
* Add sessionId to telemetry

* CCR comments
2026-03-07 01:06:24 +00:00
Matt Bierner
95ccad0406 Merge pull request #299659 from microsoft/copilot/fix-hover-effect-for-file-links
Fix file:// link hover tooltip showing raw URL-encoded URI
2026-03-06 16:39:13 -08:00
Elie Richa
2a7cdf83e8 Make variable resolvers based on environment including launch config env (#299752) 2026-03-07 00:37:29 +00:00
Connor Peet
175e346f3f fix: remove chat-pending-dragging class on re-render to fix opacity issue (#299886)
* fix: remove chat-pending-dragging class on re-render to fix opacity issue

Fixes #297473

The 'chat-pending-dragging' class (which sets opacity: 0.4) was not being
removed when elements were re-rendered. This caused messages to randomly
appear with lower opacity if they had been dragged before the list was
updated.

The fix adds 'chat-pending-dragging' to the classList.remove() call that
clears pending-related classes during re-render.

* fix: move class cleanup before pending divider rendering

Addresses review feedback: the chat-pending-dragging class was only
being removed on the normal render path. If a recycled template was
rendered as a pending divider, it would return early before the cleanup
code ran, leaving the class and opacity stuck at 0.4.

This moves the class cleanup to run before the isPendingDividerVM check,
ensuring it's always applied regardless of element type.
2026-03-06 15:38:18 -08:00
Connor Peet
19b032d2ff chat: toggle queue/steer keybindings based on context (#299885)
* chat: toggle queue/steer keybindings based on context

- Splits EditingRequestType.QueueOrSteer into Queue and Steer to track
  which type of pending message is being edited
- Keybindings now respect the chat.requestQueuing.defaultAction setting:
  when steer is default, Enter=Steer and Alt+Enter=Queue; when queue is
  default, the bindings swap
- When editing a queued or steer message, Enter always submits with the
  same type, regardless of the config setting. This ensures pressing Enter
  to save an edit keeps the message in its original queue category
- Updates chatWidget to set the specific editing type based on the
  pending message's kind
- Simplifies keybinding logic with effectiveDefault conditions that
  account for both config and editing context

Fixes #297454

(Commit message generated by Copilot)

* pr comments
2026-03-06 15:24:05 -08:00
Connor Peet
57479c0e8a mcp: fix concurrent request response collection race (#299628)
* mcp: fix concurrent request response collection race

- JsonRpcProtocol.handleMessage now returns JsonRpcMessage[] containing
  responses generated by incoming requests, rather than delegating
  response collection to callers via side-channel state
- McpGatewaySession simplified by removing _pendingResponses and
  _isCollectingPostResponses fields, which were susceptible to racing
  under concurrent HTTP POSTs. Now directly uses handleMessage's
  return value for the response body
- _send callback still invoked for all messages (backward compatible
  with McpServerRequestHandler and SSE notification broadcast)
- Updated tests to assert on handleMessage return values

Fixes #297780

(Commit message generated by Copilot)

* mcp: address review comments on jsonRpcProtocol changes

- Adds JSDoc to handleMessage clarifying what is returned (only responses
  for incoming requests), ordering guarantees for batch inputs, and that
  responses are still emitted via _send callback to avoid double-sending
- Tightens _handleRequest return type from Promise<JsonRpcMessage> to
  Promise<JsonRpcResponse>, enforcing that only valid responses are
  returned. Introduces JsonRpcResponse type alias for better type safety
- Expands error handling tests to assert that returned replies match
  what is emitted via _send for both JsonRpcError and generic error paths

Fixes #297780

(Commit message generated by Copilot)
2026-03-06 14:52:44 -08:00
Dmitriy Vasyura
9fc3d42d22 Pass internalOrg to buildUpdateFeedUrl when checking latest version (#299883) 2026-03-06 22:52:29 +00:00
Connor Peet
3c7c310208 Cherry pick cd11faec7b (#299875) 2026-03-06 14:50:43 -08:00
Megan Rogge
8fb2a54f45 dispose of all terminals for session on dispose or archive (#299816) 2026-03-06 14:37:10 -08:00
Logan Ramos
f3680f6a81 Support rendering reserved output separately (#299867)
* Support rendering reserved output separately

* Fix some of the progress bar logic

* Better handling for reserve
2026-03-06 13:38:40 -08:00
Josh Spicer
ca433bc500 sessions: 'update from VS Code' (#299359)
* refactor(AccountWidget): simplify update button logic and styling

* feat(AccountWidget): enhance update button logic for embedded app scenarios

* fix(AccountWidget): add missing line for clarity in onClick method

* embedded app update hint

* fix(AccountWidget): remove background image from update button when disabled

* Update src/vs/sessions/contrib/accountMenu/browser/media/accountWidget.css

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

* Update src/vs/sessions/contrib/accountMenu/browser/account.contribution.ts

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

* fix(AccountWidget): refine styles for disabled update button

* Update src/vs/sessions/contrib/accountMenu/browser/account.contribution.ts

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

* feat(AccountWidget): embedded app update flow with dialog, close, and open VS Code

- Show outlined 'Update Available' button when updates are disabled due to embedded app
- On click, confirm dialog explains Sessions will close and VS Code will open
- Opens VS Code via productService.urlProtocol with windowId=_blank (new empty window)
- Closes Sessions window after launching VS Code
- Uses secondary outlined button style (border, no fill) for hint state
- Inject IOpenerService, IDialogService, INativeHostService
- Remove simulation TODOs, use real updateService.state

* refactor(update): detect updates in embedded app via canInstall flag

- Add optional canInstall field to AvailableForDownload state
- Darwin: embedded app runs normal init + scheduled checks via HTTP
  (no Electron autoUpdater events), sets AvailableForDownload(update, false)
- Win32: embedded app skips platform setup, checks via HTTP,
  sets AvailableForDownload(update, false) when update found
- Sessions UI: check canInstall === false for hint button + dialog
- Remove DisablementReason.EmbeddedApp (no longer needed)
- Non-embedded --sessions mode uses standard update flow unchanged

* fix: update AccountWidget fixture with new constructor args

* fix: use IHostService instead of INativeHostService for browser layer compliance

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-06 13:23:22 -08:00
Connor Peet
0747aea692 chat: fix stale pending divider headers from persisting (#299868)
When templates are reused for different tree items, the DOM content from
pending dividers was not being cleaned up. This caused old 'Steering' or
'Queued' divider headers to persist visually even after they were no longer
in the list.

The fix checks if the previous element in a template was a pending divider,
and if so, clears the templateData.value node when the template is reused
for a new element.

- Adds a check in clearRenderedParts() to clear templateData.value when
  the previous element was a pending divider
- Ensures stale divider headers don't remain visible after pending requests
  are processed and removed from the queue

Fixes https://github.com/microsoft/vscode/issues/299853

(Commit message generated by Copilot)
2026-03-06 13:16:49 -08:00
Kyle Cutler
e842b429d2 Fix browser positioning issues (#299842) 2026-03-06 13:15:59 -08:00
Megan Rogge
b35cc3053c alert when an image is attached via paste (#299862)
fix #299859
2026-03-06 13:12:01 -08:00
Megan Rogge
22933cea7b add closeOnResult for editor's find widget (#299865)
fixes #264818
2026-03-06 13:11:34 -08:00
Ladislau Szomoru
c30864b3d0 Sessions - initial implementation for git changes (#299855)
* Sessions - initial implementation of repository changes

* Deduplicate resources and fix badge
2026-03-06 12:08:17 -08:00
Josh Spicer
abe7ae5449 fix: include sessions built-in prompts in esbuild resource patterns (#299848)
The new esbuild-based CI pipeline (core-ci) uses curated resource
patterns in build/next/index.ts to copy non-JS assets into the bundle
output. When built-in .prompt.md files were added for the sessions
window, they were included in the legacy pipeline's
vscodeResourceIncludes (build/gulpfile.vscode.ts) but not in the
desktopResourcePatterns used by the esbuild pipeline.

This caused the prompt files to be missing from release builds
(out-vscode-min), even though they worked correctly when running
from sources (where copyAllNonTsFiles copies everything).

Add 'vs/sessions/prompts/*.prompt.md' to desktopResourcePatterns
to match the existing entry in vscodeResourceIncludes.
2026-03-06 12:02:44 -08:00
Matt Bierner
2f67478444 Merge pull request #299646 from microsoft/copilot/add-release-notes-icon
fix: Use `vscode` codicon as theme icon for Release Notes tab
2026-03-06 11:21:54 -08:00
Megan Rogge
b607547dea tweak wording of chat tip for clarity (#299832)
fixes #299565
2026-03-06 11:21:06 -08:00