From f9cc07926b29bc58b2664f3987289ad4118dde1f Mon Sep 17 00:00:00 2001 From: Asher Date: Tue, 14 Mar 2023 12:03:53 -0800 Subject: [PATCH] Update Code to 1.76.1 (#6070) * Update Code to 1.76.1 - worker-src already contains blob so we can avoid patching that. - localeService moved. - Remaining changes were just line changes. * Make language extensions installable again Still might want to look into making the native language support work but for now it seems better not to break backwards compatibility since the native implementation is quite different. * Avoid "install in browser" for language packs It will not work. * Import correct locale service I believe before the contributions imported this but now we have to do it here. --- lib/vscode | 2 +- patches/base-path.diff | 6 +- patches/disable-downloads.diff | 4 +- patches/display-language.diff | 102 +++++++++++++++++++++++++++++---- patches/getting-started.diff | 6 +- patches/integration.diff | 4 +- patches/local-storage.diff | 2 +- patches/logout.diff | 2 +- patches/marketplace.diff | 2 +- patches/proposed-api.diff | 2 +- patches/proxy-uri.diff | 2 +- patches/service-worker.diff | 2 +- patches/sourcemaps.diff | 6 +- patches/telemetry.diff | 4 +- patches/update-check.diff | 2 +- patches/webview.diff | 9 --- 16 files changed, 113 insertions(+), 44 deletions(-) diff --git a/lib/vscode b/lib/vscode index 441438abd..5e805b79f 160000 --- a/lib/vscode +++ b/lib/vscode @@ -1 +1 @@ -Subproject commit 441438abd1ac652551dbe4d408dfcec8a499b8bf +Subproject commit 5e805b79fcb6ba4c2d23712967df89a089da575b diff --git a/patches/base-path.diff b/patches/base-path.diff index f543ae463..4233474d4 100644 --- a/patches/base-path.diff +++ b/patches/base-path.diff @@ -174,7 +174,7 @@ Index: code-server/lib/vscode/src/vs/server/node/webClientServer.ts + `script-src 'self' 'unsafe-eval' ${this._getScriptCspHashes(data).join(' ')} 'sha256-fh3TwPMflhsEIpR8g1OYTIMVWhXTLcjQ9kh2tIpmv54=';`, // the sha is the same as in src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html 'child-src \'self\';', `frame-src 'self' https://*.vscode-cdn.net data:;`, - 'worker-src \'self\' data:;', + 'worker-src \'self\' data: blob:;', @@ -417,3 +421,70 @@ export class WebClientServer { return void res.end(data); } @@ -250,7 +250,7 @@ Index: code-server/lib/vscode/src/vs/base/common/product.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/base/common/product.ts +++ code-server/lib/vscode/src/vs/base/common/product.ts -@@ -32,6 +32,7 @@ export type ExtensionVirtualWorkspaceSup +@@ -33,6 +33,7 @@ export type ExtensionVirtualWorkspaceSup export interface IProductConfiguration { readonly codeServerVersion?: string @@ -290,7 +290,7 @@ Index: code-server/lib/vscode/src/vs/platform/extensionResourceLoader/common/ext -import { RemoteAuthorities } from 'vs/base/common/network'; import { getRemoteServerRootPath } from 'vs/platform/remote/common/remoteHosts'; - export const WEB_EXTENSION_RESOURCE_END_POINT = 'web-extension-resource'; + const WEB_EXTENSION_RESOURCE_END_POINT = 'web-extension-resource'; @@ -75,7 +74,7 @@ export abstract class AbstractExtensionR public getExtensionGalleryResourceURL(galleryExtension: { publisher: string; name: string; version: string }, path?: string): URI | undefined { if (this._extensionGalleryResourceUrlTemplate) { diff --git a/patches/disable-downloads.diff b/patches/disable-downloads.diff index bbd9fe40c..79b47f91f 100644 --- a/patches/disable-downloads.diff +++ b/patches/disable-downloads.diff @@ -12,7 +12,7 @@ Index: code-server/lib/vscode/src/vs/workbench/browser/web.api.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/browser/web.api.ts +++ code-server/lib/vscode/src/vs/workbench/browser/web.api.ts -@@ -266,6 +266,11 @@ export interface IWorkbenchConstructionO +@@ -260,6 +260,11 @@ export interface IWorkbenchConstructionO */ readonly userDataPath?: string @@ -172,7 +172,7 @@ Index: code-server/lib/vscode/src/vs/workbench/common/contextkeys.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/common/contextkeys.ts +++ code-server/lib/vscode/src/vs/workbench/common/contextkeys.ts -@@ -32,6 +32,8 @@ export const IsFullscreenContext = new R +@@ -33,6 +33,8 @@ export const IsFullscreenContext = new R export const HasWebFileSystemAccess = new RawContextKey('hasWebFileSystemAccess', false, true); // Support for FileSystemAccess web APIs (https://wicg.github.io/file-system-access) diff --git a/patches/display-language.diff b/patches/display-language.diff index aed208819..796953582 100644 --- a/patches/display-language.diff +++ b/patches/display-language.diff @@ -14,12 +14,14 @@ We can remove this once upstream supports all language packs. one but is worse because it does not handle non-existent or empty files. 7. Replace some caching and Node requires because code-server does not restart when changing the language unlike native Code. +8. Make language extensions installable like normal rather than using the + special set/clear language actions. Index: code-server/lib/vscode/src/vs/server/node/serverServices.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/server/node/serverServices.ts +++ code-server/lib/vscode/src/vs/server/node/serverServices.ts -@@ -220,6 +220,9 @@ export async function setupServerService +@@ -234,6 +234,9 @@ export async function setupServerService const channel = new ExtensionManagementChannel(extensionManagementService, (ctx: RemoteAgentConnectionContext) => getUriTransformer(ctx.remoteAuthority)); socketServer.registerChannel('extensions', channel); @@ -138,7 +140,7 @@ Index: code-server/lib/vscode/src/vs/server/node/remoteLanguagePacks.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/server/node/remoteLanguagePacks.ts +++ code-server/lib/vscode/src/vs/server/node/remoteLanguagePacks.ts -@@ -30,6 +30,12 @@ export function getNLSConfiguration(lang +@@ -32,6 +32,12 @@ export function getNLSConfiguration(lang if (InternalNLSConfiguration.is(value)) { value._languagePackSupport = true; } @@ -151,7 +153,7 @@ Index: code-server/lib/vscode/src/vs/server/node/remoteLanguagePacks.ts return value; }); _cache.set(key, result); -@@ -44,3 +50,43 @@ export namespace InternalNLSConfiguratio +@@ -46,3 +52,43 @@ export namespace InternalNLSConfiguratio return candidate && typeof candidate._languagePackId === 'string'; } } @@ -248,6 +250,15 @@ Index: code-server/lib/vscode/src/vs/workbench/workbench.web.main.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/workbench.web.main.ts +++ code-server/lib/vscode/src/vs/workbench/workbench.web.main.ts +@@ -52,7 +52,7 @@ import 'vs/workbench/services/dialogs/br + import 'vs/workbench/services/host/browser/browserHostService'; + import 'vs/workbench/services/lifecycle/browser/lifecycleService'; + import 'vs/workbench/services/clipboard/browser/clipboardService'; +-import 'vs/workbench/services/localization/browser/localeService'; ++import 'vs/workbench/services/localization/electron-sandbox/localeService'; + import 'vs/workbench/services/path/browser/pathService'; + import 'vs/workbench/services/themes/browser/browserHostColorSchemeService'; + import 'vs/workbench/services/encryption/browser/encryptionService'; @@ -119,8 +119,9 @@ import 'vs/workbench/contrib/logs/browse // Explorer import 'vs/workbench/contrib/files/browser/files.web.contribution'; @@ -264,9 +275,9 @@ Index: code-server/lib/vscode/src/vs/platform/languagePacks/browser/languagePack =================================================================== --- code-server.orig/lib/vscode/src/vs/platform/languagePacks/browser/languagePacks.ts +++ code-server/lib/vscode/src/vs/platform/languagePacks/browser/languagePacks.ts -@@ -6,18 +6,24 @@ +@@ -5,18 +5,24 @@ + import { CancellationTokenSource } from 'vs/base/common/cancellation'; - import { Language } from 'vs/base/common/platform'; import { URI } from 'vs/base/common/uri'; +import { ProxyChannel } from 'vs/base/parts/ipc/common/ipc'; import { IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement'; @@ -289,8 +300,8 @@ Index: code-server/lib/vscode/src/vs/platform/languagePacks/browser/languagePack + this.languagePackService = ProxyChannel.toService(remoteAgentService.getConnection()!.getChannel('languagePacks')) } - async getBuiltInExtensionTranslationsUri(id: string): Promise { -@@ -73,6 +79,6 @@ export class WebLanguagePacksService ext + async getBuiltInExtensionTranslationsUri(id: string, language: string): Promise { +@@ -72,6 +78,6 @@ export class WebLanguagePacksService ext // Web doesn't have a concept of language packs, so we just return an empty array getInstalledLanguages(): Promise { @@ -298,11 +309,11 @@ Index: code-server/lib/vscode/src/vs/platform/languagePacks/browser/languagePack + return this.languagePackService.getInstalledLanguages() } } -Index: code-server/lib/vscode/src/vs/workbench/contrib/localization/electron-sandbox/localeService.ts +Index: code-server/lib/vscode/src/vs/workbench/services/localization/electron-sandbox/localeService.ts =================================================================== ---- code-server.orig/lib/vscode/src/vs/workbench/contrib/localization/electron-sandbox/localeService.ts -+++ code-server/lib/vscode/src/vs/workbench/contrib/localization/electron-sandbox/localeService.ts -@@ -41,7 +41,8 @@ export class NativeLocaleService impleme +--- code-server.orig/lib/vscode/src/vs/workbench/services/localization/electron-sandbox/localeService.ts ++++ code-server/lib/vscode/src/vs/workbench/services/localization/electron-sandbox/localeService.ts +@@ -51,7 +51,8 @@ class NativeLocaleService implements ILo @IProductService private readonly productService: IProductService ) { } @@ -312,7 +323,7 @@ Index: code-server/lib/vscode/src/vs/workbench/contrib/localization/electron-san try { const content = await this.textFileService.read(this.environmentService.argvResource, { encoding: 'utf8' }); -@@ -68,9 +69,6 @@ export class NativeLocaleService impleme +@@ -78,9 +79,6 @@ class NativeLocaleService implements ILo } private async writeLocaleValue(locale: string | undefined): Promise { @@ -322,3 +333,70 @@ Index: code-server/lib/vscode/src/vs/workbench/contrib/localization/electron-san await this.jsonEditingService.write(this.environmentService.argvResource, [{ path: ['locale'], value: locale }], true); return true; } +Index: code-server/lib/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +=================================================================== +--- code-server.orig/lib/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts ++++ code-server/lib/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +@@ -318,9 +318,6 @@ export abstract class AbstractInstallAct + if (this.extension.isBuiltin) { + return; + } +- if (this.extensionsWorkbenchService.canSetLanguage(this.extension)) { +- return; +- } + if (this.extension.state === ExtensionState.Uninstalled && await this.extensionsWorkbenchService.canInstall(this.extension)) { + this.enabled = this.installPreReleaseVersion ? this.extension.hasPreReleaseVersion : this.extension.hasReleaseVersion; + this.updateLabel(); +@@ -697,7 +694,7 @@ export abstract class InstallInOtherServ + } + + if (isLanguagePackExtension(this.extension.local.manifest)) { +- return true; ++ return false; + } + + // Prefers to run on UI +@@ -1785,17 +1782,6 @@ export class SetLanguageAction extends E + update(): void { + this.enabled = false; + this.class = SetLanguageAction.DisabledClass; +- if (!this.extension) { +- return; +- } +- if (!this.extensionsWorkbenchService.canSetLanguage(this.extension)) { +- return; +- } +- if (this.extension.gallery && language === getLocale(this.extension.gallery)) { +- return; +- } +- this.enabled = true; +- this.class = SetLanguageAction.EnabledClass; + } + + override async run(): Promise { +@@ -1812,7 +1798,6 @@ export class ClearLanguageAction extends + private static readonly DisabledClass = `${ClearLanguageAction.EnabledClass} disabled`; + + constructor( +- @IExtensionsWorkbenchService private readonly extensionsWorkbenchService: IExtensionsWorkbenchService, + @ILocaleService private readonly localeService: ILocaleService, + ) { + super(ClearLanguageAction.ID, ClearLanguageAction.TITLE.value, ClearLanguageAction.DisabledClass, false); +@@ -1822,17 +1807,6 @@ export class ClearLanguageAction extends + update(): void { + this.enabled = false; + this.class = ClearLanguageAction.DisabledClass; +- if (!this.extension) { +- return; +- } +- if (!this.extensionsWorkbenchService.canSetLanguage(this.extension)) { +- return; +- } +- if (this.extension.gallery && language !== getLocale(this.extension.gallery)) { +- return; +- } +- this.enabled = true; +- this.class = ClearLanguageAction.EnabledClass; + } + + override async run(): Promise { diff --git a/patches/getting-started.diff b/patches/getting-started.diff index 4f1d845f3..635fdd81f 100644 --- a/patches/getting-started.diff +++ b/patches/getting-started.diff @@ -143,7 +143,7 @@ Index: code-server/lib/vscode/src/vs/workbench/browser/web.api.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/browser/web.api.ts +++ code-server/lib/vscode/src/vs/workbench/browser/web.api.ts -@@ -271,6 +271,11 @@ export interface IWorkbenchConstructionO +@@ -265,6 +265,11 @@ export interface IWorkbenchConstructionO */ readonly isEnabledFileDownloads?: boolean @@ -201,7 +201,7 @@ Index: code-server/lib/vscode/src/vs/server/node/serverEnvironmentService.ts 'auth'?: string 'disable-file-downloads'?: boolean; 'locale'?: string -+ 'disable-getting-started-override'?: boolean; ++ 'disable-getting-started-override'?: boolean, /* ----- server setup ----- */ @@ -242,7 +242,7 @@ Index: code-server/lib/vscode/src/vs/workbench/common/contextkeys.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/common/contextkeys.ts +++ code-server/lib/vscode/src/vs/workbench/common/contextkeys.ts -@@ -33,6 +33,7 @@ export const IsFullscreenContext = new R +@@ -34,6 +34,7 @@ export const IsFullscreenContext = new R export const HasWebFileSystemAccess = new RawContextKey('hasWebFileSystemAccess', false, true); // Support for FileSystemAccess web APIs (https://wicg.github.io/file-system-access) export const IsEnabledFileDownloads = new RawContextKey('isEnabledFileDownloads', true, true); diff --git a/patches/integration.diff b/patches/integration.diff index ed01f17a7..c39c99253 100644 --- a/patches/integration.diff +++ b/patches/integration.diff @@ -107,7 +107,7 @@ Index: code-server/lib/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandl =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts +++ code-server/lib/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts -@@ -145,8 +145,11 @@ export class BrowserDialogHandler implem +@@ -76,8 +76,11 @@ export class BrowserDialogHandler extend async about(): Promise { const detailString = (useAgo: boolean): string => { @@ -198,7 +198,7 @@ Index: code-server/lib/vscode/src/vs/base/common/product.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/base/common/product.ts +++ code-server/lib/vscode/src/vs/base/common/product.ts -@@ -31,6 +31,8 @@ export type ExtensionVirtualWorkspaceSup +@@ -32,6 +32,8 @@ export type ExtensionVirtualWorkspaceSup }; export interface IProductConfiguration { diff --git a/patches/local-storage.diff b/patches/local-storage.diff index 15f645b39..7a542d7cc 100644 --- a/patches/local-storage.diff +++ b/patches/local-storage.diff @@ -32,7 +32,7 @@ Index: code-server/lib/vscode/src/vs/workbench/browser/web.api.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/browser/web.api.ts +++ code-server/lib/vscode/src/vs/workbench/browser/web.api.ts -@@ -261,6 +261,11 @@ export interface IWorkbenchConstructionO +@@ -255,6 +255,11 @@ export interface IWorkbenchConstructionO */ readonly configurationDefaults?: Record; diff --git a/patches/logout.diff b/patches/logout.diff index ff47ebd34..75af7e6bc 100644 --- a/patches/logout.diff +++ b/patches/logout.diff @@ -8,7 +8,7 @@ Index: code-server/lib/vscode/src/vs/base/common/product.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/base/common/product.ts +++ code-server/lib/vscode/src/vs/base/common/product.ts -@@ -34,6 +34,7 @@ export interface IProductConfiguration { +@@ -35,6 +35,7 @@ export interface IProductConfiguration { readonly codeServerVersion?: string readonly rootEndpoint?: string readonly updateEndpoint?: string diff --git a/patches/marketplace.diff b/patches/marketplace.diff index 0fb72b62f..2b37fae26 100644 --- a/patches/marketplace.diff +++ b/patches/marketplace.diff @@ -75,7 +75,7 @@ Index: code-server/lib/vscode/src/vs/platform/extensionResourceLoader/common/ext import { getTelemetryLevel, supportsTelemetry } from 'vs/platform/telemetry/common/telemetryUtils'; -import { getRemoteServerRootPath } from 'vs/platform/remote/common/remoteHosts'; - export const WEB_EXTENSION_RESOURCE_END_POINT = 'web-extension-resource'; + const WEB_EXTENSION_RESOURCE_END_POINT = 'web-extension-resource'; @@ -60,7 +59,7 @@ export abstract class AbstractExtensionR private readonly _environmentService: IEnvironmentService, diff --git a/patches/proposed-api.diff b/patches/proposed-api.diff index 837708679..dd0605849 100644 --- a/patches/proposed-api.diff +++ b/patches/proposed-api.diff @@ -10,7 +10,7 @@ Index: code-server/lib/vscode/src/vs/workbench/services/extensions/common/abstra =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.ts +++ code-server/lib/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.ts -@@ -1486,7 +1486,7 @@ class ProposedApiController { +@@ -1488,7 +1488,7 @@ class ProposedApiController { this._envEnabledExtensions = new Set((_environmentService.extensionEnabledProposedApi ?? []).map(id => ExtensionIdentifier.toKey(id))); diff --git a/patches/proxy-uri.diff b/patches/proxy-uri.diff index 6adcb60e9..b2e16e5cd 100644 --- a/patches/proxy-uri.diff +++ b/patches/proxy-uri.diff @@ -30,7 +30,7 @@ Index: code-server/lib/vscode/src/vs/base/common/product.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/base/common/product.ts +++ code-server/lib/vscode/src/vs/base/common/product.ts -@@ -35,6 +35,7 @@ export interface IProductConfiguration { +@@ -36,6 +36,7 @@ export interface IProductConfiguration { readonly rootEndpoint?: string readonly updateEndpoint?: string readonly logoutEndpoint?: string diff --git a/patches/service-worker.diff b/patches/service-worker.diff index 314142676..3432da8d2 100644 --- a/patches/service-worker.diff +++ b/patches/service-worker.diff @@ -6,7 +6,7 @@ Index: code-server/lib/vscode/src/vs/base/common/product.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/base/common/product.ts +++ code-server/lib/vscode/src/vs/base/common/product.ts -@@ -36,6 +36,10 @@ export interface IProductConfiguration { +@@ -37,6 +37,10 @@ export interface IProductConfiguration { readonly updateEndpoint?: string readonly logoutEndpoint?: string readonly proxyEndpointTemplate?: string diff --git a/patches/sourcemaps.diff b/patches/sourcemaps.diff index a267d8dd7..02d491790 100644 --- a/patches/sourcemaps.diff +++ b/patches/sourcemaps.diff @@ -10,7 +10,7 @@ Index: code-server/lib/vscode/build/gulpfile.reh.js =================================================================== --- code-server.orig/lib/vscode/build/gulpfile.reh.js +++ code-server/lib/vscode/build/gulpfile.reh.js -@@ -192,8 +192,7 @@ function packageTask(type, platform, arc +@@ -191,8 +191,7 @@ function packageTask(type, platform, arc const src = gulp.src(sourceFolderName + '/**', { base: '.' }) .pipe(rename(function (path) { path.dirname = path.dirname.replace(new RegExp('^' + sourceFolderName), 'out'); })) @@ -20,7 +20,7 @@ Index: code-server/lib/vscode/build/gulpfile.reh.js const workspaceExtensionPoints = ['debuggers', 'jsonValidation']; const isUIExtension = (manifest) => { -@@ -232,9 +231,9 @@ function packageTask(type, platform, arc +@@ -231,9 +230,9 @@ function packageTask(type, platform, arc .map(name => `.build/extensions/${name}/**`); const extensions = gulp.src(extensionPaths, { base: '.build', dot: true }); @@ -32,7 +32,7 @@ Index: code-server/lib/vscode/build/gulpfile.reh.js let version = packageJson.version; const quality = product.quality; -@@ -389,7 +388,7 @@ function tweakProductForServerWeb(produc +@@ -388,7 +387,7 @@ function tweakProductForServerWeb(produc const minifyTask = task.define(`minify-vscode-${type}`, task.series( optimizeTask, util.rimraf(`out-vscode-${type}-min`), diff --git a/patches/telemetry.diff b/patches/telemetry.diff index 63cbcac98..a24b56680 100644 --- a/patches/telemetry.diff +++ b/patches/telemetry.diff @@ -20,8 +20,8 @@ Index: code-server/lib/vscode/src/vs/server/node/serverServices.ts import { NullPolicyService } from 'vs/platform/policy/common/policy'; import { OneDataSystemAppender } from 'vs/platform/telemetry/node/1dsAppender'; import { LoggerService } from 'vs/platform/log/node/loggerService'; -@@ -142,10 +143,13 @@ export async function setupServerService - const machineId = await getMachineId(); +@@ -151,10 +152,13 @@ export async function setupServerService + let oneDsAppender: ITelemetryAppender = NullAppender; const isInternal = isInternalTelemetry(productService, configurationService); if (supportsTelemetry(productService, environmentService)) { - if (productService.aiConfig && productService.aiConfig.ariaKey) { diff --git a/patches/update-check.diff b/patches/update-check.diff index c3cc59b45..5ee8d05d6 100644 --- a/patches/update-check.diff +++ b/patches/update-check.diff @@ -93,7 +93,7 @@ Index: code-server/lib/vscode/src/vs/base/common/product.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/base/common/product.ts +++ code-server/lib/vscode/src/vs/base/common/product.ts -@@ -33,6 +33,7 @@ export type ExtensionVirtualWorkspaceSup +@@ -34,6 +34,7 @@ export type ExtensionVirtualWorkspaceSup export interface IProductConfiguration { readonly codeServerVersion?: string readonly rootEndpoint?: string diff --git a/patches/webview.diff b/patches/webview.diff index b7c3488b2..64791c8ff 100644 --- a/patches/webview.diff +++ b/patches/webview.diff @@ -62,15 +62,6 @@ Index: code-server/lib/vscode/src/vs/server/node/webClientServer.ts _wrapWebWorkerExtHostInIframe, developmentOptions: { enableSmokeTestDriver: this._environmentService.args['enable-smoke-test-driver'] ? true : undefined, logLevel: this._logService.getLevel() }, settingsSyncOptions: !this._environmentService.isBuilt && this._environmentService.args['enable-sync'] ? { enabled: true } : undefined, -@@ -344,7 +345,7 @@ export class WebClientServer { - `script-src 'self' 'unsafe-eval' ${this._getScriptCspHashes(data).join(' ')} 'sha256-fh3TwPMflhsEIpR8g1OYTIMVWhXTLcjQ9kh2tIpmv54=';`, // the sha is the same as in src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html - 'child-src \'self\';', - `frame-src 'self' https://*.vscode-cdn.net data:;`, -- 'worker-src \'self\' data:;', -+ 'worker-src \'self\' data: blob:;', - 'style-src \'self\' \'unsafe-inline\';', - 'connect-src \'self\' ws: wss: https:;', - 'font-src \'self\' blob:;', Index: code-server/lib/vscode/src/vs/workbench/contrib/webview/browser/pre/index.html =================================================================== --- code-server.orig/lib/vscode/src/vs/workbench/contrib/webview/browser/pre/index.html