Design mechanism to match versions of VS Code server and WebIDE
When starting VS Code server, it must match the version of WebIDE. Otherwise, they can't connect. This issue is about designing a mechanism that ensures that when we start VS Code server, it's the correct version.
We discussed this in #371615 (comment 1096835805)
Preliminarily, we came up with two approaches:
The server is responsible for matching the version:
I've been thinking about
How are we going to match the server version with WebIDE version?
.I came up with a simple solution for the BYO stI also think we could do something like this even when the CLI isn't involved.
- We expose the WebIDE version through an API endpoint, similar to the
/version
REST endpoint. We could even add an entry to that version endpoint.- The CLI tool will make a GET request to the version endpoint and gets the WebIDE version
- The CLI downloads and starts the server with the given version.
This approach will work with both
gitlab.com
and self-managed.
The client is responsible for matching the version:
I also think we could do something like this even when the CLI isn't involved.
E.g., whatever URI/route we have for the WebIDE, we will have it first do a fetch request to check the server version, then reload/redirect to download and run the right version.age where people use our CLI to start the server:
This issue has to consider these and other options and pick the best.
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.