Commit Graph

263 Commits

Author SHA1 Message Date
dileepyavan
7422e06ada [main] Cherry-pick MSRC fixes (#320659)
* OTel visibility in Copilot Chat UI (#47)

* [msrc/1.123] 114763

* Add maxAttributeSizeChars configuration to OpenTelemetry settings

---------

Co-authored-by: Zhichao Li <zhichli@microsoft.com>
(cherry picked from commit 042dc59dbb51f58ef03a6909d5dfb0292a6b2576)
(cherry picked from commit be6ab8b589)

* Prompt before connecting to non-loopback remote host:port authorities (#46)

A direct `<host>:<port>` remote authority (no resolver `+` prefix) bypasses
resolver extensions and connects straight to the given server. Since this form
can originate from untrusted sources (e.g. the `remoteAuthority` of a
`.code-workspace` file), a crafted workspace could silently point the window's
extension host backend at an attacker-controlled server.

Centralize a confirmation prompt at the connection point in the renderer:
when resolving a direct authority whose host is not loopback (localhost,
127.0.0.1, ::1), ask the user to confirm before connecting and abort if
declined. Add `isLoopbackHost` helper and tests.

(cherry picked from commit 9505d0fca49eadb707c450d18dcb41a46b720a9e)
(cherry picked from commit 9673132502)

* GitHub - improve host parsing (#48)

(cherry picked from commit 4b6e2467dbd828018d602f73cc25d1b11f699d2c)
(cherry picked from commit 9fea92e141)

* path traversal fix (#50)

* fix path traversal

* fix compilation

(cherry picked from commit 9b31ff896671125cbfc65f33731c4a99660d6201)
(cherry picked from commit a703741497)

* Path - improve isEqualOrParent calculation (#49)

(cherry picked from commit 0f1ba1ea103757f3023cc1f9c3eb7327c3ec4b02)
(cherry picked from commit 5927baa7af)

---------

Co-authored-by: Zhichao Li <Li.Zhichao@microsoft.com>
Co-authored-by: Zhichao Li <zhichli@microsoft.com>
Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
Co-authored-by: Ladislau Szomoru <lszomoru@microsoft.com>
Co-authored-by: Sandeep Somavarapu <sasomava@microsoft.com>
2026-06-09 14:26:48 -07:00
dileepyavan
ca425775e4 Revert "Optimize shared built-in extension dependencies (#318045)" (#319774)
This reverts commit 26e580781a.
2026-06-03 17:21:27 +00:00
Dmitriy Vasyura
26e580781a Optimize shared built-in extension dependencies (#318045) 2026-06-03 08:49:40 +00:00
Raymond Zhao
49d14f8afc chore: npm audit fix (#318614)
* chore: npm audit fix

* Remove merge conflict

* chore: bump build
2026-05-28 21:53:33 +00:00
Robo
8748be1f1a feat: update to Electron v42 (#316661)
* feat: update to Electron v42

* chore: drop support for arm 32-bit server

* chore: update types/node to v24.x

* chore: temporarily lock the target version for build/

* chore: update v8-source-location.patch

* chore: fix clippy

* chore: cleanup armhf server ci config

* fix: broken lock file

* fix: c++ version requirement for sysroot builds

* fix: msvc compilation of native modules

* fix: handle rejections for fire-and-forget loadurl

* fix: windows build

* ci: fix teardown of daemon process on windows

```
2026-05-15T20:55:09.7717127Z Assertion failed: !(handle->flags & UV_HANDLE_CLOSING), file src\win\async.c, line 76
```

* chore: update deb and rpm dependencies

* chore: update version info

* spec: improve reliablity of offscreencanvas tests

* spec: retry EPERM failures on teardown

* chore: update x86_64 rpm deps

* ci: exclude server binskim for armhf

* temp: bump distro

* test: ignore deprecation warnings treated as errors

* chore: update lockfile

* fix: externalize electron from auth extension bundles

 Error: Cannot find module 'c:\Users\cloudtest\AppData\Local\Temp\vscode-sanityQvCaze\vscode-server-win32-x64-web\extensions\github-authentication\dist\install.js'
     at Module._resolveFilename (node:internal/modules/cjs/loader:1476:15)
     at wrapResolveFilename (node:internal/modules/cjs/loader:1049:27)
     at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1073:10)
     at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1094:12)
     at Module._load (node:internal/modules/cjs/loader:1262:25)
     at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
     at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)
     at node:internal/main/run_main_module:33:47 {
   code: 'MODULE_NOT_FOUND',
   requireStack: []
 }

 Node.js v24.15.0

* test: make wsl sanity tests reliable

* chore: bump electron@42.1.0

* temp: bump distro

* chore: bump electron@42.2.0

* chore: bump distro

* chore: update debian dependencies

* Revert "test: make wsl sanity tests reliable"

This reverts commit b3f2b63e83.

* test: do not fail for deprecation warnings

* chore: patch node24 server binary for wsl1

* chore: address review feedback

* chore: revert global navigation error handler in browserview

* chore: bump distro
2026-05-27 14:57:41 +02:00
dependabot[bot]
a058a5062e build(deps): bump @nevware21/ts-utils from 0.11.6 to 0.14.0 in /extensions/github (#318384)
build(deps): bump @nevware21/ts-utils in /extensions/github

Bumps [@nevware21/ts-utils](https://github.com/nevware21/ts-utils) from 0.11.6 to 0.14.0.
- [Release notes](https://github.com/nevware21/ts-utils/releases)
- [Changelog](https://github.com/nevware21/ts-utils/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nevware21/ts-utils/compare/0.11.6...0.14.0)

---
updated-dependencies:
- dependency-name: "@nevware21/ts-utils"
  dependency-version: 0.14.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-26 17:18:32 +00:00
Raymond Zhao
628e477608 Revert "chore: bump octokit and engine versions" (#317402)
Revert "chore: bump octokit and engine versions (#317359)"

This reverts commit 6fe5e43b79.
2026-05-19 22:57:05 +00:00
Raymond Zhao
6fe5e43b79 chore: bump octokit and engine versions (#317359)
* chore: bump octokit and engine versions

* Add missing lockfile change
2026-05-19 13:56:35 -07:00
Ladislau Szomoru
ef8aceeaed Agents - cleanup Changes view menus/actions (#315014)
* Agents - cleanup Changes view menus/actions

* More fixes
2026-05-07 14:30:23 +00:00
Matt Bierner
de7206fad5 Merge branch 'main' into dev/mjbvz/wonderful-piranha 2026-04-19 20:14:50 -04: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
15186d2e20 Merge pull request #300665 from mjbvz/dev/mjbvz/intellectual-snake
Fix the `github` extension for esbuild
2026-03-10 23:07:03 -07:00
Matt Bierner
599fc96f2f Fix the github extension for esbuild 2026-03-10 22:53:03 -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
Matt Bierner
e74071cd63 Fix import 2026-03-09 09:38:32 -07:00
Matt Bierner
02d9c6d239 Also set type: module again 2026-03-09 09:38:05 -07:00
Matt Bierner
26876d30a1 Revert main change 2026-03-09 08:59:46 -07:00
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
2b32258b0e merge to main (#299794)
* sessions - fix chat input shrinking at narrow widths (#299498)

style - set width to 100% for `interactive-input-part`

* modal - force focus into first modal editor always

* fix: update precondition for FixDiagnosticsAction and hide input widget on command execution (#299499)

fixes https://github.com/microsoft/vscode/issues/299251

* refactor: remove workspace context service dependency from FolderPicker

* Add logging for agent feedback actions

* modal - some fixes to actions and layout

* modal - surface some editor actions in a new toolbar (#299582)

* modal - surface some editor actions in a new toolbar

* ccr

* keybindings - remove "Edit as JSON" as its now available from the title menu

* settings - remove "Edit as JSON" as its now available from the title menu

* update hover fixes

* terminal fixes

* terminal improvements

* Sessions: fix auth scopes of gh FSP

* sessions customizations: make it easier to scan mcp/plugin marketplac… (#299636)

sessions customizations: make it easier to scan mcp/plugin marketplace list

* sessions: add built-in prompt files with override support (#299629)

* sessions: add built-in prompt files with override support

Ship bundled .prompt.md files with the Sessions app that appear as
slash commands out of the box. Built-in prompts use a BUILTIN_STORAGE
constant (cast as PromptsStorage) defined in the aiCustomization layer,
avoiding changes to the core PromptsStorage enum and prompt service types.

- AgenticPromptsService discovers prompts from vs/sessions/prompts/
  at runtime via FileAccess and injects them into the listing pipeline
- Override logic: user/workspace prompts with matching names take
  precedence over built-in ones
- Built-in prompts open as read-only in the management editor
- Sessions tree view, workspace service, and counts handle BUILTIN_STORAGE
- Add /create-pr as the first built-in prompt
- Bundle prompt files via gulpfile resource includes

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

* Update src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.ts

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

* sessions: use AICustomizationPromptsStorage type for builtin storage

Adopt the new AICustomizationPromptsStorage union type in the sessions
tree view method signature. Use string-keyed Records and targeted casts
at the PromptsStorage boundary to stay type-safe.

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

* sessions: remove PromptsStorage casts, widen IStorageSourceFilter

Use AICustomizationPromptsStorage in sessions-local interfaces
(IAICustomizationGroupItem, IAICustomizationFileItem) and widen
IStorageSourceFilter.sources to readonly string[] so BUILTIN_STORAGE
flows through without casts. The only remaining cast is at the
IPromptPath creation boundary in AgenticPromptsService.

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

* sessions: move BUILTIN_STORAGE to sessions common layer

Move AICustomizationPromptsStorage type and BUILTIN_STORAGE constant
from the workbench browser UI module to sessions/contrib/chat/common
so that AgenticPromptsService (a service) does not depend on UI code.

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

---------

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

* sessions: fix ESLint dangerous type assertion in builtin prompts (#299663)

Replace the `as IPromptPath` cast in discoverBuiltinPrompts with a
createBuiltinPromptPath factory function that contains the type
narrowing in one place, satisfying the code-no-dangerous-type-assertions
ESLint rule.

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

* Enhance Agent Sessions Control and Renderer with observable active session resource

* fix terminal

* Enable model management in NewChatWidget

* review feedback

* different competion settings for copilot markdown and plaintext

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
Co-authored-by: Johannes Rieken <johannes.rieken@gmail.com>
Co-authored-by: BeniBenj <besimmonds@microsoft.com>
Co-authored-by: Osvaldo Ortega <osortega@microsoft.com>
Co-authored-by: Josh Spicer <23246594+joshspicer@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-06 09:09:01 -08:00
Osvaldo Ortega
093376241c Sessions window: contributed pr actions 2026-03-04 15:45:55 -08:00
Osvaldo Ortega
26b6024286 Using merge strategy 2026-03-03 15:43:40 -08:00
Benjamin Pasero
8f0ea5c65c sessions - shorter button for PR open/create (#298257) 2026-02-27 16:11:16 +01:00
Osvaldo Ortega
756602da18 Set GitHub context for open pull requests based on session resolution 2026-02-26 16:26:55 -08:00
Osvaldo Ortega
c040dd4b13 Refactor pull request handling to open repository page on API failure and update command to open pull request 2026-02-26 15:18:43 -08:00
Osvaldo Ortega
19a12a4ff3 Update pull request state handling to include all states in checks 2026-02-26 15:16:05 -08:00
Osvaldo Ortega
7c32c58bbd Remove 'state: open' from pull request creation and check functions 2026-02-26 15:09:54 -08:00
Osvaldo Ortega
c4f26872d1 Add command to check for open pull requests and refactor session repository resolution 2026-02-26 15:08:16 -08:00
Osvaldo Ortega
6ce4655c56 enable virtual workspaces capability in package.json 2026-02-26 14:54:56 -08:00
Osvaldo Ortega
68f9ece10a add logging for activation in GitHub extension 2026-02-26 14:48:20 -08:00
Osvaldo Ortega
abf18a18fc Refactor code structure for improved readability and maintainability 2026-02-26 14:40:52 -08:00
Osvaldo Ortega
0d0acbcde2 remove unnecessary context setting for open pull request in createPullRequest function 2026-02-26 11:58:29 -08:00
Osvaldo Ortega
21049d3dc8 add openPullRequest command and update related logic in GitHub extension 2026-02-26 11:55:52 -08:00
Matt Bierner
cc10bc708e Enable incremental builds to speed up updates after first build 2026-02-19 14:14:37 -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
Benjamin Pasero
b1009c98bb Sessions exploration (#294912) 2026-02-17 14:14:39 +00:00
Matt Bierner
cca17c1b7f Use ts-go for building our extensions
Also reverts to use experimental decorators due to stage 3 decorators not being supported yet https://github.com/microsoft/typescript-go/issues/2354

The skipLib check is needed to work around some jsdom types issues
2026-02-02 20:06:00 -08:00
Matt Bierner
ee01088b74 Update roots 2026-01-30 13:12:58 -08:00
Matt Bierner
0d9a2ef2b0 Add explicit rootDirs 2026-01-30 11:07:53 -08:00
Ladislau Szomoru
2b52b93770 Git - enable ESLint rule for git extensions (#277156)
* Initial commit with all exceptions

* First pass of fixing

* Add ignored files explicitly
2025-11-13 15:35:01 +00:00
Ladislau Szomoru
ffcd44e6a1 Git - remove the use of in (#277077) 2025-11-13 08:51:35 +00:00
Matt Bierner
dd281f1d90 Remove allowSyntheticDefaultImports 2025-11-10 09:01:56 -08:00
Ladislau Szomoru
da14a6ea3a GitHub - use different link for hover commands and links in the commit message (#275518) 2025-11-05 09:46:59 +00:00
Matt Bierner
e8b2531c8b Merge pull request #271470 from mjbvz/dev/mjbvz/panicky-mockingbird
Enforce single quote string usage in extension tests
2025-10-15 11:16:49 -07:00
Ladislau Szomoru
a1d4cfa3d8 SCM - graph hover provided by extension (#271519)
* Git - 💄 consolidate git blame and timeline hover code

* Git - Delete code that was commented out

* SCM - graph hover provided by extension

* Apply suggestion from @Copilot

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

* More fixes

* More fixes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-15 14:22:12 +00:00
Matt Bierner
1c35a4d05c Enforce single quote string usage in extension tests
Single quoted string usage is already enforced everywhere except our tests. Having this inconsistent style can confuse contributors and code generation

Starting with converting over tests in the `extensions` dir
2025-10-15 01:51:43 -07:00
Matt Bierner
8f232fff89 Exclude a few more files from published extensions 2025-08-13 10:15:20 -07:00
Matt Bierner
ed71020bfc Convert extension webpack scripts to modules 2025-08-07 17:20:22 -07:00
Matt Bierner
2baf1b4cde Runtime fixes for stage 3 decorators 2025-08-06 14:32:43 -07:00
Matt Bierner
d8c9852fe9 Don't use experimental decorators in extensions
Seeing if we can compile our extensions using TS native which doesn't support these. The usage is so low that I think we can just remove them
2025-08-06 13:24:19 -07:00
Matt Bierner
30b93b1217 Bump extensions to target es2024
I reviewed the various changes and library additions of es2024 and it seems they are widely supported across node and modern browsers
2025-08-05 10:40:33 -07:00