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

VSX: Add 'Install Another Version...' Command #11303

Merged

Conversation

colin-grant-work
Copy link
Contributor

@colin-grant-work colin-grant-work commented Jun 15, 2022

What it does

Closes #9330, on which this PR is based.

  • Supports the ability to install any compatible version of an user-installed extension, provided that the extension is available in the Open VSX Registry.
install_another_version.mp4

Original video from #9330 - the current iteration looks a bit different in practice.

How to test

  1. Open the extensions view and locate the Installed view of all user-installed extensions.
  2. Pick an extension --> Click the manage gear icon --> Click Install Another Version... command. Note that the command is disabled for any extension not available in the Open VSX Registry.
  3. Select a compatible version to install from the Quick Pick dropdown.
  4. Observe that the current version is marked with Reload Required, but the plugin continues working.
  5. On reload, the newly installed version should be active.
  6. If you're in a state displaying Reload Required and you run the command again and select the version currently running, Reload Required should change to Uninstall, and reloading should retain the same version.

Review checklist

Reminder for reviewers

Signed-off-by: seantan22 [email protected]

@colin-grant-work colin-grant-work added plug-in system issues related to the plug-in system open-vsx issues related to the open-vsx registry labels Jun 15, 2022
@colin-grant-work colin-grant-work marked this pull request as ready for review June 15, 2022 22:36
@msujew msujew self-requested a review June 21, 2022 14:51
Copy link
Member

@msujew msujew left a comment

Choose a reason for hiding this comment

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

The changes and the functionality are looking quite good to me already. I have some concerns about adding further dependencies on the moment lib though, see below.

packages/vsx-registry/package.json Outdated Show resolved Hide resolved
packages/vsx-registry/src/node/vsx-extension-resolver.ts Outdated Show resolved Hide resolved
Copy link
Member

@msujew msujew left a comment

Choose a reason for hiding this comment

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

Great, looks good to me 👍

  • Using the context menu command to install another extension works correctly
  • The extension shows the Reload Required button
  • Uninstalling/Installing extensions works as expected

packages/git/src/browser/blame/blame-decorator.ts Outdated Show resolved Hide resolved
colin-grant-work and others added 3 commits June 24, 2022 10:56
Supports the ability to install any compatible version of an user-installed extension, provided that the extension is available in the Open VSX Registry.

Co-authored-by: seantan22 <[email protected]>
Co-authored-by: Colin Grant <[email protected]>
@colin-grant-work colin-grant-work merged commit 7445e23 into eclipse-theia:master Jun 30, 2022
@colin-grant-work colin-grant-work deleted the st/install-version branch June 30, 2022 14:35
@vince-fugnitto vince-fugnitto added this to the 1.27.0 milestone Jun 30, 2022
@msujew msujew mentioned this pull request Jun 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
open-vsx issues related to the open-vsx registry plug-in system issues related to the plug-in system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants