Commit Graph

149907 Commits

Author SHA1 Message Date
Alex Ross
82ec78a528 Disable more flaky tests (#307102) 2026-04-01 14:19:38 +02:00
Ladislau Szomoru
264251b68e Session - perf improvements when switching sessions (#307091) 2026-04-01 10:35:21 +00:00
Martin Aeschlimann
091d6413e1 new theme notification (#307087)
new theme notification (#306827)

* new theme notification

* update

* update

* update

* update description

* add colon
2026-04-01 09:52:15 +00:00
Henning Dieterichs
cbefeb3643 add logs on failure 2026-04-01 11:51:29 +02:00
Henning Dieterichs
6ccb5d4fef fixes ci 2026-04-01 11:51:29 +02:00
Henning Dieterichs
3e5f275504 fixes ci 2026-04-01 11:51:29 +02:00
Henning Dieterichs
6e701d61b3 Adds playwright component fixture tests 2026-04-01 11:51:29 +02:00
Henning Dieterichs
bd5138e608 Trigger automatic screenshot artifact ingestion 2026-04-01 11:40:42 +02:00
Martin Aeschlimann
701662a562 fix telemetry description for SkillLoadedIntoContextClassification (#307058) 2026-04-01 11:29:53 +02:00
Ladislau Szomoru
accaa4d82a Sessions - update order for setting the default value for the branch picker (#307053) 2026-04-01 10:16:17 +02:00
Benjamin Pasero
a1ceb20175 unblock build (#307047) 2026-04-01 08:10:26 +00:00
Robo
c4229a68a8 build: exclude ssh2 native component to address universal failure (#307029) 2026-04-01 16:52:00 +09:00
Ladislau Szomoru
548f6c2957 Sessions - 💄 more cleanup (#307028) 2026-04-01 07:43:48 +00:00
Benjamin Pasero
7cfbeb957d sessions - cleanup window opening handling (#307044) 2026-04-01 07:37:54 +00:00
Ladislau Szomoru
178319b1ae Sessions - hide file header when there is no git repository (#307036) 2026-04-01 06:46:05 +00:00
Benjamin Pasero
4c022c611f sessions - enforce sessions window in embedded ap (#307032) 2026-04-01 06:39:59 +00:00
Benjamin Pasero
1d3da7cb96 Sessions: Opening a session in a new window clears it from the Sessions app (fix #306991) (#307022) 2026-04-01 08:12:34 +02:00
Rob Lourens
e6e776a4b6 Add SSH remote agent host bootstrap (#304882)
* Add SSH remote agent host bootstrap

Adds a new ISSHRemoteAgentHostService that automates connecting to a
remote machine via SSH, installing the VS Code CLI, starting
'code agent-host', and forwarding the agent host port back through
the SSH tunnel.

- New service interface and types in common/sshRemoteAgentHost.ts
- Full implementation using ssh2 in electron-browser/ with dynamic
  imports to respect layering rules
- Multi-step quick input flow for SSH connection details integrated
  into the remote agent host picker
- 'Connect via SSH' command registered in contributions

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

* Address PR review feedback

- Strip password/privateKeyPath from ISSHAgentHostConnection.config
  so secrets are not exposed to consumers after connect
- Redact connection tokens (?tkn=...) in all log output and error
  messages to prevent credential leakage
- Parse user@host:port format in SSH host input with proper validation
  for port range and missing components
- Guard onDidClose with a closed flag to prevent double-fire when
  dispose and SSH close/error events overlap

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

* SSH working through main process

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

* Resolve ssh configs

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

* progress

* Granular connect progress, test fix

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

* Test, refactor

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

* Resolve comments

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

* Get rid of cpu-features

* Move to shared process

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

* fixes

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

* add ssh2 to remote/package.json

* Cleanup and fixes

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

* fix

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

* fix

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

* resolve comments

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

* comments

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
2026-03-31 21:37:07 -07:00
Rob Lourens
e0de3232da agentHost: Disable folders from disconnected remotes (#306989)
* agentHost: Disable folders from disconnected remotes

* Address comments

* add tests

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

---------

Co-authored-by: Copilot <copilot@github.com>
2026-03-31 21:37:02 -07:00
Rob Lourens
fbabc5c7ef agentHost: auto-approve terminal commands using treesitter (#306992)
* agentHost: auto-approve terminal commands using treesitter

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

* Cleanup

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

* Add tests

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

* Tests

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

---------

Co-authored-by: Copilot <copilot@github.com>
2026-03-31 21:36:45 -07:00
Henning Dieterichs
b533ee4b6e Updates component explorer & adopts rspack for fixture serving (#306484) 2026-04-01 03:25:14 +00:00
Bryan Chen
eac55d867e Merge pull request #306586 from microsoft/copilot/fix-null-reference-error
Fix null crash in task schema fixReferences
2026-03-31 18:16:33 -07:00
Bryan Chen
2f602bd55a Merge branch 'main' into copilot/fix-null-reference-error 2026-03-31 17:56:57 -07:00
Dmitriy Vasyura
fd76bd131a Added setting and command to control post-update info tooltip (#306950)
* Added setting and command to control post-update info tooltip

* PR feedback, enable passing markdown to the test command
2026-04-01 00:09:04 +00:00
Josh Spicer
fcbabe4c73 Merge extension-provided policy (#306874)
* Add merge script for extension configuration policies from distro

Adds build/lib/policies/mergeExtensionPolicies.ts which fetches the
distro's product.json (at the commit pinned in package.json) and merges
extensionConfigurationPolicy entries into policyData.jsonc.

The --export-policy-data step only captures policies from the OSS
configuration registry. Extension policies (e.g., Copilot settings)
are defined in vscode-distro's product.json and are not available in
the OSS dev build. This merge script bridges that gap.

Workflow: ./scripts/code.sh --export-policy-data && node build/lib/policies/mergeExtensionPolicies.ts

Also updates:
- policyExport integration test to run the merge step
- add-policy skill documentation with extension policy lifecycle

* Simplify extension policy format: drop localization block from distro

- mergeExtensionPolicies.ts now reads only description/category from
  the distro and synthesizes localization key/value pairs internally
- Integration test gracefully skips merge step when distro is unavailable
- Updated SKILL.md to document the simplified distro format

* docs: use gh auth token in policy export command

* Handle old distro format missing description/category fields

* docs: add troubleshooting section for merge step in policy skill

* Require description and category fields in extension policy entries

* Add extension configuration policies to policyData.jsonc

* Address PR feedback: fix disclaimer, log targetPath, strip GITHUB_TOKEN from test

* fix: revert extension policies from policyData.jsonc, remove console.log from test

Extension policies should only be added after the distro PR merges.
Test runner disallows console output in tests.

* Add mock distro test for mergeExtensionPolicies, remove merge from export test

- mergeExtensionPolicies.ts: add DISTRO_PRODUCT_JSON env var to
  override the distro path (for testing without private repo access)
- New test: creates a mock product.json, runs the merge script,
  verifies policies are added correctly and idempotently
- Export test: no longer runs the merge step (avoids needing
  distro access or GITHUB_TOKEN in CI)

* Update distro and regenerate policyData.jsonc with extension policies

* Fix CI: add extension policy fixture for export test

The export test now runs mergeExtensionPolicies using a checked-in
fixture file instead of requiring distro access or GITHUB_TOKEN.
When extension policies change in the distro, regenerate both
policyData.jsonc and the fixture file.

* Integrate extension policy merge into --export-policy-data

- Removed mergeExtensionPolicies.ts — no separate CLI tool needed
- --export-policy-data now reads build/lib/policies/extensionPolicies.json
  and merges extension policies into the output automatically
- Single command workflow: ./scripts/code.sh --export-policy-data
- Simplified test — no merge step, no GITHUB_TOKEN, no distro access
- Updated SKILL.md to document the simplified workflow

* Dynamic distro reading: --export-policy-data fetches from distro directly

- policyExport.contribution.ts reads distro product.json dynamically:
  1. DISTRO_PRODUCT_JSON env var (for testing)
  2. .build/distro/mixin/stable/product.json (local checkout)
  3. GitHub API with GITHUB_TOKEN (remote fetch)
- New scripts/export-policy-data.sh wrapper: sets up GITHUB_TOKEN
  via gh CLI and runs the export
- Deleted build/lib/policies/extensionPolicies.json (no static copy)
- Test uses DISTRO_PRODUCT_JSON with a fixture file
- Uses sandbox process.env and VSBuffer (renderer-safe)

* Replace bash wrapper with cross-platform TS script

- New build/lib/policies/exportPolicyData.ts: handles transpilation,
  GITHUB_TOKEN setup via gh CLI, and runs --export-policy-data
- Added 'npm run export-policy-data' script to package.json
- Removed scripts/export-policy-data.sh
- Updated SKILL.md and test error message

* Use OAuth device flow for GitHub token acquisition

exportPolicyData.ts now acquires tokens via:
1. GITHUB_TOKEN env var (if set)
2. gh CLI (fast, non-interactive)
3. GitHub OAuth device flow (interactive, no dependencies)

Based on vscode-copilot-chat's getToken.mts pattern.

* Fix error messages to reference npm run export-policy-data

* Fix disclaimer to reference npm run export-policy-data, clean up stale refs

* Clarify test fixture is static and not expected to track distro changes

* Add inline comment in test clarifying fixture is static

* SKILL.md: add step to update distro commit hash in package.json

* Remove inline comment per PR feedback

* Remove local .build/distro/ fallback path per PR feedback
2026-04-01 00:07:47 +00:00
Josh Spicer
4eab4042e5 Harness fixes (#306978)
* feat: hide hardcoded CLI/Claude harnesses when providerApi is enabled

When `chat.customizations.providerApi.enabled` is true, the browser
harness service now only registers the Local (VS Code) harness statically.
All additional harnesses are expected to come from extensions via the
provider API rather than the hardcoded built-ins.

- CustomizationHarnessService reads the providerApi setting at construction
  time and only includes CLI/Claude harnesses when the setting is off
- Simplify _getAllHarnesses(): external harnesses no longer shadow static
  ones with the same id (the overlap case can't happen when providerApi is
  on and only Local is registered)
- Simplify registerExternalHarness dispose: drop the 'restored static
  harness' fallback guard — always fall back to first available harness
- Remove tests that verified the now-deleted external-overrides-static
  behaviour

* fix: extension menu contributions now evaluated for the hooks section

buildCreateActions() had an early 'return actions' for the hooks code
path that exited before the extension menu contribution check. This meant
extensions contributing to chat/customizations/create with a
'aiCustomizationManagementSection == hooks' when-clause were silently
ignored.

Move the AICustomizationManagementCreateMenuId evaluation (and its
'if (extensionCreateActions.length > 0) return extensionCreateActions'
short-circuit) to immediately after the commandId override check and
before the hooks-specific block, so extension-contributed actions take
precedence for all section types including hooks.
2026-04-01 00:07:00 +00:00
dileepyavan
9ed1e07930 chat: use display commands in response stringification (#306977) 2026-03-31 16:53:45 -07:00
Kyle Cutler
e52f1d1fe0 Encourage browser tab reuse in open tools (#306973) 2026-03-31 23:37:54 +00:00
Connor Peet
231f8d745c Merge pull request #305372 from microsoft/connor4312/customizations
agenthost: customization syncing data flow
2026-03-31 16:09:10 -07:00
Kyle Cutler
59c23c3a71 Add readable element labels in browser tool calls (#306954)
* Add readable element labels in browser tool calls

* feedback

* detail

* browser
2026-03-31 23:01:19 +00:00
Osvaldo Ortega
521587c246 Sessions: Add Copilot status indicator to sidebar footer (#306953)
* Sessions: Add Copilot status indicator to sidebar footer

Add a Copilot status button to the AccountWidget in the sessions app
sidebar footer. The button shows the current Copilot status icon and
opens a ChatStatusDashboard hover popup on click.

- Add per-section disable options to ChatStatusDashboard to control
  which sections render (disableInlineSuggestionsSettings,
  disableModelSelection, disableProviderOptions,
  disableCompletionsSnooze, disableContributions)
- Copilot status button is hidden when the update button is visible
- Status icon updates based on entitlement, sessions, and quota state
- Scoped CSS overrides for dashboard popup in sessions context

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

* Fix Copilot status button accessibility and disposable leak

- Set aria-label on the Copilot status button so screen readers
  announce the current status tooltip
- Track dashboard DisposableStore via MutableDisposable registered
  on the widget, ensuring cleanup on widget disposal or re-click

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

* Remove native tooltip from Copilot status button

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-31 22:54:07 +00:00
Connor Peet
81cb0e5f0c fix compile 2026-03-31 15:42:00 -07:00
Connor Peet
c0e8607507 Merge remote-tracking branch 'origin/main' into connor4312/customizations 2026-03-31 15:34:48 -07:00
Connor Peet
12fa930036 comments and tests 2026-03-31 15:33:59 -07:00
Ladislau Szomoru
b37b15b44d Sessions - move more code into the view model (#306951)
* Sessions - move more code into the view model

* Hide the path in the tree
2026-03-31 22:20:10 +00:00
Martin Aeschlimann
f7c3f8d5fd promptService: cache IHookDiscoveryInfo (#306734)
* promptService: cache IHookDiscoveryInfo

* Update src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Paul <paul_wang347@hotmail.com>
2026-03-31 22:08:48 +00:00
Connor Peet
bf954f4ebd test and cleanup 2026-03-31 14:54:15 -07:00
Megan Rogge
20bd08c7aa share auto approval logic bw runInTerminal and sendToTerminal (#306940)
share auto approval logic bw runInTerminal and
2026-03-31 14:43:17 -07:00
Kyle Cutler
48ebd97f97 Render URI-based icons in editor quick access (#306402)
* Show browser tab icons in editor quick access pickers

* feedback
2026-03-31 14:37:47 -07:00
Kyle Cutler
3111b55ca4 Link to browser editors in tool calls (#306909)
* Link to browser editors in tool calls

* a11y, feedback
2026-03-31 14:37:23 -07:00
Megan Rogge
6c3a002c90 remove shell integration none tests (#306932) 2026-03-31 14:30:41 -07:00
Ladislau Szomoru
64ea63952b Sessions - do not show changes when until there is no git repository (#306941) 2026-03-31 14:09:12 -07:00
Connor Peet
2d91fa2e5e Merge remote-tracking branch 'origin/main' into connor4312/customizations 2026-03-31 14:03:48 -07:00
Connor Peet
54caaaf394 finally works v.v 2026-03-31 14:02:04 -07:00
Aaron Munger
26bd211592 track disposable (#306933) 2026-03-31 13:47:44 -07:00
vs-code-engineering[bot]
54493e6c24 Update distro commit (main) (#306927)
* Update distro commit to 1992012c

* Update distro commit to 084798d4

---------

Co-authored-by: vs-code-engineering[bot] <122617954+vs-code-engineering[bot]@users.noreply.github.com>
2026-03-31 20:40:31 +00:00
Benjamin Pasero
20e37ff188 sessions - more renames (#306937) 2026-03-31 13:32:08 -07:00
Megan Rogge
79a97517fb Add send_to_terminal tool for sending commands to background terminals (#306875) 2026-03-31 20:09:02 +00:00
Benjamin Pasero
17faef0d3c Sessions: Update naming (fix #306461) (#306922)
* Sessions: Update naming (fix #306461)

* .
2026-03-31 20:02:26 +00:00
Logan Ramos
fa38b10ac3 Reduce request to entitlement endpoints (#306914) 2026-04-01 06:35:13 +11:00