From 5a177832111edde18e2465daa01fbcd751b3cac3 Mon Sep 17 00:00:00 2001 From: Olivier Benz Date: Wed, 15 Apr 2026 13:52:19 +0200 Subject: [PATCH 1/4] Update Code to 1.116.0 --- lib/vscode | 2 +- patches/disable-builtin-ext-update.diff | 2 +- patches/display-language.diff | 6 +++--- patches/sourcemaps.diff | 2 +- patches/update-check.diff | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/vscode b/lib/vscode index 41dd792b5e65..560a9dba96f9 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 3a4e21bb5c88..20af3023a47c 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 ea28cf3f2529..d8e9c238a647 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 d1f477dfdfbe..43db8d208b49 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 56d5aa38a26d..372719a8e201 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[]; From 9870b3e0865d7ee587de0064c51e7da985d56b8d Mon Sep 17 00:00:00 2001 From: Asher Date: Wed, 15 Apr 2026 13:13:40 -0800 Subject: [PATCH 2/4] Add copilot extension build Seems the vscode build requires this separately now. --- ci/build/build-vscode.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh index fba95b31f7ef..7f4a14f0730d 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" From c17296bd610a36e5cf585f086a24985652e8e8a2 Mon Sep 17 00:00:00 2001 From: Asher Date: Wed, 15 Apr 2026 14:23:58 -0800 Subject: [PATCH 3/4] 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, see if disabling the features makes it go away. --- test/e2e/models/CodeServer.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/e2e/models/CodeServer.ts b/test/e2e/models/CodeServer.ts index d7f9a176c94a..81588785c2f1 100644 --- a/test/e2e/models/CodeServer.ts +++ b/test/e2e/models/CodeServer.ts @@ -82,6 +82,9 @@ export class CodeServer { path.join(dir, "Machine/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", ) From 991666b3c6f7515ee5f3a08706eeed7071da10be Mon Sep 17 00:00:00 2001 From: Asher Date: Wed, 15 Apr 2026 14:49:58 -0800 Subject: [PATCH 4/4] Does it need to be user settings? The welcome page setting did not seem to work. --- test/e2e/models/CodeServer.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/e2e/models/CodeServer.ts b/test/e2e/models/CodeServer.ts index 81588785c2f1..4017445db752 100644 --- a/test/e2e/models/CodeServer.ts +++ b/test/e2e/models/CodeServer.ts @@ -77,9 +77,9 @@ 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