Commit Graph

167 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
Matt Bierner e74071cd63 Fix import 2026-03-09 09:38:32 -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
Christof Marti 51f5cafd6f Revert "Port github extension to use esbuild" (#298920) 2026-03-03 12:40:44 +01:00
Matt Bierner 9e0a44acc3 Port github extension to use esbuild
Had to make same fixes as with #296355. We can't pull in const enums from a d.ts file like this
2026-03-02 11:28:35 -08: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 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
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
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
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 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 2baf1b4cde Runtime fixes for stage 3 decorators 2025-08-06 14:32:43 -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
Ladislau Szomoru 90fcd05e94 GitHub - update remote order for git blame actions (#257816) 2025-07-25 12:06:47 +00:00
Ladislau Szomoru 4d7c56ee82 Engineering - Add GitHub action for pull requests (#254056)
* Test - handle running tests as part of a GitHub action

* Add GitHub action files
2025-07-04 08:21:56 +00:00
Ladislau Szomoru 9913e0238a GitHub - cleanup octokit auth (#251266)
Refactor auth
2025-06-12 12:41:33 +02:00
Ladislau Szomoru 39500b94ef GitHub - fix auth regression (#250556)
* Revert "GitHub - fix regression in `getOctokitGraphql()` (#249355)"

This reverts commit 3381c264e1.

* Fix graphql client caching
2025-06-03 13:13:53 -07:00
nomike c80442dee0 Enhance GithHub publishing logic to handle renamed repositories (#245024)
* Enhance GithHub publishing logic to handle renamed repositories.

* Make "result" const as it is never reassigned.

* Pull request feedback

---------

Co-authored-by: nomike <nomike@nomike.cpm>
Co-authored-by: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com>
2025-05-27 13:20:25 +00:00
Ladislau Szomoru e806b1ba01 GitHub - only prompt once to authenticate in the avatar provider (#249785) 2025-05-26 01:30:03 -07:00
Ladislau Szomoru 3381c264e1 GitHub - fix regression in getOctokitGraphql() (#249355) 2025-05-20 16:43:20 +02:00
Ladislau Szomoru 70107d1562 GitHub - fix graphql query regression following the ESM migration (#249340) 2025-05-20 12:09:15 +02:00
Johannes Rieken cb0950e9d7 Migrate github extension to ESM (2nd attempt) (#248312)
* Revert "GitHub - revert ESM migration (#247322)"

This reverts commit 2047ab0fff.

* use `"@vscode/extension-telemetry": "^1.0.0"` which doesn't use default export anymore
2025-05-07 15:52:46 +02:00
Ladislau Szomoru 2047ab0fff GitHub - revert ESM migration (#247322)
* Revert "fix github extension bundling (#247314)"

This reverts commit 0cffb673f5.

* Revert "migrate github-extension to ESM"

This reverts commit 493874c390.

* Add missing JS file
2025-04-24 19:24:59 +02:00
Johannes 493874c390 migrate github-extension to ESM 2025-04-16 16:04:12 +02:00
Ladislau Szomoru b9cbfa49d8 GitHub - fix event handled (#238676) 2025-01-24 16:05:13 +01:00
Ladislau Szomoru 7667cdd1ed GitHub - add setting to disable avatar resolution (#238270) 2025-01-20 10:32:51 +01:00
Ladislau Szomoru 4b4cd6b702 GitHub - add more logs to avatar resolution (#238266) 2025-01-20 09:46:10 +01:00
Ladislau Szomoru d64829f052 Git - add avatar to graph hover (#238246) 2025-01-19 21:30:42 +01:00
Ladislau Szomoru 1600fb4c76 GitHub - avatar resolution improvements (#238239)
* Add support for size

* Add support for extracting user id from GitHub no-reply email addresses

* Fix git blame email parsing

* Extrat link into function
2025-01-19 16:44:40 +01:00
Ladislau Szomoru bb655894c2 GitHub - add "Open on GitHub" action to timeline context menu (#238144) 2025-01-17 09:19:04 -08:00
Ladislau Szomoru 5e399f3069 GitHub - add support for batch avatar query (#238114) 2025-01-17 10:56:49 +01:00
Ladislau Szomoru abecfae1ec Git - add avatar resolution to git blame editor decoration hover (#238083)
* Initial implementation

* Add logging

* Improve avatar resolution
2025-01-16 21:33:08 +01:00
Ladislau Szomoru 7610cc1d19 Git - 💄 fix history item details provider name (#238045) 2025-01-16 20:25:19 +09:00
Ladislau Szomoru eaba97f995 Git - extract history item detail provider (#238041)
* Initial refactor of hover commands

* Delete old code for hover commands

* More refactoring
2025-01-16 11:37:27 +01:00
Ladislau Szomoru 57e8c28877 GitHub - link provider for various hovers (#237961)
* Initial implementation

* Refactor code, add link to blame decoration

* Add links to timeline hover

* Saving my work

* Update remote order for "Open on GitHub" action

* Bug fixes

* Add link provider for graph hover

* Rename method
2025-01-15 16:30:43 +01:00
Ladislau Szomoru 924d7a84bf SCM - Add "Open on GitHub" action to history item hover (#237893) 2025-01-14 15:10:20 +01:00
Ladislau Szomoru 9ee0345b63 Git - fix "Open on GitHub" command (#237832) 2025-01-14 11:45:03 +01:00
Ladislau Szomoru 9bb633aaf7 GitHub - add "Open on GitHub" action to the SCM graph (#237635) 2025-01-10 13:52:01 +01:00
Ladislau Szomoru dca80ea667 GitHub - add "Open on GitHub" to blame hover (#237514)
* WIP - saving my work

* Refactor hover rendering code
2025-01-08 11:34:54 -08:00
Ladislau Szomoru 1c10a0e551 Git - remove proposed api typings from git/github extensions (#237409) 2025-01-07 17:00:02 +01:00