Commit Graph

2969 Commits

Author SHA1 Message Date
Ladislau Szomoru
f92a4853f7 Git - change the default value for the git.detectWorktrees setting (#306286) 2026-03-30 10:43:16 +00:00
Ladislau Szomoru
cbc57242ed Sessions - wire up the discard changes action (#305830) 2026-03-27 22:04:27 +00:00
Ladislau Szomoru
bdea2b4df8 Git - scaffold the git extension API (#305643)
* Git - scaffold the git extension API

* Pull request feedback
2026-03-27 13:56:36 +00:00
dependabot[bot]
c707b6a4c5 Bump picomatch from 2.3.1 to 2.3.2 in /extensions/git (#304911)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: direct:production
...

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>
2026-03-26 21:48:34 +00:00
Ladislau Szomoru
19e3c145cb Sessions - source control providers do not need the parent/child relationship (#304830) 2026-03-25 18:07:01 +00:00
Ladislau Szomoru
7dcd2c9178 Git - update DotGit file watcher to ignore worktree index.lock files (#303504)
* Git - update DotGit file watcher to ignore worktree index.lock files

* Apply suggestion from @Copilot

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-20 09:47:24 -07:00
Berke Batmaz
4743b9431b fix(git): correctly pluralise line_length input validation (#301071)
Correctly pluralise line_length git diagnostic
2026-03-20 15:33:55 +00:00
BeniBenj
af3fd6fcba fix task reveal logic 2026-03-18 17:32:08 +01:00
dependabot[bot]
1b8d01571a build(deps): bump file-type from 21.3.1 to 21.3.2 in /extensions/git (#302473)
Bumps [file-type](https://github.com/sindresorhus/file-type) from 21.3.1 to 21.3.2.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/compare/v21.3.1...v21.3.2)

---
updated-dependencies:
- dependency-name: file-type
  dependency-version: 21.3.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-17 16:47:03 +00:00
Benjamin Christopher Simmonds
fe0599f4fa Merge pull request #302407 from microsoft/benibenj/worthy-earthworm
Minor updates to session tasks
2026-03-17 12:42:18 +01:00
Ladislau Szomoru
cff3949e5d Git - add new API to help with computing a diff with stats between two commits (#302402) 2026-03-17 11:05:04 +00:00
BeniBenj
27bcf17319 minor sessions task changes 2026-03-17 11:45:14 +01:00
Ladislau Szomoru
c3b9417517 Git - second attempt to adopt the @vscode/fs-copyfile package (#301443)
* Reapply "Git - adopt the new package to use copy-on-write for the worktree include files (#299583)" (#300448)

This reverts commit c56c7bc071.

* Attempt to fix tests

* Fix build

* build: copy node_modules into extension bundle

* Regenerate lock file

---------

Co-authored-by: deepak1556 <hop2deep@gmail.com>
2026-03-16 14:14:06 +00:00
BeniBenj
ac554a5b8a should not reveal task details in terminal 2026-03-16 10:52:47 +01:00
dependabot[bot]
cbc25fffb2 build(deps): bump file-type from 16.5.4 to 21.3.1 in /extensions/git (#300597)
* build(deps): bump file-type from 16.5.4 to 21.3.1 in /extensions/git

Bumps [file-type](https://github.com/sindresorhus/file-type) from 16.5.4 to 21.3.1.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/compare/v16.5.4...v21.3.1)

---
updated-dependencies:
- dependency-name: file-type
  dependency-version: 21.3.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(git): update file-type import for v21.x API (#301231)

* Initial plan

* fix: update file-type import for v21.x API changes

Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>

---------

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

---------

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>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-03-12 14:32:40 -07:00
Benjamin Christopher Simmonds
fe7157a1f3 Merge pull request #300905 from microsoft/benibenj/military-rodent
Add support for running tasks on worktree creation
2026-03-11 21:52:15 +01:00
Benjamin Christopher Simmonds
5d3da238a1 Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-11 21:26:54 +01:00
BeniBenj
9831d8f09c add support for running tasks on worktree creation 2026-03-11 18:13:56 +01:00
Matt Bierner
af32b7b329 Revert "Add min-release-age in npmrc files"
This reverts commit a440ae0518.
2026-03-11 10:07:42 -07:00
Matt Bierner
a440ae0518 Add min-release-age in npmrc files
For #299632

Not fully enabled unless you're using a recent npm. Next step will be to bump the min node/npm versions for the workspace too
2026-03-10 20:33:07 -07:00
Connor Peet
0a8edf7b2f plugins: allow updating agent plugins (#300344)
* plugins: allow updating agent plugins

Add update detection and update buttons to the agent plugins view and editor.
This allows users to see when installed plugins have newer versions available
and update them directly from the UI without manually checking for updates.

- Export hasSourceChanged() from pluginMarketplaceService for reuse
- Add 'outdated' and 'liveMarketplacePlugin' fields to IInstalledPluginItem
- Fetch marketplace data in AgentPluginsListView.show() to cross-reference
  installed vs live versions and mark outdated plugins
- Add UpdatePluginAction to list view with live marketplace data
- Add UpdatePluginEditorAction to plugin editor with live marketplace data
- Both update actions re-register the plugin with updated metadata after
  successful update so the UI immediately reflects the new version
- Read fresh installed metadata from pluginMarketplaceService.installedPlugins
  store (not stale IAgentPlugin.fromMarketplace) for accurate version checks
- Pass 'silent' option to runInstall() to show non-blocking notification
  instead of dialog when silent=true
- Re-register plugins with live data after updateAllPlugins() completes
  so stored sourceDescriptor reflects new version/ref/sha

(Commit message generated by Copilot)

* pr comments and cleanup

* fix test failure
2026-03-11 04:57:13 +11:00
Ladislau Szomoru
c56c7bc071 Revert "Git - adopt the new package to use copy-on-write for the worktree include files (#299583)" (#300448)
This reverts commit 950ab0704b.
2026-03-10 15:01:11 +01:00
Ladislau Szomoru
35e0427ee2 Sessions - expose session base branch information (#300415)
* Sessions - expose session base branch information

* Pull request feedback
2026-03-10 11:18:21 +00:00
Ladislau Szomoru
950ab0704b Git - adopt the new package to use copy-on-write for the worktree include files (#299583)
* Git - adopt the new package to use copy-on-write for the worktree include files

---------

Co-authored-by: deepak1556 <hop2deep@gmail.com>
2026-03-10 11:51:57 +01:00
Matt Bierner
59cb786bc1 Copy over .sh scripts in git extension too
Fixes #299332

Restoring previous webpack behavior. In the future let's consider just moving these to the `git/scripts` folder so we don't have to copy them around
2026-03-04 23:07:52 -08:00
Connor Peet
a4e35e0d69 chat: add support for agent plugin sources (#299081)
* chat: add support for agent plugin sources

- Adds support for agent plugins to reference sources as specified in
  PLUGIN_SOURCES.md, enabling installation from GitHub, npm, pip, and
  other package registries
- Integrates source parsing and validation into the plugin installation
  service and repository service
- Adds comprehensive test coverage for plugin source handling and
  installation from various sources
- Creates PLUGIN_SOURCES.md documentation describing how to specify
  plugin source configurations

(Commit message generated by Copilot)

* comments

* windows fixes and fault handling

* fix tests
2026-03-04 07:20:21 -08:00
Ladislau Szomoru
1722624c4a Git - expose rebase() though the extension API (#299181) 2026-03-04 12:17:09 +00:00
Ladislau Szomoru
4ff01e687e Git - tweak copilot worktree folder detection (#299147)
* Git - tweak copilot worktree folder detection

* Pull request feedback
2026-03-04 08:58:25 +00:00
Osvaldo Ortega
76fa9206f1 Merge pull request #299090 from microsoft/osortega/interior-flea
Session window: merge to local
2026-03-03 18:42:59 -08:00
Osvaldo Ortega
68da1933d0 Clean up 2026-03-03 17:55:47 -08:00
Osvaldo Ortega
55dc53f5d3 Review comments 2026-03-03 17:45:30 -08:00
Osvaldo Ortega
26b6024286 Using merge strategy 2026-03-03 15:43:40 -08:00
Osvaldo Ortega
dd8539f530 Session window: apply patch to local 2026-03-03 08:28:10 -08:00
Ladislau Szomoru
fb87d94563 Git - expose random name generation for branches (#298938) 2026-03-03 12:45:46 +00:00
Matt Bierner
fc4a565437 Merge pull request #298108 from microsoft/dev/mjbvz/other-meadowlark
Port git extension to use esbuild
2026-03-02 09:11:02 -08:00
Ladislau Szomoru
39cd99fe01 Git - add commands to copy information in the repositories view (#298558) 2026-03-01 17:38:47 +01:00
João Moreno
d2f1f7ce97 Inline Compile & CompileCLI stages into platform specific jobs (#296006)
* chore: ralph loop checkpoint - 2026-02-17 12:48

* fix shell script

* Inline compile stage into platform jobs

Remove the standalone Compile stage from the ADO pipeline. Each
platform job (Windows, Linux, macOS, Alpine, Web) now compiles
TypeScript itself instead of downloading a shared Compilation artifact.

- Add VSCODE_RUN_CHECKS parameter to Linux jobs for hygiene/lint/CG
- Add VSCODE_RUN_COMPILE_EXTRAS parameter to macOS jobs for telemetry
  extraction and sourcemap upload
- Remove VSCODE_COMPILE_ONLY parameter entirely
- Delete product-compile.yml (no longer referenced)

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

* Always run telemetry extraction on macOS builds

The macOS Universal app merge requires both x64 and arm64 builds to have
identical file sets. Telemetry extraction was only running on arm64 (via
VSCODE_RUN_COMPILE_EXTRAS), causing the universal merge to fail due to
missing telemetry-core.json and telemetry-extensions.json in the x64 build.

Move telemetry extraction outside the VSCODE_RUN_COMPILE_EXTRAS gate so
it runs on all macOS builds. Sourcemap upload remains gated.

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

* Run telemetry extraction on all client builds

All client builds (Linux, Windows, macOS) need telemetry-core.json and
telemetry-extensions.json. Previously only macOS arm64 ran extract-telemetry.

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

* Only run telemetry extraction on Linux x64 (client build)

Linux arm64 and armhf are server-only builds, no need for telemetry files.

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

* Remove .ralph scaffolding files

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

* Fix telemetry extraction on Windows with native PowerShell

The bash extract-telemetry.sh script fails on Windows because the Unix
bin shim gets interpreted as Node.js code. Use a native PowerShell
implementation that calls the extractor JS entry point directly.

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

* Handle missing telemetry files gracefully on Windows

The telemetry extractor may skip emitting declarations-resolved.json
when no events are found. Handle this case with a warning instead of
failing the build.

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

* Use deterministic build date from git commit timestamp

When each platform compiles independently, the build date embedded in
cli.js (via INSERT_PRODUCT_CONFIGURATION) differs between machines
because each uses new Date().toISOString(). This causes the macOS
Universal app merge to fail since cli.js SHA differs between x64/arm64.

Fix: use the git commit date (git log -1 --format=%cI HEAD) instead
of the current wall-clock time. This ensures all independent builds
on different machines produce identical timestamps.

Updated in:
- build/lib/date.ts: writeISODate() uses git commit date
- build/next/index.ts: bundle(), transpile, and readISODate fallback
  all use git commit date

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

* Remove redundant extensions-ci task from CI pipelines

core-ci (esbuild path) already includes cleanExtensionsBuildTask,
compileNonNativeExtensionsBuildTask, and compileExtensionMediaBuildTask.
Running extensions-ci in parallel caused a race condition where
core-ci's rimraf of .build/extensions clashed with extensions-ci
writing to the same directory.

Also removes dead code:
- extensions-ci and extensions-ci-pr task definitions (fully subsumed)
- core-ci-old task (useEsbuildTranspile is always true)

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

* remove VSCODE_RUN_COMPILE_EXTRAS

* address PR feedback regarding code duplication of `getGitCommitDate()` function by exporting a single helper function from `build/lib/date.ts` and importing it in `build/next/index.ts` to ensure consistent behavior and improve code maintainability.

* update readISODate function to return git commit date instead of current date

* add telemetry sorting script and integrate into build process for consistent output

* refactor telemetry extraction process: replace shell script with TypeScript implementation

* update skill

* update telemetry-extractor dependency to version 1.19.0

* fix build

* fix more duplicate telemetry definition issues

* cleanup

* refactor: consolidate validation checks into quality checks and remove obsolete tasks

* bust the cache

* undo cache bust

* fix expression

* fix

* fix: update Azure storage account name in quality checks

* fix: initialize stages set with 'Quality'

* fix: add VSCODE_BUILD_TYPE parameter with options for Product and CI builds

* fix: update Azure Pipeline CLI to use parameters instead of variables for queueing builds

* fix: update VSCODE_BUILD_TYPE parameter values for clarity

* fix: update default value for VSCODE_BUILD_TYPE parameter to 'Product'

* leaner

* even leaner

* only npm ci in build

* 💄

* run entire npm ci

* fix

* fix

* fix it

* Inline CompileCLI into platform stages

- Remove centralized CompileCLI stage
- Move CLI jobs into Windows, Linux, macOS stages as independent jobs
- CLI jobs now compile, publish unsigned mid-job, sign, and publish signed
- Platform compile jobs use deemon + waitForArtifacts for async CLI download
- Delete separate CLI sign jobs (now merged into CLI compile jobs)
- Remove CompileCLI from publish.ts stage tracking

* fix: macOS CLI signing - use proper directory structure for ESRP

* fix: add BUILDS_API_URL to Windows and Linux job templates

* fix: label Linux CLI jobs clearly

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: João Moreno <22350+joaomoreno@users.noreply.github.com>
2026-03-01 08:48:08 +01:00
Ladislau Szomoru
f06f86226b Git - file-system provider should open the repository if not already opened (#297783)
* Git - file-system provider should open the repository if not already opened

* Git - only open the repository in the empty/session window

* Add logging
2026-02-28 17:49:43 +01:00
Matt Bierner
a453d99821 Port git extension to use esbuild
Fixes #296355
2026-02-26 14:10:15 -08:00
Benjamin Christopher Simmonds
e30f28558f feat: add clone repository option to folder picker (#297995) 2026-02-26 14:59:13 +01:00
Dmitriy Vasyura
0fb77198a8 feat: add AI co-author support for commits (#296435) 2026-02-23 18:57:10 -08:00
Connor Peet
f6b16889a2 pr comments 2026-02-23 16:20:24 -08:00
Connor Peet
dc4cd84cdb plugins: enable installing plugins from marketplaces
Supports both Copilot marketplaces as well as Claude marketplaces (when configured).

Still todo:

- Currently enumerating plugins hit public GH APIs. But this would fail for private repos. In this case we should generalize the PluginInstallService to allow cloning the repo for the purpose of enumeration, not just install.
- Updating plugins still needs to be hooked up.
- Marketplace-installed plugins should get their own Discovery implementation rather than configuring the setting.
- We should normalize the type of plugin a bit so it flows from the marketplace type rather than getting re-discovered from disk.
2026-02-23 16:08:12 -08:00
Matt Bierner
2fedd2e043 Adopt esbuild for a few more extensions
- extension-editing
- terminal-suggest
- tunnel-forwarding
- php language features
2026-02-18 15:20:02 -08:00
Ladislau Szomoru
dfec5880f8 Git - 💄 extract quick diff providers (#295564)
Git - extract quick diff providers
2026-02-16 17:10:19 +05:00
Johannes Rieken
4f5d8f3946 Remove code-no-native-private ESLint rule (#295535) 2026-02-16 10:03:47 +01:00
Raymond Zhao
e987c5242e chore: bump extension versions (#295040) 2026-02-13 04:15:03 +05:00
Ladislau Szomoru
f23e9ca900 Git - Fix parent repository dialog in agent session workspace (#294967)
Fix parent repository dialog in agent session workspace
2026-02-12 09:05:35 -08:00
Ladislau Szomoru
ba54343db9 Git - store repository root in the cache along with the workspace folder (#294943) 2026-02-12 15:48:03 +00:00
Ladislau Szomoru
efb6eeee9d Git - openRepository extension API should always open the repository without any prompts (#293681) 2026-02-07 20:37:03 +01:00