theia-blueprint icon indicating copy to clipboard operation
theia-blueprint copied to clipboard

some open-vsx.org extension are not available without any explanations

Open ssbarnea opened this issue 3 years ago • 15 comments

Bug Description:

The extension installation panel does say it uses open-vsx.org as source but performing a search on it does return different results than on the website.

Steps to Reproduce:

I tried to find my https://open-vsx.org/extension/zbr/vscode-ansible extension, but when searching for "ansible" only two results are returned instead of 3.

I am not aware of any special flags that are needed in order to list of delist extensions but I am also sure that the retired Ansible extension from microsoft (vscoss) does NOT work well and is still listed.

What are the hidden tricks to make extensions visible or to hide them if necessary? I think that is something that should be documented.

Additional Information

  • Operating System: MacOS
  • Theia Version: 1.12.1

ssbarnea avatar May 15 '21 08:05 ssbarnea

@ssbarnea thank you for the discussion, can you confirm which version of ansible you expect? The version I see uses an engines.vscode of 1.52.0. The extensions in the view are checked for api compatibility by comparing them to the api level of the framework (currently 1.50.0). If an extension is not listed in the view it is due to this compatibility check not being satisfied.

vince-fugnitto avatar May 15 '21 13:05 vince-fugnitto

@vince-fugnitto Thanks for the hint, that explains why my extension is not listed as I do know to require ^1.52.0, but I can likely check the compatibility with older versions and lower the engine requirements. Funny, few days ago I had to lower it from 1.54 after someone explained he cannot make use of latest vscode.

I was expecting something like this but I was not able to identify any doc mentioning that. I wonder if there is a place where we could include a hint regarding the fact that only compatible extensions are listed and a hyperlink towards a web page that explains better how compatibility is determined.

ssbarnea avatar May 15 '21 15:05 ssbarnea

@vince-fugnitto After more debugging I am starting to believe it will not be possible to lower the vscode engine version down to 1.50.0. How far is theia from upgrading its compatibility? Do we have bug tracking progress for 1.52 compatibility?

ssbarnea avatar May 16 '21 09:05 ssbarnea

I ended up creating https://github.com/eclipse-theia/theia-blueprint/issues/97 for the 1.50.0 issue.

ssbarnea avatar May 17 '21 08:05 ssbarnea

This looks like https://github.com/eclipse/openvsx/issues/297

brianking avatar May 17 '21 11:05 brianking

I was expecting something like this but I was not able to identify any doc mentioning that. I wonder if there is a place where we could include a hint regarding the fact that only compatible extensions are listed and a hyperlink towards a web page that explains better how compatibility is determined.

@ssbarnea the view only lists extensions which have a known compatible version which is ultimately displayed and installed.

As an end-user, I would not expect to see incompatible extensions from the list (no known compatible version present in the registry) since if installed these such extensions will fail as soon as they are activated. One alternative could be to keep them in the list, mark their entries as disable (non-intsallable) with a mention that no version meets the API requirement (but this is not implemented).

vince-fugnitto avatar May 17 '21 12:05 vince-fugnitto

Vince, I think we definitely do the right thing, by having the vsx client be smart enough to pick an older version of an extension, should newer ones require APIs not supported by the current Theia-based app.

However it may be puzzling to a user or extension developer, why a newer version of an extension is apparently being ignored by a Theia application's extension view, while being available on the open-vsx web site.

So, however we make that info available, I think it should be. Your suggestion looks good to me, at least to start-with.

marcdumais-work avatar May 18 '21 19:05 marcdumais-work

keep them in the list, mark their entries as disable (non-intsallable) with a mention that no version meets the API requirement (but this is not implemented).

^^^ this

marcdumais-work avatar May 18 '21 19:05 marcdumais-work

@marcdumais-work: This requires a fix in Theia or even OpenVSX? Is there already a ticket to fix this in either of the projects?

koegel avatar Jun 30 '21 08:06 koegel

There are a couple of related open search bugs:

https://github.com/eclipse/openvsx/issues/244 https://github.com/eclipse/openvsx/issues/297

brianking avatar Jun 30 '21 09:06 brianking

@koegel I think a client-side fix would be enough. ATM the client ignores extension versions that require a vscode extensions API greater than the one available in the current Theia application.

If no version of an extension is deemed compatible, we'll not show that extension I think. We could instead still show such extensions but e.g. greyed-out with a hover message about it not being likely compatible.

@vince-fugnitto is there an issue in the main repo for this?

marcdumais-work avatar Jun 30 '21 13:06 marcdumais-work

@marcdumais-work https://github.com/eclipse-theia/theia/issues/9676,

I believe the issue can be closed in theia-blueprint given the issue is now tracked upstream.

vince-fugnitto avatar Jun 30 '21 13:06 vince-fugnitto

One further step would be to add the means to let the user force installation even if an extension/version is potentially not compatible.

marcdumais-work avatar Jun 30 '21 13:06 marcdumais-work

@marcdumais-work eclipse-theia/theia#9676,

I believe the issue can be closed in theia-blueprint given the issue is now tracked upstream.

Thanks for clarifying.

koegel avatar Jun 30 '21 18:06 koegel

Not seeing the extensions at all is strange. If the plugin is available in Open-VSX - but incompatible with my version of Theia - the plugin should be shown in the result list, but greyed-out and not installable.

Jeeppler avatar Sep 03 '21 18:09 Jeeppler