Skip to content

Commit fd42b95

Browse files
authored
fix: use current location for web extension resource endpoint (#5104)
This makes it work behind a rewriting proxy as well as make it use the correct remote authority.
1 parent b62a68a commit fd42b95

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

patches/base-path.diff

+21
Original file line numberDiff line numberDiff line change
@@ -303,3 +303,24 @@ Index: code-server/lib/vscode/src/vs/code/browser/workbench/workbench.ts
303303

304304
// Create workbench
305305
create(document.body, {
306+
Index: code-server/lib/vscode/src/vs/workbench/services/extensionResourceLoader/common/extensionResourceLoader.ts
307+
===================================================================
308+
--- code-server.orig/lib/vscode/src/vs/workbench/services/extensionResourceLoader/common/extensionResourceLoader.ts
309+
+++ code-server/lib/vscode/src/vs/workbench/services/extensionResourceLoader/common/extensionResourceLoader.ts
310+
@@ -16,7 +16,6 @@ import { getServiceMachineId } from 'vs/
311+
import { IStorageService } from 'vs/platform/storage/common/storage';
312+
import { TelemetryLevel } from 'vs/platform/telemetry/common/telemetry';
313+
import { getTelemetryLevel, supportsTelemetry } from 'vs/platform/telemetry/common/telemetryUtils';
314+
-import { RemoteAuthorities } from 'vs/base/common/network';
315+
316+
export const WEB_EXTENSION_RESOURCE_END_POINT = 'web-extension-resource';
317+
318+
@@ -72,7 +71,7 @@ export abstract class AbstractExtensionR
319+
public getExtensionGalleryResourceURL(galleryExtension: { publisher: string; name: string; version: string }, path?: string): URI | undefined {
320+
if (this._extensionGalleryResourceUrlTemplate) {
321+
const uri = URI.parse(format2(this._extensionGalleryResourceUrlTemplate, { publisher: galleryExtension.publisher, name: galleryExtension.name, version: galleryExtension.version, path: 'extension' }));
322+
- return this._isWebExtensionResourceEndPoint(uri) ? uri.with({ scheme: RemoteAuthorities.getPreferredWebSchema() }) : uri;
323+
+ return this._isWebExtensionResourceEndPoint(uri) ? URI.joinPath(URI.parse(window.location.href), uri.path) : uri;
324+
}
325+
return undefined;
326+
}

0 commit comments

Comments
 (0)