a1af9e2a56
* Move integration types into code-server This will be easier to maintain than to have it as a patch. * Disable connection token Using a flag means we will not need to patch it out. I think this is new from 1.64? * Add product.json to build process This way we do not have to patch it. * Ship with remote agent package.json Instead of the root one. This contains fewer dependencies. * Let Code handle errors This way we will not have to patch Code to make this work and I think it makes sense to let Code handle the request. If we do want to handle errors we can do it cleanly by patching their error handler to throw instead. * Move manifest override into code-server This way we will not have to patch it. * Move to patches - Switch submodule to track upstream - Add quilt to the process - Add patches The node-* ignore was ignoring one of the diffs so I removed it. This was added when we were curling Node as node-v{version}-darwin-x64 for the macOS build but this no longer happens (we use the Node action to install a specific version now so we just use the system-wide Node). * Use pre-packaged Code
54 lines
2.4 KiB
Diff
54 lines
2.4 KiB
Diff
Add Open VSX default and an env var for marketplace, fix old marketplace
|
|
|
|
Our old marketplace only supports `serviceUrl` but this causes the marketplace
|
|
to be disabled entirely so this moves the template var check to fix that.
|
|
|
|
This can be tested by setting EXTENSIONS_GALLERY set to:
|
|
|
|
'{"serviceUrl": "https://extensions.coder.com/api"}'
|
|
|
|
|
|
Index: code-server/lib/vscode/src/vs/platform/product/common/product.ts
|
|
===================================================================
|
|
--- code-server.orig/lib/vscode/src/vs/platform/product/common/product.ts
|
|
+++ code-server/lib/vscode/src/vs/platform/product/common/product.ts
|
|
@@ -45,7 +45,14 @@ else if (typeof require?.__$__nodeRequir
|
|
}
|
|
|
|
Object.assign(product, {
|
|
- version: pkg.version
|
|
+ version: pkg.version,
|
|
+ extensionsGallery: env.EXTENSIONS_GALLERY ? JSON.parse(env.EXTENSIONS_GALLERY) : (product.extensionsGallery || {
|
|
+ serviceUrl: "https://open-vsx.org/vscode/gallery",
|
|
+ itemUrl: "https://open-vsx.org/vscode/item",
|
|
+ resourceUrlTemplate: "https://open-vsx.org/vscode/asset/{publisher}/{name}/{version}/Microsoft.VisualStudio.Code.WebResources/{path}",
|
|
+ controlUrl: "",
|
|
+ recommendationsUrl: "",
|
|
+ }),
|
|
});
|
|
}
|
|
|
|
Index: code-server/lib/vscode/src/vs/server/node/webClientServer.ts
|
|
===================================================================
|
|
--- code-server.orig/lib/vscode/src/vs/server/node/webClientServer.ts
|
|
+++ code-server/lib/vscode/src/vs/server/node/webClientServer.ts
|
|
@@ -285,14 +285,14 @@ export class WebClientServer {
|
|
settingsSyncOptions: !this._environmentService.isBuilt && this._environmentService.args['enable-sync'] ? { enabled: true } : undefined,
|
|
productConfiguration: <Partial<IProductConfiguration>>{
|
|
rootEndpoint: base,
|
|
- extensionsGallery: this._webExtensionResourceUrlTemplate ? {
|
|
+ extensionsGallery: {
|
|
...this._productService.extensionsGallery,
|
|
- 'resourceUrlTemplate': this._webExtensionResourceUrlTemplate.with({
|
|
+ 'resourceUrlTemplate': this._webExtensionResourceUrlTemplate ? this._webExtensionResourceUrlTemplate.with({
|
|
scheme: 'http',
|
|
authority: remoteAuthority,
|
|
path: `web-extension-resource/${this._webExtensionResourceUrlTemplate.authority}${this._webExtensionResourceUrlTemplate.path}`
|
|
- }).toString(true)
|
|
- } : undefined
|
|
+ }).toString(true) : undefined
|
|
+ },
|
|
}
|
|
})))
|
|
.replace('{{WORKBENCH_AUTH_SESSION}}', () => authSessionInfo ? escapeAttribute(JSON.stringify(authSessionInfo)) : '')
|