From 8d9a44a024f6390cf440f40149f310a5a9ec007c Mon Sep 17 00:00:00 2001 From: Olivier Benz Date: Thu, 26 Mar 2026 20:39:40 +0100 Subject: [PATCH] Update Code to 1.113.0 (#7716) * Update Code to 1.113.0 * Use CI build targets The target we have been using has started throwing all sorts of errors during the build (even without any of our patches). After checking the VS Code repo I think these are the ones we should actually be using. They are way faster, too. --------- Co-authored-by: Asher --- .node-version | 2 +- ci/build/build-vscode.sh | 5 ++-- lib/vscode | 2 +- patches/clipboard.diff | 4 ++-- patches/display-language.diff | 4 ++-- patches/external-file-actions.diff | 6 ++--- patches/fix-build.diff | 38 ------------------------------ patches/getting-started.diff | 2 +- patches/logout.diff | 2 +- patches/proposed-api.diff | 2 +- patches/series | 1 - patches/sourcemaps.diff | 6 ++--- patches/telemetry.diff | 2 +- patches/trusted-domains.diff | 2 +- patches/update-check.diff | 4 ++-- 15 files changed, 21 insertions(+), 61 deletions(-) delete mode 100644 patches/fix-build.diff diff --git a/.node-version b/.node-version index 85e502778..32a2d7bd8 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -22.22.0 +22.22.1 diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh index f037fac3a..8bfee50a8 100755 --- a/ci/build/build-vscode.sh +++ b/ci/build/build-vscode.sh @@ -112,9 +112,8 @@ EOF # this because we have an NPM package that could be installed on any platform. # The correct platform dependencies and scripts will be installed as part of # the post-install during `npm install` or when building a standalone release. - node --max-old-space-size=16384 --optimize-for-size \ - ./node_modules/gulp/bin/gulp.js \ - "vscode-reh-web-linux-x64${MINIFY:+-min}" + npm run gulp core-ci + npm run gulp "vscode-reh-web-linux-x64${MINIFY:+-min}-ci" # Reset so if you develop after building you will not be stuck with the wrong # commit (the dev client will use `oss-dev` but the dev server will still use diff --git a/lib/vscode b/lib/vscode index 07ff9d617..cfbea10c5 160000 --- a/lib/vscode +++ b/lib/vscode @@ -1 +1 @@ -Subproject commit 07ff9d6178ede9a1bd12ad3399074d726ebe6e43 +Subproject commit cfbea10c5ffb233ea9177d34726e6056e89913dc diff --git a/patches/clipboard.diff b/patches/clipboard.diff index fe34b3cb8..0a2a637f7 100644 --- a/patches/clipboard.diff +++ b/patches/clipboard.diff @@ -78,7 +78,7 @@ Index: code-server/lib/vscode/src/vs/platform/environment/common/argv.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/platform/environment/common/argv.ts +++ code-server/lib/vscode/src/vs/platform/environment/common/argv.ts -@@ -139,6 +139,7 @@ export interface NativeParsedArgs { +@@ -143,6 +143,7 @@ export interface NativeParsedArgs { 'disable-chromium-sandbox'?: boolean; sandbox?: boolean; 'enable-coi'?: boolean; @@ -90,7 +90,7 @@ Index: code-server/lib/vscode/src/vs/platform/environment/node/argv.ts =================================================================== --- code-server.orig/lib/vscode/src/vs/platform/environment/node/argv.ts +++ code-server/lib/vscode/src/vs/platform/environment/node/argv.ts -@@ -106,6 +106,7 @@ export const OPTIONS: OptionDescriptions +@@ -115,6 +115,7 @@ export const OPTIONS: OptionDescriptions 'user-data-dir': { type: 'string', cat: 'o', args: 'dir', description: localize('userDataDir', "Specifies the directory that user data is kept in. Can be used to open multiple distinct instances of Code.") }, 'profile': { type: 'string', 'cat': 'o', args: 'profileName', description: localize('profileName', "Opens the provided folder or workspace with the given profile and associates the profile with the workspace. If the profile does not exist, a new empty one is created.") }, 'help': { type: 'boolean', cat: 'o', alias: 'h', description: localize('help', "Print usage.") }, diff --git a/patches/display-language.diff b/patches/display-language.diff index 0a6a41e36..1ea7bded1 100644 --- a/patches/display-language.diff +++ b/patches/display-language.diff @@ -18,7 +18,7 @@ Index: code-server/lib/vscode/src/vs/server/node/serverServices.ts import { ProtocolConstants } from '../../base/parts/ipc/common/ipc.net.js'; import { IConfigurationService } from '../../platform/configuration/common/configuration.js'; import { ConfigurationService } from '../../platform/configuration/common/configurationService.js'; -@@ -277,6 +277,9 @@ export async function setupServerService +@@ -297,6 +297,9 @@ export async function setupServerService socketServer.registerChannel('mcpManagement', new McpManagementChannel(mcpManagementService, (ctx: RemoteAgentConnectionContext) => getUriTransformer(ctx.remoteAuthority))); @@ -198,7 +198,7 @@ Index: code-server/lib/vscode/src/vs/server/node/serverEnvironmentService.ts /* ----- server setup ----- */ -@@ -113,6 +114,7 @@ export interface ServerParsedArgs { +@@ -116,6 +117,7 @@ export interface ServerParsedArgs { 'disable-file-downloads'?: boolean; 'disable-file-uploads'?: boolean; 'disable-getting-started-override'?: boolean, diff --git a/patches/external-file-actions.diff b/patches/external-file-actions.diff index 942c72d87..6a2484ed3 100644 --- a/patches/external-file-actions.diff +++ b/patches/external-file-actions.diff @@ -99,7 +99,7 @@ Index: code-server/lib/vscode/src/vs/server/node/serverEnvironmentService.ts /* ----- server setup ----- */ -@@ -107,6 +109,8 @@ export interface ServerParsedArgs { +@@ -110,6 +112,8 @@ export interface ServerParsedArgs { /* ----- code-server ----- */ 'disable-update-check'?: boolean; 'auth'?: string; @@ -230,7 +230,7 @@ Index: code-server/lib/vscode/src/vs/workbench/services/dialogs/browser/simpleFi import { IRemoteAgentService } from '../../remote/common/remoteAgentService.js'; import { IContextKeyService, IContextKey, RawContextKey } from '../../../../platform/contextkey/common/contextkey.js'; import { equalsIgnoreCase, format, startsWithIgnoreCase } from '../../../../base/common/strings.js'; -@@ -144,7 +144,7 @@ export class SimpleFileDialog extends Di +@@ -152,7 +152,7 @@ export class SimpleFileDialog extends Di @IFileDialogService private readonly fileDialogService: IFileDialogService, @IModelService private readonly modelService: IModelService, @ILanguageService private readonly languageService: ILanguageService, @@ -239,7 +239,7 @@ Index: code-server/lib/vscode/src/vs/workbench/services/dialogs/browser/simpleFi @IRemoteAgentService private readonly remoteAgentService: IRemoteAgentService, @IPathService protected readonly pathService: IPathService, @IKeybindingService private readonly keybindingService: IKeybindingService, -@@ -322,21 +322,23 @@ export class SimpleFileDialog extends Di +@@ -362,21 +362,23 @@ export class SimpleFileDialog extends Di this.filePickBox.placeholder = nls.localize('remoteFileDialog.placeholder', "Folder path"); this.filePickBox.ok = true; this.filePickBox.okLabel = typeof this.options.openLabel === 'string' ? this.options.openLabel : this.options.openLabel?.withoutMnemonic; diff --git a/patches/fix-build.diff b/patches/fix-build.diff deleted file mode 100644 index 54f4f0e4f..000000000 --- a/patches/fix-build.diff +++ /dev/null @@ -1,38 +0,0 @@ -Fix protected field error - -The mangler is reporting this error: - -WARN: 'setEditorVisible' from lib/vscode/src/vs/workbench/browser/parts/editor/editorPane.ts:160 became PUBLIC because of: lib/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.ts:304 -ERROR: Protected fields have been made PUBLIC. This hurts minification and is therefore not allowed. Review the WARN messages further above - -No idea how VS Code is dealing with this in their own builds. - -Additionally, in CI the build keeps getting terminated, possibly from running -out of memory (there is no error message, it simply says it was canceled). - -Index: code-server/lib/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.ts -=================================================================== ---- code-server.orig/lib/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.ts -+++ code-server/lib/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.ts -@@ -299,7 +299,7 @@ export class ChatDebugEditor extends Edi - } - } - -- override setEditorVisible(visible: boolean): void { -+ protected override setEditorVisible(visible: boolean): void { - super.setEditorVisible(visible); - if (visible) { - this.telemetryService.publicLog2<{}, ChatDebugPanelOpenedClassification>('chatDebugPanelOpened'); -Index: code-server/lib/vscode/build/lib/mangle/index.ts -=================================================================== ---- code-server.orig/lib/vscode/build/lib/mangle/index.ts -+++ code-server/lib/vscode/build/lib/mangle/index.ts -@@ -430,7 +430,7 @@ export class Mangler { - this.config = config; - - this.renameWorkerPool = workerpool.pool(path.join(import.meta.dirname, 'renameWorker.ts'), { -- maxWorkers: 4, -+ maxWorkers: 2, - minWorkers: 'max' - }); - } diff --git a/patches/getting-started.diff b/patches/getting-started.diff index f87ca41dc..41f95b60c 100644 --- a/patches/getting-started.diff +++ b/patches/getting-started.diff @@ -189,7 +189,7 @@ Index: code-server/lib/vscode/src/vs/server/node/serverEnvironmentService.ts /* ----- server setup ----- */ -@@ -111,6 +112,7 @@ export interface ServerParsedArgs { +@@ -114,6 +115,7 @@ export interface ServerParsedArgs { 'auth'?: string; 'disable-file-downloads'?: boolean; 'disable-file-uploads'?: boolean; diff --git a/patches/logout.diff b/patches/logout.diff index 6394f8b95..885d30985 100644 --- a/patches/logout.diff +++ b/patches/logout.diff @@ -28,7 +28,7 @@ Index: code-server/lib/vscode/src/vs/server/node/serverEnvironmentService.ts /* ----- server setup ----- */ -@@ -105,6 +106,7 @@ export const serverOptions: OptionDescri +@@ -108,6 +109,7 @@ export const serverOptions: OptionDescri export interface ServerParsedArgs { /* ----- code-server ----- */ 'disable-update-check'?: boolean; diff --git a/patches/proposed-api.diff b/patches/proposed-api.diff index ccd274634..daf7169f1 100644 --- a/patches/proposed-api.diff +++ b/patches/proposed-api.diff @@ -17,7 +17,7 @@ Index: code-server/lib/vscode/src/vs/workbench/services/extensions/common/extens - if (!extension.enabledApiProposals) { - return false; - } -- return extension.enabledApiProposals.includes(proposal); +- return true;// extension.enabledApiProposals.includes(proposal); + return true } diff --git a/patches/series b/patches/series index 8c7566491..ffc15fdd9 100644 --- a/patches/series +++ b/patches/series @@ -22,4 +22,3 @@ clipboard.diff display-language.diff trusted-domains.diff signature-verification.diff -fix-build.diff diff --git a/patches/sourcemaps.diff b/patches/sourcemaps.diff index 44e06d3be..d1f477dfd 100644 --- a/patches/sourcemaps.diff +++ b/patches/sourcemaps.diff @@ -10,7 +10,7 @@ Index: code-server/lib/vscode/build/gulpfile.reh.ts =================================================================== --- code-server.orig/lib/vscode/build/gulpfile.reh.ts +++ code-server/lib/vscode/build/gulpfile.reh.ts -@@ -262,8 +262,7 @@ function packageTask(type: string, platf +@@ -263,8 +263,7 @@ function packageTask(type: string, platf return () => { 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.ts const workspaceExtensionPoints = ['debuggers', 'jsonValidation']; const isUIExtension = (manifest: { extensionKind?: string; main?: string; contributes?: Record }) => { -@@ -303,9 +302,9 @@ function packageTask(type: string, platf +@@ -304,9 +303,9 @@ function packageTask(type: string, platf .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.ts let version = packageJson.version; const quality = (product as typeof product & { quality?: string }).quality; -@@ -492,7 +491,7 @@ function tweakProductForServerWeb(produc +@@ -501,7 +500,7 @@ function tweakProductForServerWeb(produc const minifyTask = task.define(`minify-vscode-${type}`, task.series( bundleTask, util.rimraf(`out-vscode-${type}-min`), diff --git a/patches/telemetry.diff b/patches/telemetry.diff index 638fbff85..c87d1d528 100644 --- a/patches/telemetry.diff +++ b/patches/telemetry.diff @@ -28,7 +28,7 @@ Index: code-server/lib/vscode/src/vs/server/node/serverServices.ts import { NullPolicyService } from '../../platform/policy/common/policy.js'; import { OneDataSystemAppender } from '../../platform/telemetry/node/1dsAppender.js'; import { LoggerService } from '../../platform/log/node/loggerService.js'; -@@ -169,11 +171,23 @@ export async function setupServerService +@@ -172,11 +174,23 @@ export async function setupServerService const requestService = new RequestService('remote', configurationService, environmentService, logService); services.set(IRequestService, requestService); diff --git a/patches/trusted-domains.diff b/patches/trusted-domains.diff index f0eea1436..bdb4d0217 100644 --- a/patches/trusted-domains.diff +++ b/patches/trusted-domains.diff @@ -12,7 +12,7 @@ Index: code-server/lib/vscode/src/vs/server/node/serverEnvironmentService.ts /* ----- server setup ----- */ -@@ -115,6 +116,7 @@ export interface ServerParsedArgs { +@@ -118,6 +119,7 @@ export interface ServerParsedArgs { 'disable-file-uploads'?: boolean; 'disable-getting-started-override'?: boolean, 'locale'?: string diff --git a/patches/update-check.diff b/patches/update-check.diff index 6e942daeb..cff407ab7 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; -@@ -114,6 +115,7 @@ export interface IProductConfiguration { +@@ -115,6 +116,7 @@ export interface IProductConfiguration { readonly resourceUrlTemplate: string; readonly nlsBaseUrl: string; readonly accessSKUs?: string[]; @@ -134,7 +134,7 @@ Index: code-server/lib/vscode/src/vs/server/node/serverEnvironmentService.ts /* ----- server setup ----- */ -@@ -101,6 +103,8 @@ export const serverOptions: OptionDescri +@@ -104,6 +106,8 @@ export const serverOptions: OptionDescri }; export interface ServerParsedArgs {