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-registry: display incompatible extensions #10424

Closed
wants to merge 3 commits into from

Conversation

vince-fugnitto
Copy link
Member

What it does

Fixes: #9676.

The commit adds the functionality to display incompatible extensions when performing a search. The changes will now display incompatible extensions but mark them as disabled, and non-installable. The behavior is also controllable by a new preference so users can decide if they want the potential extra noise when searching.

Example: using an api-version of 1.30.0:

incompatible-plugins

How to test

  1. start the application
  2. open the extensions-view
  3. perform a search - if an extension has no compatible version then it should be marked as disabled and non-installable
    3.1. hovering over the disabled extension should correctly display the tooltip
    3.2 the plugin should not resolve, the readme won't be displayed
  4. updating the preference 'extensions.displayIncompatible' and re-searching should not yield incompatible results
  5. repeat the steps by starting with yarn start --vscode-api-version=1.30.0 for additional incompatible results

Review checklist

Reminder for reviewers

Signed-off-by: vince-fugnitto [email protected]

The commit adds the functionality to display incompatible extensions
when performing a search. The changes will now display incompatible
extensions but mark them as disabled, and non-installable. The behavior
is also controllable by a new preference so users can decide if they
want the potential extra noise when searching.

Signed-off-by: vince-fugnitto <[email protected]>
@vince-fugnitto vince-fugnitto added enhancement issues that are enhancements to current functionality - nice to haves vsx-registry Issues related to Open VSX Registry Integration labels Nov 16, 2021
@vince-fugnitto vince-fugnitto self-assigned this Nov 16, 2021
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 behavior looks good to me:

  • Incompatible version (tested this with API version 1.53.2 and 1.30.0) are shown but not installable.
  • Switching the preference on/off correctly starts/stops displaying extensions with incompatible versions
  • The visual changes work well with different themes.

I have a few suggestions regarding i18n though.

packages/vsx-registry/src/browser/vsx-extension.tsx Outdated Show resolved Hide resolved
packages/vsx-registry/src/browser/vsx-extension.tsx Outdated Show resolved Hide resolved
Copy link
Contributor

@colin-grant-work colin-grant-work left a comment

Choose a reason for hiding this comment

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

A few comments:

Functionality

  • If you search for plugins and then change the preference, the current search result set doesn't change (the search isn't rerun). Particularly when moving from not showing -> showing, I think it would be better if the display did update.
  • It seems that if a plugin is incompatible, you can't open an extension view widget for it to read its readme. That was unexpected, and seems undesirable.

Experience

Displaying a plugin that you can't interact with at all seems odd. Certainly it should be possible to open the extension view for it to see the readme, but I think it might also make sense to allow the user to install an incompatible plugin after a warning dialog that points out that the plugin may not work. Perhaps beyond the scope of this PR, but an excellent addition to it, if you're willing, would be to take the logic from #9330 to give the user the chance to select the oldest available version to install, in case that works better than the latest.

@vince-fugnitto vince-fugnitto marked this pull request as draft November 30, 2021 17:21
@vince-fugnitto
Copy link
Member Author

Converted the pull-request to a draft in favor of completing #9330 first to get a better behavior in this pull-request 👍

@vince-fugnitto
Copy link
Member Author

Moved the draft to my fork in the meantime vince-fugnitto#9.
The changes should be revisited once the following are completed:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement issues that are enhancements to current functionality - nice to haves vsx-registry Issues related to Open VSX Registry Integration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

vsx-registry: display incompatible extensions as disabled
3 participants