Commit Graph

2980 Commits

Author SHA1 Message Date
Matt Bierner c95b5661ac Merge branch 'main' into dev/mjbvz/wonderful-piranha 2026-04-21 08:11:12 -07:00
Ladislau Szomoru 16e7e398e8 Agents - disable git commands in the editor title (#311645) 2026-04-21 10:32:41 +00:00
Matt Bierner de7206fad5 Merge branch 'main' into dev/mjbvz/wonderful-piranha 2026-04-19 20:14:50 -04:00
Courtney Webster 7049f52a9e Enabling ai co author by default (#310226) 2026-04-15 18:27:33 -07:00
Ladislau Szomoru b604f475c5 Git - fix the default branch protection when workspace folders change (#310147) 2026-04-15 09:11:43 -07:00
Ladislau Szomoru 8f57c3e15b Copilot - implement improvements for GVFS repos (#309460)
* Git - expose whether a repository is using GVFS

* Make improvements for GVFS

* Update extensions/copilot/src/extension/chatSessions/vscode-node/chatSessionWorktreeServiceImpl.ts

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

* Update extensions/copilot/src/extension/chatSessions/vscode-node/chatSessionWorkspaceFolderServiceImpl.ts

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

* Fix test compilation

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-13 14:41:36 +00:00
Ladislau Szomoru e2f2e833c0 Agents - switch over to using metadata for the changes view (#309091)
* Cleanup code related to the repository state

* Remove code specific to the Agents app

* HasGitRemote should be computed at the end of each turn to account for sessions that were started before the metadata was added
2026-04-10 19:58:02 +00:00
Ladislau Szomoru 087126b872 Agents - use "agents" in the worktree branch/folder name (#308811) 2026-04-09 09:29:23 -07:00
Ladislau Szomoru 147c6066ec Sessions - add noTrack option to worktree creation and adopt new option (#308471) 2026-04-08 12:58:07 +02:00
Ladislau Szomoru 63310be14d Sessions - more perf improvements (#307627) 2026-04-03 21:44:18 +09:00
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