From 7cc2270228c0b11f16c9caa7773430056f679274 Mon Sep 17 00:00:00 2001 From: Olivier Benz Date: Thu, 16 Apr 2026 01:05:17 +0200 Subject: [PATCH] Update Code to 1.116.0 (#7754) * Update Code to 1.116.0 * Add copilot extension build Seems the vscode build requires this separately now. * Disable welcome popup A giant modal window asking you to sign in for AI features is blocking the tests. Rather than have to click through it, disable it. It looks like this has to be a user setting, so switch to that instead of machine (we used machine because user settings were in the browser, but they have been since moved back to disk). --------- Co-authored-by: Asher --- ci/build/build-vscode.sh | 3 +++ lib/vscode | 2 +- patches/disable-builtin-ext-update.diff | 2 +- patches/display-language.diff | 6 +++--- patches/sourcemaps.diff | 2 +- patches/update-check.diff | 2 +- test/e2e/models/CodeServer.ts | 7 +++++-- 7 files changed, 15 insertions(+), 9 deletions(-) diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh index fba95b31f..7f4a14f07 100755 --- a/ci/build/build-vscode.sh +++ b/ci/build/build-vscode.sh @@ -107,6 +107,9 @@ main() { EOF ) > product.json + + VSCODE_QUALITY=stable npm run gulp compile-copilot-extension-build + npm run gulp core-ci npm run gulp "vscode-reh-web-$VSCODE_TARGET${MINIFY:+-min}-ci" diff --git a/lib/vscode b/lib/vscode index 41dd792b5..560a9dba9 160000 --- a/lib/vscode +++ b/lib/vscode @@ -1 +1 @@ -Subproject commit 41dd792b5e652393e7787322889ed5fdc58bd75b +Subproject commit 560a9dba96f961efea7b1612916f89e5d5d4d679 diff --git a/patches/disable-builtin-ext-update.diff b/patches/disable-builtin-ext-update.diff index 3a4e21bb5..20af3023a 100644 --- a/patches/disable-builtin-ext-update.diff +++ b/patches/disable-builtin-ext-update.diff @@ -8,7 +8,7 @@ Index: code-server/lib/vscode/src/vs/workbench/contrib/extensions/browser/extens --- code-server.orig/lib/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts +++ code-server/lib/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts @@ -342,6 +342,10 @@ export class Extension implements IExten - if (this.type === ExtensionType.System && this.productService.quality === 'stable') { + if (this.type === ExtensionType.System && this.productService.quality === 'stable' && !this.productService.builtInExtensionsEnabledWithAutoUpdates?.some(id => id.toLowerCase() === this.identifier.id.toLowerCase())) { return false; } + // Do not update builtin extensions. diff --git a/patches/display-language.diff b/patches/display-language.diff index ea28cf3f2..d8e9c238a 100644 --- a/patches/display-language.diff +++ b/patches/display-language.diff @@ -291,7 +291,7 @@ Index: code-server/lib/vscode/src/vs/workbench/contrib/extensions/browser/extens } // Prefers to run on UI -@@ -2072,17 +2069,6 @@ export class SetLanguageAction extends E +@@ -2242,17 +2239,6 @@ export class SetLanguageAction extends E update(): void { this.enabled = false; this.class = SetLanguageAction.DisabledClass; @@ -309,7 +309,7 @@ Index: code-server/lib/vscode/src/vs/workbench/contrib/extensions/browser/extens } override async run(): Promise { -@@ -2099,7 +2085,6 @@ export class ClearLanguageAction extends +@@ -2269,7 +2255,6 @@ export class ClearLanguageAction extends private static readonly DisabledClass = `${this.EnabledClass} disabled`; constructor( @@ -317,7 +317,7 @@ Index: code-server/lib/vscode/src/vs/workbench/contrib/extensions/browser/extens @ILocaleService private readonly localeService: ILocaleService, ) { super(ClearLanguageAction.ID, ClearLanguageAction.TITLE.value, ClearLanguageAction.DisabledClass, false); -@@ -2109,17 +2094,6 @@ export class ClearLanguageAction extends +@@ -2279,17 +2264,6 @@ export class ClearLanguageAction extends update(): void { this.enabled = false; this.class = ClearLanguageAction.DisabledClass; diff --git a/patches/sourcemaps.diff b/patches/sourcemaps.diff index d1f477dfd..43db8d208 100644 --- a/patches/sourcemaps.diff +++ b/patches/sourcemaps.diff @@ -32,7 +32,7 @@ Index: code-server/lib/vscode/build/gulpfile.reh.ts let version = packageJson.version; const quality = (product as typeof product & { quality?: string }).quality; -@@ -501,7 +500,7 @@ function tweakProductForServerWeb(produc +@@ -505,7 +504,7 @@ function tweakProductForServerWeb(produc const minifyTask = task.define(`minify-vscode-${type}`, task.series( bundleTask, util.rimraf(`out-vscode-${type}-min`), diff --git a/patches/update-check.diff b/patches/update-check.diff index 56d5aa38a..372719a8e 100644 --- a/patches/update-check.diff +++ b/patches/update-check.diff @@ -101,7 +101,7 @@ Index: code-server/lib/vscode/src/vs/base/common/product.ts readonly version: string; readonly date?: string; -@@ -117,6 +118,7 @@ export interface IProductConfiguration { +@@ -118,6 +119,7 @@ export interface IProductConfiguration { readonly resourceUrlTemplate: string; readonly nlsBaseUrl: string; readonly accessSKUs?: string[]; diff --git a/test/e2e/models/CodeServer.ts b/test/e2e/models/CodeServer.ts index d7f9a176c..4017445db 100644 --- a/test/e2e/models/CodeServer.ts +++ b/test/e2e/models/CodeServer.ts @@ -77,11 +77,14 @@ export class CodeServer { */ private async createWorkspace(): Promise { const dir = await this.workspaceDir - await fs.mkdir(path.join(dir, "Machine"), { recursive: true }) + await fs.mkdir(path.join(dir, "User"), { recursive: true }) await fs.writeFile( - path.join(dir, "Machine/settings.json"), + path.join(dir, "User/settings.json"), JSON.stringify({ "workbench.startupEditor": "none", + // Disable the welcome popup so we can avoid having to click through it + // on every test. + "workbench.welcomePage.experimentalOnboarding": false, }), "utf8", )