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
- Adds trust confirmation dialog requiring users to explicitly trust a
marketplace before installing plugins from it. Protects against
accidental plugin installation from untrusted sources.
- Introduces observableMemento for storing trusted marketplace canonical
IDs in persistent storage (StorageScope.APPLICATION), tied to user
profiles, never expiring.
- Trust is scoped per-marketplace (by canonicalId), so trusting one
marketplace trusts all plugins sourced from it. Reduces friction for
plugins from the same trusted source.
- Trust gate applies to all plugin source kinds (RelativePath, GitHub,
GitUrl, npm, pip) — for npm/pip it's additive to the existing terminal
command confirmation.
- Expands IPluginMarketplaceService with isMarketplaceTrusted() and
trustMarketplace() methods, and injects IDialogService into
PluginInstallService.
(Commit message generated by Copilot)
- Fixes _willRedoToEpoch to advance one request at a time when there are
no edit operations ahead, instead of jumping past all remaining requests
- When redoing with no operations in the queue, now finds the next
request-start checkpoint boundary and advances there, following the same
single-step pattern as undo
- Adds test case verifying undo and redo step through consecutive no-edit
requests one at a time
Fixes#275234
(Commit message generated by Copilot)
* plugins: refactor pluginSources with proper deletion
- Consolidate source logic into IPluginSource implementations
- Use that to implement more robust cleanup logic
Closes https://github.com/microsoft/vscode/issues/297251
* pr comments
* Action widget: full-width separators and hover background for open pickers
- Remove horizontal padding from action widget, inset list rows instead
so separators span edge-to-edge
- Fire onDidChangeVisibility in ActionWidgetDropdown so aria-expanded
is set correctly for all picker types
- Apply toolbar hover background to picker buttons while their
dropdown is open
* Revert separator layout hack, keep hover background for open pickers
* Polish question carousel: simplify title bar, footer nav, and layout
* Question carousel UI polish
- Border radius matches chat input (cornerRadius-large)
- Background uses panel background
- Remove colon prefix from option descriptions
- Option list items use cornerRadius-medium
- Footer padding: 8px left, 16px right
- 12px gap between number and labels
- Freeform row aligned with preset options
- Close button vertically centered in titlebar
- Checkboxes center-aligned in list items
- has-description class for title+description items
- Number elements use consistent width
- Focus outline consistent across all list items
- Tighter gap between presets and custom answer
- Summary Q/A always on separate rows
- Hide submit icon when carousel is open (show stop only)
- Show submit when user types to steer
* Add close button to single-question carousel title row
* Add submit footer for single-question multi-select carousels
* Align single-question submit footer to the right with hint
* Fix failing carousel unit tests
Update test selectors and structure to match current DOM:
- Remove .chat-question-carousel-nav assertion (element no longer exists)
- Update markdown/message tests to use .chat-question-title
- Fix nav button tests to use multi-question carousels with .chat-question-nav-arrow
- Fix submit button test to use multi-question carousel
* Fix chat question carousel navigation and summary test regressions