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

Extensions are outdated and not retrieved from Microsoft #30

Closed
schrej opened this issue Mar 6, 2019 · 20 comments
Closed

Extensions are outdated and not retrieved from Microsoft #30

schrej opened this issue Mar 6, 2019 · 20 comments
Labels
enhancement Some improvement that isn't a feature

Comments

@schrej
Copy link

schrej commented Mar 6, 2019

  • code-server version: 1.31.0-20 (or 1.0.0 according to it's own output)
  • OS Version: Fedora 29
  • Extension: any

All extensions are extremely outdated. I noticed it's querying some google storage (https://storage.googleapis.com/coder-production-extensions) instead of the VS Code Marketplace.

Why not use the official one?

@schrej schrej changed the title Extensions are outdated Extensions are outdated and not retrieved from Microsoft Mar 6, 2019
@schrej
Copy link
Author

schrej commented Mar 6, 2019

I found c384dfb

According to the commit message and the code setting SERVICE_URL should allow to override it, but it doesn't. Does the binary override the environment variables?

@sr229
Copy link
Contributor

sr229 commented Mar 6, 2019

@schrej keep in mind code-oss which Coder bases off, does not include Extensions that has access to the registry.

@kylecarbs
Copy link
Member

We can't use Microsofts official extension registry as they don't open it to the public.

We'd love to open the world of extensions to all users, so we've created a system of observing and building from open-sourced GitHub repos for extensions. It isn't perfect yet, but we're working on it.

Which extensions in-particular have you found to be out of date?

cc: @foresthoffman

@sr229
Copy link
Contributor

sr229 commented Mar 6, 2019

@kylecarbs Eclipse Che's extension registry might interest you. They've been working on it and we can adapt it for Coder/VSCode OSS

https://github.com/eclipse/che-plugin-registry

@kylecarbs
Copy link
Member

@sr229 I believe Che's extensions are written in Java, so that would require a large refactoring of the way extensions are currently handled.

I think the approach we're currently taking works nicely, and allows for a very open community where the builds are pulled directly from GitHub, GitLab, etc.

@sr229
Copy link
Contributor

sr229 commented Mar 6, 2019

@kylecarbs Che 7 is VSCode-compatible (moved to Theia, which is VSCode-compatible), which can be adapted for Coder as well with substantial modifications.

@nhooyr
Copy link
Contributor

nhooyr commented Mar 6, 2019

We can't use Microsofts official extension registry as they don't open it to the public.

Can't we still download the extensions from the official registry? Or do we need to make modifications to them?

@sr229
Copy link
Contributor

sr229 commented Mar 6, 2019

we could but we need to learn the underlying API for it. @nhooyr

@foresthoffman
Copy link
Contributor

@nhooyr They don't have a public API for us to pull from, so any web scraping would be very jank and unreliable. The added benefit of building from open source is: we can prevent versions that are failing to build from getting into the marketplace.

@nhooyr
Copy link
Contributor

nhooyr commented Mar 6, 2019

I doubt their API is changing very often. I don't think it will be jank or unreliable. Right now our approach is causing outdated extensions and a divergence which is a bigger problem.

@kylecarbs
Copy link
Member

Their TOS disallows it.

@ymmt2005
Copy link

ymmt2005 commented Mar 7, 2019

I found a workaround for this;

  1. Use the official code with X and install extensions from VS Code Marketplace.

  2. Make symlink to ~/.vscode/extensions:

    rm -rf ~/.code-server/extensions
    ln -s ~/.vscode/extensions ~/.code-server/extensions
  3. Run code-server; you can use the installed extensions!

@zanhk
Copy link

zanhk commented Mar 7, 2019

And what if you are running it on ubuntu/debian server?

@ymmt2005
Copy link

ymmt2005 commented Mar 7, 2019

I used X server on Windows like MobaXterm + ssh -X to the ubuntu/debian server.

@zanhk
Copy link

zanhk commented Mar 7, 2019

It can work as a temporary solution, but it's certainly needed a more definitive way to implement extensions

@andreimc
Copy link

andreimc commented Mar 11, 2019

@ymmt2005 my extensions show up as disabled if I do this on ubuntu server

All good or was me setting the extensions folder incorrectly

@foresthoffman
Copy link
Contributor

@andreimc which extensions are showing up as disabled?

@schrej
Copy link
Author

schrej commented Mar 12, 2019

Another (easier than settung up X server) workaround is to just install extensions locally and then copying them over to the server using SCP (or whatever)

@RiFi2k
Copy link

RiFi2k commented Mar 15, 2019

What immediatly comes to my mind is to make an extension that loads the marketplace into a vscode tab, and make a simple bookmarklet or browser extension that appends a button onto the extensions page / card. All it would need to do is grab the rifi2k.format-html-in-php value and post it back to a simple webhook you were listening locally on via your inital extension or whatever. Use the vscode cli to download it for you. So technically you wouldn't be breaking the TOS someone would have implemented a way to download extensions via the already existing vscode cli.

Or you could do the same thing but only append and make the extension downloadable if it links to a public repo, then you can just grab it that way.

@kylecarbs
Copy link
Member

Closing as there isn't really a solution to this. Our marketplace seems to be improving though 🤗

@coder coder locked as spam and limited conversation to collaborators Apr 25, 2019
@coder coder deleted a comment from sr229 Apr 25, 2019
@coder coder deleted a comment from zanhk Apr 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Some improvement that isn't a feature
Projects
None yet
Development

No branches or pull requests

9 participants