Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pre package extensions and install them on startup for users #6403

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

melissa-barca
Copy link
Contributor

@melissa-barca melissa-barca commented Feb 19, 2025

Addresses #6302, #6301, #6305, #5315

Introduces the concept of "bootstrapped extensions". Bundles the following extensions as VSIX files with Positron:

  • Black
  • Posit Publisher
  • Shiny(Workbench only)
  • Quarto
  • ms-toolsai.jupyter-keymap
  • ms-toolsai.vscode-jupyter-cell-tags
  • ms-toolsai.vscode-jupyter-slideshow
  • ms-toolsai.jupyter-renderers
  • ms-toolsai.jupyter
  • ms-pyright.pyright
  • ms-python.debugpy

When a user starts up Positron after first installing it or a version change (upgrade or downgrade), Positron will install the bootstrapped extensions for the users. Users will then be able to manage the extensions (upgrade, downgrade, uninstall, disable) themselves. Positron will always prefer whichever version of the extension in newer (bundled or user). When a user downgrades the extension, Positron will attempt to upgrade to the latest packaged version on the next upgrade, but not next Positron launch.

I changed the approach slightly from my initial spec. The initial spec built on top of the existing defaultExtensionInitializer. This approach is heavily inspired by that class but provides the server and desktop logic in src/vs/platform/extensionManagement/node/positronBootstrapExtensionsInitializer.ts.

Release Notes

New Features

  • Packages the Black, Posit Publisher, Shiny, and Quarto extensions as user managed extensions that are installed on install.

Bug Fixes

  • N/A

QA Notes

@:web

Copy link

github-actions bot commented Feb 19, 2025

E2E Tests 🚀
This PR will run tests tagged with: @:critical @:web

readme  valid tags

@melissa-barca melissa-barca force-pushed the bootstrap-extensions branch 2 times, most recently from d092f62 to 2b30e74 Compare February 24, 2025 16:21
@jonvanausdeln
Copy link
Contributor

The matplot lib test is failing due to missing positron-ipywidgets .. could that be something missed ?

@jonvanausdeln
Copy link
Contributor

@melissa-barca I updated so the web based tests will run on the PR as well

timtmok
timtmok previously approved these changes Feb 25, 2025
Copy link
Contributor

@timtmok timtmok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants