eclipse / openvsx

An open-source registry for VS Code extensions

Home Page:https://open-vsx.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Some extensions which don't have 'universal' targetPlatform appear as not found in cli tool

KMohZaid opened this issue · comments

hello, i was using cli tool to find extensions that are not on https://open-vsx.org/

I found out that Python debugger is on open-vsx but it says not found, https://open-vsx.org/extension/ms-python/debugpy.

after going through code, i found out that by default it checks for "universal". but python debugger have "darwin-arm64' as targetted platform.

how to reproduce?

  1. try ovsx get --metadata ms-python.debugpy

how can we fx it?

  • by default, make it search without specifing target platform in url path.
  • OR, add option to ignore platform specification

https://open-vsx.org/api/ms-python/debugpy -> works
https://open-vsx.org/api/ms-python/debugpy/ -> not found
https://open-vsx.org/api/ms-python/debugpy/universal -> not found

https://open-vsx.org/api/ms-python/debugpy -> works

As expected. This API endpoint passes null as the target platform.

.body(registry.getExtension(namespace, extension, null));

Only if the targetPlatform is valid, it is included as a condition in the query:

if(TargetPlatform.isValid(targetPlatform)) {
query.addConditions(EXTENSION_VERSION.TARGET_PLATFORM.eq(targetPlatform));
}

null is not a valid target platform value:

return targetPlatform != null && TARGET_PLATFORM_NAMES.contains(targetPlatform);

https://open-vsx.org/api/ms-python/debugpy/ -> not found

Yes, the extra slash causes a 404.

https://open-vsx.org/api/ms-python/debugpy/universal -> not found

As expected. This extension doesn't target the universal platform.

@KMohZaid where in the code is the bug?

@KMohZaid where in the code is the bug?

Hello, I meant cli tool should have option to not specify target platform. For someone who want to get extensions regardless of its target platform or for people like me who want to find all extensions that are not published on open-vsx and update manually

Yes, the extra slash causes a 404.

Yeah i got it why, it is treating target platform as "" empty string