From 47e2863d9e9795712dba2bb9230d64a3a5efbc7e Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Sun, 8 Feb 2026 19:20:15 +0100 Subject: [PATCH] feat(1.109): update patches (#2688) --- patches/brand.patch | 165 +++--- patches/cli.patch | 12 +- patches/disable-copilot.patch | 51 +- patches/fix-keymap.patch | 48 +- patches/fix-policies.patch | 38 +- patches/linux/arch-0-support.patch | 16 +- patches/linux/fix-build.patch | 535 ++++++++++-------- patches/version-1-update.patch | 114 ++-- ...h => disable-versioned-resources.patch.no} | 0 prepare_vscode.sh | 12 +- product.json | 32 +- upstream/insider.json | 4 +- 12 files changed, 534 insertions(+), 493 deletions(-) rename patches/windows/{disable-versioned-resources.patch => disable-versioned-resources.patch.no} (100%) diff --git a/patches/brand.patch b/patches/brand.patch index d21e506..2df46f0 100644 --- a/patches/brand.patch +++ b/patches/brand.patch @@ -62,48 +62,46 @@ index 1be4d0e..647b147 100644 -export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as VS Code generates these automatically from your package.json contribution declarations."); +export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as !!APP_NAME!! generates these automatically from your package.json contribution declarations."); diff --git a/extensions/extension-editing/src/extensionLinter.ts b/extensions/extension-editing/src/extensionLinter.ts -index 187100b..7514367 100644 +index 5c73304..3294fd8 100644 --- a/extensions/extension-editing/src/extensionLinter.ts +++ b/extensions/extension-editing/src/extensionLinter.ts -@@ -34,4 +34,4 @@ const relativeUrlRequiresHttpsRepository = l10n.t("Relative image URLs require a +@@ -34,3 +34,3 @@ const relativeUrlRequiresHttpsRepository = l10n.t("Relative image URLs require a const relativeBadgeUrlRequiresHttpsRepository = l10n.t("Relative badge URLs require a repository with HTTPS protocol to be specified in this package.json."); -const apiProposalNotListed = l10n.t("This proposal cannot be used because for this extension the product defines a fixed set of API proposals. You can test your extension but before publishing you MUST reach out to the VS Code team."); --const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75.0 as VS Code will generate these automatically from your package.json contribution declarations."); +const apiProposalNotListed = l10n.t("This proposal cannot be used because for this extension the product defines a fixed set of API proposals. You can test your extension but before publishing you MUST reach out to the !!APP_NAME!! team."); -+const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75.0 as !!APP_NAME!! will generate these automatically from your package.json contribution declarations."); - const starActivation = l10n.t("Using '*' activation is usually a bad idea as it impacts performance."); + diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json -index c883415..b3552db 100644 +index 94a1f61..c0ac9ea 100644 --- a/extensions/git/package.nls.json +++ b/extensions/git/package.nls.json -@@ -247,3 +247,3 @@ +@@ -250,3 +250,3 @@ "{Locked='](command:git.showOutput'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -275,4 +275,4 @@ +@@ -278,4 +278,4 @@ "config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.", - "config.terminalAuthentication": "Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", - "config.terminalGitEditor": "Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalAuthentication": "Controls whether to enable !!APP_NAME!! to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.", + "config.terminalGitEditor": "Controls whether to enable !!APP_NAME!! to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.", "config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.", -@@ -346,3 +346,3 @@ +@@ -349,3 +349,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -356,3 +356,3 @@ +@@ -359,3 +359,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -366,3 +366,3 @@ +@@ -369,3 +369,3 @@ "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -378,6 +378,6 @@ +@@ -381,6 +381,6 @@ "view.workbench.scm.disabled": { - "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -112,7 +110,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -386,6 +386,6 @@ +@@ -389,6 +389,6 @@ "view.workbench.scm.empty": { - "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -121,7 +119,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -394,6 +394,6 @@ +@@ -397,6 +397,6 @@ "view.workbench.scm.folder": { - "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -130,7 +128,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -402,6 +402,6 @@ +@@ -405,6 +405,6 @@ "view.workbench.scm.workspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -139,7 +137,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -410,6 +410,6 @@ +@@ -413,6 +413,6 @@ "view.workbench.scm.emptyWorkspace": { - "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -148,27 +146,27 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -428,3 +428,3 @@ +@@ -431,3 +431,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -437,3 +437,3 @@ +@@ -440,3 +440,3 @@ "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -445,3 +445,3 @@ +@@ -448,3 +448,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -453,3 +453,3 @@ +@@ -456,3 +456,3 @@ "{Locked='](command:git.manageUnsafeRepositories'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -458,6 +458,6 @@ +@@ -461,6 +461,6 @@ "view.workbench.scm.closedRepository": { - "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -177,7 +175,7 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -466,6 +466,6 @@ +@@ -469,6 +469,6 @@ "view.workbench.scm.closedRepositories": { - "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).", + "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).", @@ -186,12 +184,12 @@ index c883415..b3552db 100644 - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -477,3 +477,3 @@ +@@ -480,3 +480,3 @@ "{Locked='](command:git.clone'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" -@@ -481,3 +481,3 @@ +@@ -484,3 +484,3 @@ }, - "view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)." + "view.workbench.learnMore": "To learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm)." @@ -275,7 +273,7 @@ index e82030e..ac999f6 100644 + "displayName": "Jake support for !!APP_NAME!!", "jake.taskDefinition.type.description": "The Jake task to customize.", diff --git a/extensions/json-language-features/package.nls.json b/extensions/json-language-features/package.nls.json -index abc07c9..2a6de09 100644 +index 9052d37..f505551 100644 --- a/extensions/json-language-features/package.nls.json +++ b/extensions/json-language-features/package.nls.json @@ -11,3 +11,3 @@ @@ -361,7 +359,7 @@ index a8bbe5d..00694dc 100644 + "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks !!APP_NAME!! / Atom, see https://github.com/textmate/swift.tmbundle/issues/29", "name": "support.variable.swift", diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json -index fb28b2a..788780a 100644 +index e01e4de..1797d03 100644 --- a/extensions/typescript-language-features/package.nls.json +++ b/extensions/typescript-language-features/package.nls.json @@ -82,4 +82,4 @@ @@ -452,7 +450,7 @@ index 207698d..9948527 100644 + vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList)); } else { diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json -index 3f586a8..ece1d67 100644 +index c3c08b1..d0f4d3d 100644 --- a/extensions/vscode-api-tests/package.json +++ b/extensions/vscode-api-tests/package.json @@ -2,3 +2,3 @@ @@ -539,15 +537,15 @@ index 74d25c6..878e228 100644 + progress.report({ message: 'Installing !!APP_NAME!! Server' }); serverLocation = await downloadAndUnzipVSCodeServer(updateUrl, commit, quality, serverBin, m => outputChannel.appendLine(m)); diff --git a/src/main.ts b/src/main.ts -index ec2e45c..8d89e2b 100644 +index ecbbb16..a61b2d3 100644 --- a/src/main.ts +++ b/src/main.ts -@@ -412,3 +412,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -416,3 +416,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { const defaultArgvConfigContent = [ - '// This configuration file allows you to pass permanent command line arguments to VS Code.', + '// This configuration file allows you to pass permanent command line arguments to !!APP_NAME!!.', '// Only a subset of arguments is currently supported to reduce the likelihood of breaking', -@@ -418,6 +418,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { +@@ -422,6 +422,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void { '//', - '// NOTE: Changing this file requires a restart of VS Code.', + '// NOTE: Changing this file requires a restart of !!APP_NAME!!.', @@ -557,10 +555,10 @@ index ec2e45c..8d89e2b 100644 + ' // This can help in cases where you see rendering issues in !!APP_NAME!!.', ' // "disable-hardware-acceleration": true', diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts -index 43aba01..23b55ea 100644 +index a3efce9..ba6055d 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts -@@ -526,3 +526,3 @@ export class CodeApplication extends Disposable { +@@ -532,3 +532,3 @@ export class CodeApplication extends Disposable { async startup(): Promise { - this.logService.debug('Starting VS Code'); + this.logService.debug('Starting !!APP_NAME!!'); @@ -603,10 +601,10 @@ index cdf0c67..d567815 100644 + throw new Error(nls.localize('restartCode', "Please restart !!APP_NAME!! before reinstalling {0}.", this.manifest.displayName || this.manifest.name)); } diff --git a/src/vs/platform/extensions/common/extensionValidator.ts b/src/vs/platform/extensions/common/extensionValidator.ts -index 8740151..dfa35a5 100644 +index 6346b9d..77ff0f9 100644 --- a/src/vs/platform/extensions/common/extensionValidator.ts +++ b/src/vs/platform/extensions/common/extensionValidator.ts -@@ -374,5 +374,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: string[ +@@ -380,5 +380,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: string[ if (incompatibleProposals.length === 1) { - notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of VS Code.", incompatibleProposals[0])); + notices.push(nls.localize('apiProposalMismatch1', "This extension is using the API proposal '{0}' that is not compatible with the current version of !!APP_NAME!!.", incompatibleProposals[0])); @@ -642,25 +640,14 @@ index e5fb1ab..bd4740b 100644 + description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new !!APP_NAME!! versions in the background on Windows."), included: isWindows && !isWeb diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index ed8043f..ca7a4dc 100644 +index 0e63d40..5b8085e 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts -@@ -23,3 +23,3 @@ export type UpdateErrorClassification = { +@@ -33,3 +33,3 @@ export type UpdateErrorClassification = { messageHash: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The hash of the error message.' }; - comment: 'This is used to know how often VS Code updates have failed.'; + comment: 'This is used to know how often !!APP_NAME!! updates have failed.'; }; -diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts -index b78ebc5..9b0eb56 100644 ---- a/src/vs/platform/update/electron-main/updateService.darwin.ts -+++ b/src/vs/platform/update/electron-main/updateService.darwin.ts -@@ -122,4 +122,4 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau - owner: 'joaomoreno'; -- newVersion: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The version number of the new VS Code that has been downloaded.' }; -- comment: 'This is used to know how often VS Code has successfully downloaded the update.'; -+ newVersion: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The version number of the new !!APP_NAME!! that has been downloaded.' }; -+ comment: 'This is used to know how often !!APP_NAME!! has successfully downloaded the update.'; - }; diff --git a/src/vs/server/node/server.cli.ts b/src/vs/server/node/server.cli.ts index 6a0eacf..2959dad 100644 --- a/src/vs/server/node/server.cli.ts @@ -689,10 +676,10 @@ index 8337870..fdf02ac 100644 + description: localize({ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to !!APP_NAME!! through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"), type: 'string', diff --git a/src/vs/workbench/api/common/extHostApiCommands.ts b/src/vs/workbench/api/common/extHostApiCommands.ts -index 9349335..a94ff8d 100644 +index a04bbd0..202f130 100644 --- a/src/vs/workbench/api/common/extHostApiCommands.ts +++ b/src/vs/workbench/api/common/extHostApiCommands.ts -@@ -443,3 +443,3 @@ const newCommands: ApiCommand[] = [ +@@ -445,3 +445,3 @@ const newCommands: ApiCommand[] = [ ApiCommandArgument.Uri.with('resource', 'Resource to open'), - ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use VS Code\'s default text editor'), + ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use !!APP_NAME!!\'s default text editor'), @@ -718,7 +705,7 @@ index 0d71384..ae8d169 100644 + test('Opening a notebook results in !!APP_NAME!! firing the event onDidChangeActiveNotebookEditor twice #118470', function () { let count = 0; diff --git a/src/vs/workbench/browser/actions/developerActions.ts b/src/vs/workbench/browser/actions/developerActions.ts -index 1fda3db..bbadf28 100644 +index 91f52f5..dbb0ad4 100644 --- a/src/vs/workbench/browser/actions/developerActions.ts +++ b/src/vs/workbench/browser/actions/developerActions.ts @@ -688,3 +688,3 @@ class PolicyDiagnosticsAction extends Action2 { @@ -745,47 +732,47 @@ index e342f83..7c314e6 100644 + throw new Error('Unable to create the !!APP_NAME!! workbench more than once.'); } else { diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts -index dd9f46e..fa0c391 100644 +index 5ea32fb..23584f4 100644 --- a/src/vs/workbench/browser/workbench.contribution.ts +++ b/src/vs/workbench/browser/workbench.contribution.ts -@@ -731,3 +731,3 @@ const registry = Registry.as(ConfigurationExtensions.Con +@@ -748,3 +748,3 @@ const registry = Registry.as(ConfigurationExtensions.Con localize('profileName', "`${profileName}`: name of the profile in which the workspace is opened (e.g. Data Science (Profile)). Ignored if default profile is used."), - localize('appName', "`${appName}`: e.g. VS Code."), + localize('appName', "`${appName}`: e.g. !!APP_NAME!!."), localize('remoteName', "`${remoteName}`: e.g. SSH"), diff --git a/src/vs/workbench/common/contextkeys.ts b/src/vs/workbench/common/contextkeys.ts -index c0528fe..d1fd07f 100644 +index 3a27ea1..684e2c7 100644 --- a/src/vs/workbench/common/contextkeys.ts +++ b/src/vs/workbench/common/contextkeys.ts -@@ -39,3 +39,3 @@ export const EmbedderIdentifierContext = new RawContextKey(' +@@ -43,3 +43,3 @@ export const EmbedderIdentifierContext = new RawContextKey(' -export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether VS Code is running under automation/smoke test")); +export const InAutomationContext = new RawContextKey('inAutomation', false, localize('inAutomation', "Whether !!APP_NAME!! is running under automation/smoke test")); diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index fac472c..40e59c7 100644 +index d211a1d..bfb973c 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -415,3 +415,3 @@ configurationRegistry.registerConfiguration({ +@@ -467,3 +467,3 @@ configurationRegistry.registerConfiguration({ nls.localize('chat.mcp.access.none', "No access to MCP servers."), - nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), nls.localize('chat.mcp.access.any', "Allow access to any installed MCP server.") -@@ -442,3 +442,3 @@ configurationRegistry.registerConfiguration({ +@@ -494,3 +494,3 @@ configurationRegistry.registerConfiguration({ { - key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."), + key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."), }, diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts -index b7c9c49..137d77e 100644 +index 88a46ef..6efa8ab 100644 --- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts +++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts -@@ -104,3 +104,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { +@@ -115,3 +115,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { // Register VSCode agent -- const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, undefined, context, controller); -+ const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, undefined, context, controller); +- const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller); ++ const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller); disposables.add(vscodeDisposable); -@@ -121,4 +121,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { +@@ -132,4 +132,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation { displayName: localize('setupToolDisplayName', "New Workspace"), - modelDescription: 'Scaffold a new workspace in VS Code', - userDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"), @@ -793,10 +780,10 @@ index b7c9c49..137d77e 100644 + userDescription: localize('setupToolsDescription', "Scaffold a new workspace in !!APP_NAME!!"), canBeReferencedInPrompt: true, diff --git a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts -index b7e91c4..6e0c67e 100644 +index d582ca6..b721308 100644 --- a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts +++ b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts -@@ -179,5 +179,5 @@ export class PromptValidator { +@@ -218,5 +218,5 @@ export class PromptValidator { if (validGithubCopilotAttributeNames.value.has(attribute.key)) { - report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in VS Code.", attribute.key), attribute.range, MarkerSeverity.Info)); + report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in !!APP_NAME!!.", attribute.key), attribute.range, MarkerSeverity.Info)); @@ -814,7 +801,7 @@ index 7504a9c..2e485bb 100644 + description: nls.localize('debugServer', "For debug extension development only: if a port is specified !!APP_NAME!! tries to connect to a debug adapter running in server mode"), default: 4711 diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -index f6c294e..6fd209d 100644 +index 6956d79..ea5fa28 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts @@ -353,3 +353,3 @@ CommandsRegistry.registerCommand({ @@ -845,7 +832,7 @@ index f6c294e..6fd209d 100644 + : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload VSCodium to enable it."), [{ diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts -index 2b8d2e6..46fb2ca 100644 +index f2a1f70..4bbabd2 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts @@ -109,3 +109,3 @@ export class PromptExtensionInstallFailureAction extends Action { @@ -869,7 +856,7 @@ index 2b8d2e6..46fb2ca 100644 + this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!. Configure these {0} to use this functionality.", link)) }, true); } else { diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts -index 8574e03..bb1f721 100644 +index 23ea0f7..0e2c889 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts @@ -477,3 +477,3 @@ export class Extension implements IExtension { @@ -1038,7 +1025,7 @@ index e89f6ec..1228544 100644 + Write-Host "`e[0m`e[7m * `e[0;103m !!APP_NAME!! Python powershell activation failed with exit code $($activationError.Exception.Message) `e[0m" } diff --git a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts -index 82345c4..12861a6 100644 +index 7431c14..b9ad2c7 100644 --- a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts +++ b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts @@ -311,3 +311,3 @@ const terminalConfiguration: IStringDictionary = { @@ -1081,7 +1068,7 @@ index 82345c4..12861a6 100644 - markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with VS Code, instead of the one bundled with Windows."), + markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with !!APP_NAME!!, instead of the one bundled with Windows."), type: 'boolean', -@@ -591,3 +591,3 @@ const terminalConfiguration: IStringDictionary = { +@@ -606,3 +606,3 @@ const terminalConfiguration: IStringDictionary = { restricted: true, - markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), + markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives !!APP_NAME!! insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'), @@ -1096,22 +1083,22 @@ index 4979520..30ae11b 100644 + markdownDescription: localize('terminal.integrated.autoReplies', "A set of messages that, when encountered in the terminal, will be automatically responded to. Provided the message is specific enough, this can help automate away common responses.\n\nRemarks:\n\n- Use {0} to automatically respond to the terminate batch job prompt on Windows.\n- The message includes escape sequences so the reply might not happen with styled text.\n- Each reply can only happen once every second.\n- Use {1} in the reply to mean the enter key.\n- To unset a default key, set the value to null.\n- Restart !!APP_NAME!! if new don't apply.", '`"Terminate batch job (Y/N)": "Y\\r"`', '`"\\r"`'), type: 'object', diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts -index b5ec1c1..737f2be 100644 +index 5913bb7..ae402ea 100644 --- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts +++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.ts -@@ -240,3 +240,3 @@ export const CreateAndRunTaskToolData: IToolData = { +@@ -241,3 +241,3 @@ export const CreateAndRunTaskToolData: IToolData = { 'type': 'array', - 'description': `The problem matcher to use to parse task output for errors and warnings. Can be a predefined matcher like '$tsc' (TypeScript), '$eslint - stylish', '$gcc', etc., or a custom pattern defined in tasks.json. This helps VS Code display errors in the Problems panel and enables quick navigation to error locations.`, + 'description': `The problem matcher to use to parse task output for errors and warnings. Can be a predefined matcher like '$tsc' (TypeScript), '$eslint - stylish', '$gcc', etc., or a custom pattern defined in tasks.json. This helps !!APP_NAME!! display errors in the Problems panel and enables quick navigation to error locations.`, 'items': { diff --git a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts -index f92fe12..a5a7e02 100644 +index f469f6e..11e2249 100644 --- a/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts +++ b/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.ts -@@ -152,3 +152,3 @@ export const RunTaskToolData: IToolData = { +@@ -153,3 +153,3 @@ export const RunTaskToolData: IToolData = { displayName: localize('runInTerminalTool.displayName', 'Run Task'), -- modelDescription: 'Runs a VS Code task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the run_in_terminal tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.', -+ modelDescription: 'Runs a !!APP_NAME!! task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the run_in_terminal tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.', +- modelDescription: `Runs a VS Code task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the ${TerminalToolId.RunInTerminal} tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.`, ++ modelDescription: `Runs a !!APP_NAME!! task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the ${TerminalToolId.RunInTerminal} tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.`, userDescription: localize('runInTerminalTool.userDescription', 'Run tasks in the workspace'), diff --git a/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts b/src/vs/workbench/contrib/terminalContrib/voice/browser/terminalVoiceActions.ts index 0f23e5a..27f311e 100644 @@ -1123,17 +1110,17 @@ index 0f23e5a..27f311e 100644 + message = localize('terminal.voice.installSpeechExtension', "Would you like to install '!!APP_NAME!! Speech' extension from 'Microsoft'?"); run = () => commandService.executeCommand('workbench.extensions.installExtension', 'ms-vscode.vscode-speech'); diff --git a/src/vs/workbench/contrib/update/browser/update.ts b/src/vs/workbench/contrib/update/browser/update.ts -index cc12ca6..056d2d8 100644 +index 55cc7d3..b2a7789 100644 --- a/src/vs/workbench/contrib/update/browser/update.ts +++ b/src/vs/workbench/contrib/update/browser/update.ts -@@ -583,4 +583,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor +@@ -621,4 +621,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor detail: newQuality === 'insider' ? - nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of VS Code.") : - nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of VS Code."), + nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of !!APP_NAME!!.") : + nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of !!APP_NAME!!."), primaryButton: nls.localize({ key: 'reload', comment: ['&& denotes a mnemonic'] }, "&&Reload") -@@ -619,3 +619,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor +@@ -657,3 +657,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor message: nls.localize('selectSyncService.message', "Choose the settings sync service to use after changing the version"), - detail: nls.localize('selectSyncService.detail', "The Insiders version of VS Code will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."), + detail: nls.localize('selectSyncService.detail', "The Insiders version of !!APP_NAME!! will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."), @@ -1153,15 +1140,15 @@ index 393c8c3..9268a6c 100644 + content += `// By default, !!APP_NAME!! trusts "localhost".\n`; } diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts -index b63e894..2798ab1 100644 +index 2b50e71..f322981 100644 --- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts +++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts -@@ -49,3 +49,3 @@ registerAction2(class extends Action2 { +@@ -52,3 +52,3 @@ registerAction2(class extends Action2 { metadata: { - description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in VS Code.') + description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in !!APP_NAME!!.') } -@@ -311,3 +311,3 @@ configurationRegistry.registerConfiguration({ +@@ -322,3 +322,3 @@ configurationRegistry.registerConfiguration({ localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.none' }, "Start without an editor."), - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with VS Code and extensions."), + localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with !!APP_NAME!! and extensions."), @@ -1345,15 +1332,15 @@ index bdd30bf..317d11c 100644 +Well if you have got this far then you will have touched on some of the editing features in !!APP_NAME!!. But don't stop now :) We have lots of additional [documentation](https://code.visualstudio.com/docs), [introductory videos](https://code.visualstudio.com/docs/getstarted/introvideos) and [tips and tricks](https://go.microsoft.com/fwlink/?linkid=852118) for the product that will help you learn how to use it. And while you are here, here are a few additional things you can try: - Open the Integrated Terminal by pressing kb(workbench.action.terminal.toggleTerminal), then see what's possible by [reviewing the terminal documentation](https://code.visualstudio.com/docs/editor/integrated-terminal) diff --git a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts -index c512b64..dfa2150 100644 +index d134535..93cae5f 100644 --- a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts +++ b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts -@@ -733,3 +733,3 @@ Registry.as(ConfigurationExtensions.Configuration) +@@ -765,3 +765,3 @@ Registry.as(ConfigurationExtensions.Configuration) default: true, - description: localize('workspace.trust.description', "Controls whether or not Workspace Trust is enabled within VS Code."), + description: localize('workspace.trust.description', "Controls whether or not Workspace Trust is enabled within !!APP_NAME!!."), tags: [WORKSPACE_TRUST_SETTING_TAG], -@@ -779,3 +779,3 @@ Registry.as(ConfigurationExtensions.Configuration) +@@ -811,3 +811,3 @@ Registry.as(ConfigurationExtensions.Configuration) default: true, - markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within VS Code. When used with `#{0}#`, you can enable the full functionality of VS Code without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES), + markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within !!APP_NAME!!. When used with `#{0}#`, you can enable the full functionality of !!APP_NAME!! without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES), @@ -1373,7 +1360,7 @@ index 5fad6f9..4edfd81 100644 + description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running !!APP_NAME!! extension tests or when you're experiencing difficulties with the credential store.") }, diff --git a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts -index df1a6e3..14db691 100644 +index ea7f364..25c4fda 100644 --- a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts +++ b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts @@ -1044,3 +1044,3 @@ export class ExtensionManagementService extends CommontExtensionManagementServic @@ -1382,7 +1369,7 @@ index df1a6e3..14db691 100644 + const productName = localize('!!APP_NAME!! for Web', "{0} for the Web", this.productService.nameLong); const virtualWorkspaceSupport = this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(manifest); diff --git a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts -index f6c18c6..6d6b39c 100644 +index 6704355..1d58ea0 100644 --- a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts +++ b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts @@ -181,3 +181,3 @@ export const schema: IJSONSchema = { @@ -1424,17 +1411,17 @@ index f6c18c6..6d6b39c 100644 - description: nls.localize('vscode.extension.activationEvents', 'Activation events for the VS Code extension.'), + description: nls.localize('vscode.extension.activationEvents', 'Activation events for the !!APP_NAME!! extension.'), type: 'array', -@@ -423,3 +423,3 @@ export const schema: IJSONSchema = { +@@ -428,3 +428,3 @@ export const schema: IJSONSchema = { label: '*', - description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on VS Code startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'), + description: nls.localize('vscode.extension.activationEvents.star', 'An activation event emitted on !!APP_NAME!! startup. To ensure a great end user experience, please use this activation event in your extension only when no other activation events combination works in your use-case.'), body: '*' -@@ -595,3 +595,3 @@ export const schema: IJSONSchema = { +@@ -609,3 +609,3 @@ export const schema: IJSONSchema = { 'vscode:prepublish': { - description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a VS Code extension.'), + description: nls.localize('vscode.extension.scripts.prepublish', 'Script executed before the package is published as a !!APP_NAME!! extension.'), type: 'string' -@@ -599,3 +599,3 @@ export const schema: IJSONSchema = { +@@ -613,3 +613,3 @@ export const schema: IJSONSchema = { 'vscode:uninstall': { - description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for VS Code extension. Script that gets executed when the extension is completely uninstalled from VS Code which is when VS Code is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'), + description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for !!APP_NAME!! extension. Script that gets executed when the extension is completely uninstalled from !!APP_NAME!! which is when !!APP_NAME!! is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'), diff --git a/patches/cli.patch b/patches/cli.patch index 22ac8d4..7e81ed8 100644 --- a/patches/cli.patch +++ b/patches/cli.patch @@ -303,11 +303,11 @@ index 55f1dad..3b7ef5c 100644 - pub fn env_default() -> Option { diff --git a/extensions/tunnel-forwarding/src/extension.ts b/extensions/tunnel-forwarding/src/extension.ts -index 299c728..9fb635d 100644 +index 2f71999..e689f62 100644 --- a/extensions/tunnel-forwarding/src/extension.ts +++ b/extensions/tunnel-forwarding/src/extension.ts -@@ -28,3 +28,3 @@ const cliPath = process.env.VSCODE_FORWARDING_IS_DEV - process.platform === 'darwin' ? 'bin' : '../../bin', -- vscode.env.appQuality === 'stable' ? 'code-tunnel' : 'code-tunnel-insiders', -+ '!!TUNNEL_APP_NAME!!' - ) + (process.platform === 'win32' ? '.exe' : ''); +@@ -37,3 +37,3 @@ if (process.env.VSCODE_FORWARDING_IS_DEV) { + +- const cliName = vscode.env.appQuality === 'stable' ? 'code-tunnel' : 'code-tunnel-insiders'; ++ const cliName = '!!TUNNEL_APP_NAME!!'; + const extension = process.platform === 'win32' ? '.exe' : ''; diff --git a/patches/disable-copilot.patch b/patches/disable-copilot.patch index f00ec4b..e5f57d2 100644 --- a/patches/disable-copilot.patch +++ b/patches/disable-copilot.patch @@ -1,61 +1,38 @@ diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -index 2543324..338c0ca 100644 +index 7b64c28..bea3a3f 100644 --- a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts +++ b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -@@ -170,3 +170,4 @@ abstract class OpenChatGlobalAction extends Action2 { +@@ -192,3 +192,4 @@ abstract class OpenChatGlobalAction extends Action2 { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) -@@ -734,3 +735,3 @@ export function registerChatActions() { +@@ -806,3 +807,3 @@ export function registerChatActions() { precondition: ContextKeyExpr.and( - ChatContextKeys.Setup.installed, + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.disabled.negate(), -@@ -947,3 +948,4 @@ MenuRegistry.appendMenuItem(MenuId.CommandCenter, { - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.disabled.negate() -+ ChatContextKeys.Setup.disabled.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - ), -@@ -964,3 +966,4 @@ MenuRegistry.appendMenuItem(MenuId.TitleBar, { - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.disabled.negate() -+ ChatContextKeys.Setup.disabled.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - ), -@@ -981,3 +984,4 @@ registerAction2(class ToggleCopilotControl extends ToggleTitleBarConfigAction { - ChatContextKeys.Setup.hidden.negate(), -- ChatContextKeys.Setup.disabled.negate() -+ ChatContextKeys.Setup.disabled.negate(), -+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate() - ), -@@ -1119,3 +1123,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { +@@ -1232,3 +1233,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, { ChatContextKeys.Setup.hidden.negate(), - ChatContextKeys.Setup.disabled.negate() + ChatContextKeys.Setup.disabled.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate() ) diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index fac472c..107a3b1 100644 +index d211a1d..cfbcdf5 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -186,3 +186,3 @@ configurationRegistry.registerConfiguration({ - markdownDescription: nls.localize('chat.commandCenter.enabled', "Controls whether the command center shows a menu for actions to control chat (requires {0}).", '`#window.commandCenter#`'), -- default: true -+ default: false - }, -@@ -802,3 +802,3 @@ configurationRegistry.registerConfiguration({ +@@ -969,3 +969,3 @@ configurationRegistry.registerConfiguration({ description: nls.localize('chat.disableAIFeatures', "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."), - default: false, + default: true, scope: ConfigurationScope.WINDOW diff --git a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts -index 8953884..cf0c2d2 100644 +index ddb5df4..7831288 100644 --- a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts -@@ -67,10 +67,9 @@ const chatViewDescriptor: IViewDescriptor = { +@@ -70,10 +70,9 @@ const chatViewDescriptor: IViewDescriptor = { ctorDescriptor: new SyncDescriptor(ChatViewPane), - when: ContextKeyExpr.or( - ContextKeyExpr.or( @@ -74,10 +51,10 @@ index 8953884..cf0c2d2 100644 + ) }; diff --git a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts -index 62efc91..12e97c6 100644 +index 9085864..4331066 100644 --- a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts +++ b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts -@@ -119,3 +119,3 @@ export namespace ChatContextKeyExprs { +@@ -126,3 +126,3 @@ export namespace ChatContextKeyExprs { export const chatSetupTriggerContext = ContextKeyExpr.or( - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), @@ -97,19 +74,19 @@ index 7f4dfea..5957267 100644 + when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`).negate(), ProductQualityContext.isEqualTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`).negate()), weight: 40, diff --git a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -index 6f533f1..56c8f9d 100644 +index c38dc40..a3e398c 100644 --- a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts +++ b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -@@ -685,3 +685,3 @@ registerAction2(class extends Action2 { +@@ -704,3 +704,3 @@ registerAction2(class extends Action2 { ChatContextKeys.Setup.disabled.negate(), - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ContextKeyExpr.in(ResourceContextKey.Resource.key, 'git.mergeChanges'), diff --git a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -index cfea087..5f3efe3 100644 +index 012d3c5..2f53955 100644 --- a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts +++ b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts -@@ -1391,3 +1391,3 @@ registerAction2(class extends Action2 { +@@ -1417,3 +1417,3 @@ registerAction2(class extends Action2 { ChatContextKeys.Setup.disabled.negate(), - ChatContextKeys.Setup.installed.negate(), + ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), diff --git a/patches/fix-keymap.patch b/patches/fix-keymap.patch index 9f7f637..59728e8 100644 --- a/patches/fix-keymap.patch +++ b/patches/fix-keymap.patch @@ -1,5 +1,5 @@ diff --git a/.npmrc b/.npmrc -index 060337b..9292787 100644 +index 50d910c..472b622 100644 --- a/.npmrc +++ b/.npmrc @@ -5,2 +5,3 @@ runtime="electron" @@ -7,7 +7,7 @@ index 060337b..9292787 100644 +build_from_source_native_keymap="no" legacy-peer-deps="true" diff --git a/build/.moduleignore b/build/.moduleignore -index fc7c538..7aece0d 100644 +index ed36151..5b040cc 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -65,7 +65,7 @@ fsevents/test/** @@ -24,27 +24,27 @@ index fc7c538..7aece0d 100644 +!@vscodium/native-keymap/build/Release/*.node diff --git a/eslint.config.js b/eslint.config.js -index e9809e6..6065336 100644 +index 47eeebf..f8077c2 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1465,3 +1465,3 @@ export default tseslint.config( 'node:module', - 'native-keymap', + '@vscodium/native-keymap', - 'native-watchdog', + 'net', diff --git a/package-lock.json b/package-lock.json -index b7ae476..93692b8 100644 +index 801e87b..a991591 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -29,2 +29,3 @@ +@@ -32,2 +32,3 @@ "@vscode/windows-registry": "^1.1.0", + "@vscodium/native-keymap": "3.3.7-258424", - "@xterm/addon-clipboard": "^0.3.0-beta.91", -@@ -46,3 +47,2 @@ - "native-is-elevated": "0.8.0", + "@xterm/addon-clipboard": "^0.3.0-beta.109", +@@ -49,3 +50,2 @@ + "native-is-elevated": "0.9.0", - "native-keymap": "^3.3.5", - "native-watchdog": "^1.4.1", -@@ -3300,2 +3300,9 @@ + "node-pty": "^1.2.0-beta.10", +@@ -3674,2 +3674,9 @@ }, + "node_modules/@vscodium/native-keymap": { + "version": "3.3.7-258424", @@ -54,7 +54,7 @@ index b7ae476..93692b8 100644 + "license": "MIT" + }, "node_modules/@webassemblyjs/ast": { -@@ -12516,5 +12523,6 @@ +@@ -12741,5 +12748,6 @@ "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -64,17 +64,17 @@ index b7ae476..93692b8 100644 + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" }, -@@ -12527,9 +12535,2 @@ +@@ -12752,9 +12760,2 @@ }, - "node_modules/native-keymap": { -- "version": "3.3.7", -- "resolved": "https://registry.npmjs.org/native-keymap/-/native-keymap-3.3.7.tgz", -- "integrity": "sha512-07n5kF0L9ERC9pilqEFucnhs1XG4WttbHAMWhhOSqQYXhB8mMNTSCzP4psTaVgDSp6si2HbIPhTIHuxSia6NPQ==", +- "version": "3.3.9", +- "resolved": "https://registry.npmjs.org/native-keymap/-/native-keymap-3.3.9.tgz", +- "integrity": "sha512-d/ydQ5x+GM5W0dyAjFPwexhtc9CDH1g/xWZESS5CXk16ThyFzSBLvlBJq1+FyzUIFf/F2g1MaHdOpa6G9150YQ==", - "hasInstallScript": true, - "license": "MIT" - }, - "node_modules/native-watchdog": { -@@ -13922,5 +13923,6 @@ + "node_modules/natural-compare": { +@@ -14142,5 +14143,6 @@ "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", @@ -84,22 +84,22 @@ index b7ae476..93692b8 100644 + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", "dependencies": { -@@ -13931,3 +13933,3 @@ +@@ -14151,3 +14153,3 @@ "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", diff --git a/package.json b/package.json -index b9978d4..bffe52e 100644 +index efeaec1..b2a6703 100644 --- a/package.json +++ b/package.json -@@ -108,3 +108,3 @@ - "native-is-elevated": "0.8.0", +@@ -111,3 +111,3 @@ + "native-is-elevated": "0.9.0", - "native-keymap": "^3.3.5", + "@vscodium/native-keymap": "3.3.7-258424", - "native-watchdog": "^1.4.1", + "node-pty": "^1.2.0-beta.10", diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -index d4ce18a..9db7f76 100644 +index c30c6da..ca6cea2 100644 --- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts @@ -44,8 +44,8 @@ flakySuite('Native Modules (all platforms)', () => { diff --git a/patches/fix-policies.patch b/patches/fix-policies.patch index 5e72399..4a28de9 100644 --- a/patches/fix-policies.patch +++ b/patches/fix-policies.patch @@ -1,5 +1,5 @@ diff --git a/build/.moduleignore b/build/.moduleignore -index 7aece0d..baebcd5 100644 +index 5b040cc..8d5fd71 100644 --- a/build/.moduleignore +++ b/build/.moduleignore @@ -128,9 +128,11 @@ vsda/** @@ -22,32 +22,32 @@ index 7aece0d..baebcd5 100644 +!@vscodium/policy-watcher/build/Release/vscodium-policy-watcher.node diff --git a/eslint.config.js b/eslint.config.js -index 6065336..1d36678 100644 +index f8077c2..182d6ce 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1448,3 +1448,3 @@ export default tseslint.config( - '@vscode/iconv-lite-umd', + '@vscode/native-watchdog', - '@vscode/policy-watcher', + '@vscodium/policy-watcher', '@vscode/proxy-agent', diff --git a/package-lock.json b/package-lock.json -index 93692b8..fd1d22a 100644 +index a991591..fb05fad 100644 --- a/package-lock.json +++ b/package-lock.json -@@ -17,3 +17,2 @@ - "@vscode/iconv-lite-umd": "0.7.1", +@@ -21,3 +21,2 @@ + "@vscode/native-watchdog": "^1.4.6", - "@vscode/policy-watcher": "^1.3.2", - "@vscode/proxy-agent": "^0.36.0", -@@ -30,2 +29,3 @@ + "@vscode/proxy-agent": "^0.37.0", +@@ -33,2 +32,3 @@ "@vscodium/native-keymap": "3.3.7-258424", + "@vscodium/policy-watcher": "^1.3.2-252465", - "@xterm/addon-clipboard": "^0.3.0-beta.91", -@@ -2952,22 +2952,2 @@ + "@xterm/addon-clipboard": "^0.3.0-beta.109", +@@ -3345,22 +3345,2 @@ }, - "node_modules/@vscode/policy-watcher": { -- "version": "1.3.5", -- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.5.tgz", -- "integrity": "sha512-k1n9gaDBjyVRy5yJLABbZCnyFwgQ8OA4sR3vXmXnmB+mO9JA0nsl/XOXQfVCoLasBu3UHCOfAnDWGn2sRzCR+A==", +- "version": "1.3.7", +- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.7.tgz", +- "integrity": "sha512-OvIczTbtGLZs7YU0ResbjM0KEB2ORBnlJ4ICxaB9fKHNVBwNVp4i2qIkDQGp3UBGtu7P8/+eg4/ZKk2oJGFcug==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { @@ -65,7 +65,7 @@ index 93692b8..fd1d22a 100644 - } - }, "node_modules/@vscode/proxy-agent": { -@@ -3307,2 +3287,22 @@ +@@ -3681,2 +3661,22 @@ }, + "node_modules/@vscodium/policy-watcher": { + "version": "1.3.2-252465", @@ -89,14 +89,14 @@ index 93692b8..fd1d22a 100644 + }, "node_modules/@webassemblyjs/ast": { diff --git a/package.json b/package.json -index bffe52e..d0e04d0 100644 +index b2a6703..3d03e9a 100644 --- a/package.json +++ b/package.json -@@ -79,3 +79,3 @@ - "@vscode/iconv-lite-umd": "0.7.1", +@@ -83,3 +83,3 @@ + "@vscode/native-watchdog": "^1.4.6", - "@vscode/policy-watcher": "^1.3.2", + "@vscodium/policy-watcher": "^1.3.2-252465", - "@vscode/proxy-agent": "^0.36.0", + "@vscode/proxy-agent": "^0.37.0", diff --git a/src/vs/base/test/node/uri.perf.data.txt b/src/vs/base/test/node/uri.perf.data.txt index ee0a24b..881ce36 100644 --- a/src/vs/base/test/node/uri.perf.data.txt @@ -197,7 +197,7 @@ index ee0a24b..881ce36 100644 +/Users/example/node_modules/@vscodium/policy-watcher/src/windows/NumberPolicy.hh /Users/example/node_modules/@vscode/vscode-languagedetection/CODE_OF_CONDUCT.md diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -index 9db7f76..33beb8c 100644 +index ca6cea2..32b22fe 100644 --- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts @@ -62,5 +62,5 @@ flakySuite('Native Modules (all platforms)', () => { diff --git a/patches/linux/arch-0-support.patch b/patches/linux/arch-0-support.patch index cdc849c..753a647 100644 --- a/patches/linux/arch-0-support.patch +++ b/patches/linux/arch-0-support.patch @@ -1,5 +1,5 @@ diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh -index 2f25764..742aaef 100755 +index f0d5fe6..fdb3707 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -2,3 +2,3 @@ @@ -13,7 +13,7 @@ index 2f25764..742aaef 100755 + SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e 'import { getVSCodeSysroot } from "./build/linux/debian/install-sysroot.ts"; (async () => { await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()' fi diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts -index cb1a0a5..6c21dd2 100644 +index 2714933..36396dc 100644 --- a/build/gulpfile.reh.ts +++ b/build/gulpfile.reh.ts @@ -235,9 +235,23 @@ function nodejs(platform: string, arch: string): NodeJS.ReadWriteStream | undefi @@ -48,10 +48,10 @@ index cb1a0a5..6c21dd2 100644 + } case 'alpine': diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index d3ab651..9dbe6f3 100644 +index 358bb3a..2cc6d9a 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -375,2 +375,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -372,2 +372,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d + const electronOverride: { repo?: string; tag?: string } = {}; + if (process.env.VSCODE_ELECTRON_REPOSITORY) { @@ -64,13 +64,13 @@ index d3ab651..9dbe6f3 100644 + } + let result: NodeJS.ReadWriteStream = all -@@ -379,3 +389,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -376,3 +386,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d .pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523 -- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false, ...customElectronConfig })) -+ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false, ...customElectronConfig })) +- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) ++ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false })) .pipe(filter(['**', '!LICENSE', '!version'], { dot: true })); diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts -index d00eb59..34ecdf1 100644 +index 46c257d..78bfb66 100644 --- a/build/linux/debian/dep-lists.ts +++ b/build/linux/debian/dep-lists.ts @@ -141,3 +141,3 @@ export const referenceGeneratedDepsByArch = { diff --git a/patches/linux/fix-build.patch b/patches/linux/fix-build.patch index 3bb1fcc..f9e03bb 100644 --- a/patches/linux/fix-build.patch +++ b/patches/linux/fix-build.patch @@ -1,5 +1,5 @@ diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts -index 0ebeb41..c6f0d5c 100644 +index 874c802..04731cf 100644 --- a/build/linux/dependencies-generator.ts +++ b/build/linux/dependencies-generator.ts @@ -13,3 +13,3 @@ import { type DebianArchString, isDebianArchString } from './debian/types.ts'; @@ -18,14 +18,14 @@ index 0ebeb41..c6f0d5c 100644 + // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName)); // Add the main executable. diff --git a/build/package-lock.json b/build/package-lock.json -index d3d0ae9..b47c35f 100644 +index 1a544ba..78337cd 100644 --- a/build/package-lock.json +++ b/build/package-lock.json @@ -17,3 +17,2 @@ "@electron/get": "^2.0.0", - "@electron/osx-sign": "^2.0.0", "@types/ansi-colors": "^3.2.0", -@@ -105,5 +104,5 @@ +@@ -107,5 +106,5 @@ "node_modules/@azure/core-auth": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz", @@ -34,19 +34,19 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz", + "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==", "dev": true, -@@ -111,4 +110,4 @@ +@@ -113,4 +112,4 @@ "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.11.0", + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" -@@ -116,3 +115,3 @@ +@@ -118,3 +117,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -235,5 +234,5 @@ +@@ -237,5 +236,5 @@ "node_modules/@azure/core-rest-pipeline": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.18.0.tgz", @@ -55,7 +55,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", + "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", "dev": true, -@@ -241,9 +240,8 @@ +@@ -243,9 +242,8 @@ "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-auth": "^1.8.0", @@ -71,12 +71,12 @@ index d3d0ae9..b47c35f 100644 + "@azure/logger": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" -@@ -251,3 +249,3 @@ +@@ -253,3 +251,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -268,5 +266,5 @@ +@@ -270,5 +268,5 @@ "node_modules/@azure/core-tracing": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.2.0.tgz", @@ -85,12 +85,12 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", + "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", "dev": true, -@@ -277,3 +275,3 @@ +@@ -279,3 +277,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -281,5 +279,5 @@ +@@ -283,5 +281,5 @@ "node_modules/@azure/core-util": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.11.0.tgz", @@ -99,18 +99,18 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz", + "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==", "dev": true, -@@ -287,3 +285,4 @@ +@@ -289,3 +287,4 @@ "dependencies": { - "@azure/abort-controller": "^2.0.0", + "@azure/abort-controller": "^2.1.2", + "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" -@@ -291,3 +290,3 @@ +@@ -293,3 +292,3 @@ "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } -@@ -370,11 +369,13 @@ +@@ -372,11 +371,13 @@ "node_modules/@azure/logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.1.tgz", @@ -129,7 +129,7 @@ index d3d0ae9..b47c35f 100644 - "node": ">=8.0.0" + "node": ">=20.0.0" } -@@ -481,5 +482,5 @@ +@@ -483,5 +484,5 @@ "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", @@ -138,7 +138,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, -@@ -537,50 +538,2 @@ +@@ -766,50 +767,2 @@ }, - "node_modules/@electron/osx-sign": { - "version": "2.0.0", @@ -188,36 +188,8 @@ index d3d0ae9..b47c35f 100644 - "node": ">=10" - } - }, - "node_modules/@esbuild/aix-ppc64": { -@@ -1051,27 +1004,2 @@ - }, -- "node_modules/@isaacs/cliui/node_modules/emoji-regex": { -- "version": "9.2.2", -- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", -- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", -- "dev": true, -- "license": "MIT" -- }, -- "node_modules/@isaacs/cliui/node_modules/string-width": { -- "version": "5.1.2", -- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", -- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", -- "dev": true, -- "license": "MIT", -- "dependencies": { -- "eastasianwidth": "^0.2.0", -- "emoji-regex": "^9.2.2", -- "strip-ansi": "^7.0.1" -- }, -- "engines": { -- "node": ">=12" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/@malept/cross-spawn-promise": { -@@ -1348,5 +1276,5 @@ + "node_modules/@electron/rebuild": { +@@ -2029,5 +1982,5 @@ "node_modules/@textlint/ast-node-types": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.2.2.tgz", @@ -226,7 +198,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.4.1.tgz", + "integrity": "sha512-XifMpBMdo0E1Fuh85YdcYAgy+okNg9WKBzIPIO4JUDnSWUVFihnogrM4cjDapeHkgzSgulwR8oJVJ17eyxI1bA==", "dev": true, -@@ -1355,5 +1283,5 @@ +@@ -2036,5 +1989,5 @@ "node_modules/@textlint/linter-formatter": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.2.2.tgz", @@ -235,7 +207,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.4.1.tgz", + "integrity": "sha512-kAV7Sup3vwvqxKvBbf9lx/JaPHkRybQp/LLvA73U1AorPZE6XyfBAFG24BbMiCs4OX1ax4g7kXRuFPgMLWRf+g==", "dev": true, -@@ -1363,8 +1291,8 @@ +@@ -2044,8 +1997,8 @@ "@azu/style-format": "^1.0.1", - "@textlint/module-interop": "15.2.2", - "@textlint/resolver": "15.2.2", @@ -249,7 +221,7 @@ index d3d0ae9..b47c35f 100644 + "debug": "^4.4.3", + "js-yaml": "^4.1.0", "lodash": "^4.17.21", -@@ -1440,2 +1368,9 @@ +@@ -2121,2 +2074,9 @@ }, + "node_modules/@textlint/linter-formatter/node_modules/emoji-regex": { + "version": "8.0.0", @@ -259,7 +231,7 @@ index d3d0ae9..b47c35f 100644 + "license": "MIT" + }, "node_modules/@textlint/linter-formatter/node_modules/has-flag": { -@@ -1457,2 +1392,17 @@ +@@ -2138,2 +2098,17 @@ }, + "node_modules/@textlint/linter-formatter/node_modules/string-width": { + "version": "4.2.3", @@ -277,7 +249,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/@textlint/linter-formatter/node_modules/strip-ansi": { -@@ -1484,5 +1434,5 @@ +@@ -2165,5 +2140,5 @@ "node_modules/@textlint/module-interop": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.2.2.tgz", @@ -286,7 +258,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.4.1.tgz", + "integrity": "sha512-jHtM2E5CR68P3z/+FGrEU5pml2fQVzEo2sez9FEjrVHSPCrHtqHcPaKfsYbQJjc9C48ObwaWrCzRNaL3KedNCQ==", "dev": true, -@@ -1491,5 +1441,5 @@ +@@ -2172,5 +2147,5 @@ "node_modules/@textlint/resolver": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.2.2.tgz", @@ -295,7 +267,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.4.1.tgz", + "integrity": "sha512-uVssyG3XXXKNY+O7NOajGvQZTyOuhPviwlq7Xek6ZT9K1eDQtA8074cPkAQoLMYhi/TUyOE5P5kpz42UF8Lmdw==", "dev": true, -@@ -1498,5 +1448,5 @@ +@@ -2179,5 +2154,5 @@ "node_modules/@textlint/types": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.2.2.tgz", @@ -304,12 +276,12 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.4.1.tgz", + "integrity": "sha512-WByVZ3zblbvuI+voWQplUP7seSTKXI9z6TMVXEB3dY3JFrZCIXWKNfLbETX5lZV7fYkCMaDtILO1l6s11wdbQA==", "dev": true, -@@ -1504,3 +1454,3 @@ +@@ -2185,3 +2160,3 @@ "dependencies": { - "@textlint/ast-node-types": "15.2.2" + "@textlint/ast-node-types": "15.4.1" } -@@ -1597,12 +1547,2 @@ +@@ -2279,12 +2254,2 @@ }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", @@ -322,7 +294,23 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/@types/gulp": { -@@ -1924,2 +1864,17 @@ +@@ -2429,2 +2394,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -2594,2 +2560,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -2606,2 +2573,3 @@ + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -2621,2 +2589,3 @@ + "dev": true, ++ "license": "MIT", + "optional": true, +@@ -2626,2 +2595,17 @@ }, + "node_modules/@typespec/ts-http-runtime": { + "version": "0.3.2", @@ -340,7 +328,11 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/@vscode/iconv-lite-umd": { -@@ -2176,5 +2131,5 @@ +@@ -2952,2 +2936,3 @@ + "dev": true, ++ "license": "ISC", + "bin": { +@@ -3056,5 +3041,5 @@ "node_modules/ansi-escapes": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", @@ -349,7 +341,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", + "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", "dev": true, -@@ -2251,17 +2206,7 @@ +@@ -3336,17 +3321,7 @@ "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -371,25 +363,31 @@ index d3d0ae9..b47c35f 100644 - "license": "BSD-3-Clause" + "license": "Python-2.0" }, -@@ -2393,2 +2338,3 @@ +@@ -3477,3 +3452,4 @@ + } +- ] ++ ], ++ "license": "BSD-2-Clause" + }, +@@ -3509,2 +3485,3 @@ "dev": true, -+ "license": "MIT", - "optional": true, -@@ -2404,3 +2350,4 @@ ++ "license": "ISC", + "dependencies": { +@@ -3519,3 +3496,4 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true + "dev": true, + "license": "ISC" }, -@@ -2462,2 +2409,3 @@ - ], -+ "license": "MIT", - "optional": true, -@@ -2506,2 +2454,3 @@ +@@ -3526,2 +3504,3 @@ "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -2565,6 +2514,7 @@ ++ "license": "ISC", + "optional": true +@@ -3782,2 +3761,3 @@ + "dev": true, ++ "license": "MIT", + "engines": { +@@ -3980,6 +3960,7 @@ "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -400,7 +398,7 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "MIT", "dependencies": { -@@ -2573,9 +2523,13 @@ +@@ -3988,9 +3969,13 @@ "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", @@ -419,15 +417,107 @@ index d3d0ae9..b47c35f 100644 - "node": ">= 6" + "node": ">=20.18.1" }, -@@ -2628,2 +2582,3 @@ +@@ -4043,2 +4028,3 @@ "dev": true, -+ "license": "ISC", ++ "license": "MIT", "optional": true -@@ -2778,2 +2733,3 @@ +@@ -4112,2 +4098,13 @@ + }, ++ "node_modules/cli-truncate/node_modules/ansi-regex": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", ++ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/cli-truncate/node_modules/ansi-styles": { +@@ -4151,2 +4148,10 @@ + }, ++ "node_modules/cli-truncate/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true ++ }, + "node_modules/cli-truncate/node_modules/slice-ansi": { +@@ -4167,2 +4172,32 @@ + }, ++ "node_modules/cli-truncate/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/cli-truncate/node_modules/strip-ansi": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ++ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", ++ "dev": true, ++ "license": "MIT", ++ "optional": true, ++ "dependencies": { ++ "ansi-regex": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/cliui": { +@@ -4228,2 +4263,24 @@ + }, ++ "node_modules/cliui/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/cliui/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/cliui/node_modules/strip-ansi": { +@@ -4282,2 +4339,3 @@ + "dev": true, ++ "license": "BSD-2-Clause", + "dependencies": { +@@ -4372,3 +4430,3 @@ + "engines": { +- "node": ">=18" ++ "node": ">=20" + } +@@ -4428,2 +4486,3 @@ "dev": true, + "license": "MIT", "dependencies": { -@@ -2790,6 +2746,7 @@ +@@ -4440,6 +4499,7 @@ "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", @@ -438,25 +528,19 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "BSD-2-Clause", "engines": { -@@ -2824,2 +2781,3 @@ - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -2879,2 +2837,3 @@ +@@ -4501,2 +4561,3 @@ "dev": true, + "license": "(MIT OR WTFPL)", "optional": true, -@@ -2902,2 +2861,3 @@ +@@ -4552,2 +4613,3 @@ "dev": true, + "license": "MIT", "optional": true, -@@ -2948,3 +2908,4 @@ - } -- ] -+ ], -+ "license": "BSD-2-Clause" - }, -@@ -2966,6 +2927,7 @@ +@@ -4584,2 +4646,3 @@ + "dev": true, ++ "license": "ISC", + "optional": true +@@ -4766,6 +4829,7 @@ "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", @@ -467,12 +551,12 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "BSD-2-Clause", "dependencies": { -@@ -2973,3 +2935,3 @@ +@@ -4773,3 +4837,3 @@ "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" }, -@@ -3040,5 +3002,5 @@ +@@ -5029,5 +5093,5 @@ "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -481,7 +565,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, -@@ -3046,2 +3008,16 @@ +@@ -5046,2 +5110,16 @@ }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", @@ -498,7 +582,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/end-of-stream": { -@@ -3056,6 +3032,7 @@ +@@ -5056,6 +5134,7 @@ "node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", @@ -509,11 +593,11 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "BSD-2-Clause", "engines": { -@@ -3143,2 +3120,3 @@ +@@ -5150,2 +5229,3 @@ "dev": true, + "license": "MIT", "optional": true -@@ -3195,16 +3173,2 @@ +@@ -5213,16 +5293,2 @@ }, - "node_modules/esprima": { - "version": "4.0.1", @@ -530,7 +614,15 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/events": { -@@ -3428,5 +3392,5 @@ +@@ -5241,2 +5307,3 @@ + "dev": true, ++ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, +@@ -5271,2 +5338,3 @@ + "dev": true, ++ "license": "ISC", + "dependencies": { +@@ -5515,5 +5583,5 @@ "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", @@ -539,19 +631,23 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dev": true, -@@ -3553,2 +3517,3 @@ +@@ -5536,2 +5604,3 @@ "dev": true, -+ "license": "ISC", ++ "license": "MIT", "optional": true -@@ -3677,2 +3642,3 @@ +@@ -5576,2 +5645,3 @@ + "hasInstallScript": true, ++ "license": "MIT", + "optional": true, +@@ -5703,2 +5773,3 @@ "dev": true, -+ "license": "ISC", - "dependencies": { -@@ -3756,2 +3722,3 @@ ++ "license": "MIT", + "optional": true, +@@ -5866,2 +5937,3 @@ "dev": true, + "license": "MIT", "engines": { -@@ -3815,5 +3782,5 @@ +@@ -5925,5 +5997,5 @@ "node_modules/htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", @@ -560,7 +656,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "dev": true, -@@ -3826,7 +3793,21 @@ +@@ -5936,7 +6008,21 @@ ], + "license": "MIT", "dependencies": { @@ -585,27 +681,7 @@ index d3d0ae9..b47c35f 100644 + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } -@@ -3880,2 +3861,15 @@ - }, -+ "node_modules/iconv-lite": { -+ "version": "0.6.3", -+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", -+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", -+ "dev": true, -+ "license": "MIT", -+ "dependencies": { -+ "safer-buffer": ">= 2.1.2 < 3.0.0" -+ }, -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/ieee754": { -@@ -3899,2 +3893,3 @@ - ], -+ "license": "BSD-3-Clause", - "optional": true -@@ -3912,5 +3907,5 @@ +@@ -6070,5 +6156,5 @@ "node_modules/index-to-position": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz", @@ -614,7 +690,11 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", "dev": true, -@@ -4120,5 +4115,5 @@ +@@ -6088,2 +6174,3 @@ + "dev": true, ++ "license": "MIT", + "dependencies": { +@@ -6359,5 +6446,5 @@ "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", @@ -623,25 +703,13 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, -@@ -4126,4 +4121,3 @@ +@@ -6365,4 +6452,3 @@ "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, -@@ -4157,2 +4151,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true -@@ -4266,2 +4261,3 @@ - "hasInstallScript": true, -+ "license": "MIT", - "optional": true, -@@ -4333,2 +4329,3 @@ - "dev": true, -+ "license": "BSD-2-Clause", - "dependencies": { -@@ -4358,9 +4355,2 @@ +@@ -6725,9 +6811,2 @@ }, - "node_modules/markdown-it/node_modules/argparse": { - "version": "2.0.1", @@ -651,31 +719,7 @@ index d3d0ae9..b47c35f 100644 - "license": "Python-2.0" - }, "node_modules/matcher": { -@@ -4443,2 +4433,3 @@ - "dev": true, -+ "license": "ISC", - "bin": { -@@ -4487,2 +4478,3 @@ - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -4495,7 +4487,11 @@ - "node_modules/minimist": { -- "version": "1.2.6", -- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", -- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", -+ "version": "1.2.8", -+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", -+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, -- "optional": true -+ "license": "MIT", -+ "optional": true, -+ "funding": { -+ "url": "https://github.com/sponsors/ljharb" -+ } - }, -@@ -4532,6 +4528,7 @@ +@@ -7047,6 +7126,7 @@ "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -686,11 +730,7 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "MIT", "optional": true -@@ -4578,2 +4575,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true -@@ -4593,5 +4591,5 @@ +@@ -7205,5 +7285,5 @@ "node_modules/node-sarif-builder": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.2.0.tgz", @@ -699,12 +739,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.3.1.tgz", + "integrity": "sha512-8z5dAbhpxmk/WRQHXlv4V0h+9Y4Ugk+w08lyhV/7E/CQX9yDdBc3025/EG+RSMJU2aPFh/IQ7XDV7Ti5TLt/TA==", "dev": true, -@@ -4603,3 +4601,3 @@ - "engines": { -- "node": ">=18" -+ "node": ">=20" - } -@@ -4680,5 +4678,5 @@ +@@ -7308,5 +7388,5 @@ "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -713,7 +748,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, -@@ -4808,5 +4806,5 @@ +@@ -7575,5 +7655,5 @@ "node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", @@ -722,7 +757,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", "dev": true, -@@ -4886,8 +4884,9 @@ +@@ -7653,8 +7733,9 @@ "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", @@ -736,7 +771,7 @@ index d3d0ae9..b47c35f 100644 - "entities": "^4.4.0" + "entities": "^6.0.0" }, -@@ -4898,8 +4897,9 @@ +@@ -7665,8 +7746,22 @@ "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", @@ -745,26 +780,26 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "dev": true, -+ "license": "MIT", - "dependencies": { -- "domhandler": "^5.0.2", -+ "domhandler": "^5.0.3", - "parse5": "^7.0.0" -@@ -4910,2 +4910,28 @@ - }, -+ "node_modules/parse5-parser-stream": { -+ "version": "7.1.2", -+ "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", -+ "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", -+ "dev": true, + "license": "MIT", + "dependencies": { ++ "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, ++ "node_modules/parse5-parser-stream": { ++ "version": "7.1.2", ++ "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", ++ "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", ++ "dev": true, ++ "license": "MIT", + "dependencies": { +- "domhandler": "^5.0.2", + "parse5": "^7.0.0" +@@ -7677,2 +7772,15 @@ + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", @@ -779,7 +814,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/path-is-absolute": { -@@ -4929,5 +4955,5 @@ +@@ -7696,5 +7804,5 @@ "node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", @@ -788,7 +823,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", "dev": true, -@@ -5056,6 +5082,7 @@ +@@ -7838,6 +7946,7 @@ "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", @@ -799,12 +834,12 @@ index d3d0ae9..b47c35f 100644 "dev": true, + "license": "MIT", "optional": true, -@@ -5067,3 +5094,3 @@ +@@ -7849,3 +7958,3 @@ "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", + "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", -@@ -5208,22 +5235,2 @@ +@@ -8024,22 +8133,2 @@ }, - "node_modules/rc-config-loader/node_modules/argparse": { - "version": "2.0.1", @@ -827,23 +862,7 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/read": { -@@ -5348,2 +5355,3 @@ - "dev": true, -+ "license": "ISC", - "dependencies": { -@@ -5371,2 +5379,3 @@ - "dev": true, -+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "optional": true, -@@ -5414,7 +5423,15 @@ - }, -+ "node_modules/safer-buffer": { -+ "version": "2.1.2", -+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", -+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", -+ "dev": true, -+ "license": "MIT" -+ }, +@@ -8320,6 +8409,7 @@ "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -855,23 +874,15 @@ index d3d0ae9..b47c35f 100644 + "dev": true, + "license": "ISC" }, -@@ -5472,2 +5489,3 @@ - "dev": true, -+ "license": "MIT", - "optional": true, -@@ -5612,2 +5630,3 @@ +@@ -8517,2 +8607,3 @@ ], -+ "license": "MIT", ++ "license": "BSD-3-Clause", "optional": true -@@ -5633,2 +5652,3 @@ +@@ -8538,2 +8629,3 @@ ], + "license": "MIT", "optional": true, -@@ -5764,2 +5784,3 @@ - "dev": true, -+ "license": "MIT", - "engines": { -@@ -5791,5 +5812,5 @@ +@@ -8771,5 +8863,5 @@ "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -880,7 +891,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, -@@ -5813,31 +5834,11 @@ +@@ -8793,31 +8885,11 @@ "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", @@ -918,7 +929,7 @@ index d3d0ae9..b47c35f 100644 + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } -@@ -5854,2 +5855,9 @@ +@@ -8834,2 +8906,9 @@ }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", @@ -928,14 +939,14 @@ index d3d0ae9..b47c35f 100644 + "license": "MIT" + }, "node_modules/string-width/node_modules/strip-ansi": { -@@ -5947,4 +5955,5 @@ +@@ -8927,4 +9006,5 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, + "license": "MIT", "optional": true, -@@ -6062,2 +6071,24 @@ +@@ -9042,2 +9122,24 @@ }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", @@ -960,11 +971,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/table/node_modules/strip-ansi": { -@@ -6128,2 +6159,3 @@ - "dev": true, -+ "license": "MIT", - "dependencies": { -@@ -6193,5 +6225,5 @@ +@@ -9310,5 +9412,5 @@ "node_modules/tmp": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", @@ -973,7 +980,7 @@ index d3d0ae9..b47c35f 100644 + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, -@@ -6298,6 +6330,7 @@ +@@ -9435,6 +9537,7 @@ "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", @@ -985,14 +992,14 @@ index d3d0ae9..b47c35f 100644 + "dev": true, + "license": "0BSD" }, -@@ -6316,4 +6349,5 @@ +@@ -9453,4 +9556,5 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, + "license": "Apache-2.0", "optional": true, -@@ -6365,2 +6399,12 @@ +@@ -9502,2 +9606,12 @@ }, + "node_modules/undici": { + "version": "7.16.0", @@ -1005,13 +1012,13 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/undici-types": { -@@ -6404,3 +6448,4 @@ +@@ -9577,3 +9691,4 @@ "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true + "dev": true, + "license": "MIT" }, -@@ -6584,2 +6629,25 @@ +@@ -9790,2 +9905,25 @@ }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", @@ -1037,7 +1044,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/which": { -@@ -6688,2 +6756,24 @@ +@@ -9894,2 +10032,24 @@ }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", @@ -1062,7 +1069,7 @@ index d3d0ae9..b47c35f 100644 + } + }, "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { -@@ -6714,27 +6804,2 @@ +@@ -9920,27 +10080,2 @@ }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", @@ -1090,8 +1097,56 @@ index d3d0ae9..b47c35f 100644 - } - }, "node_modules/wrappy": { +@@ -10036,2 +10171,47 @@ + }, ++ "node_modules/yargs/node_modules/ansi-regex": { ++ "version": "5.0.1", ++ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", ++ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", ++ "dev": true, ++ "license": "MIT", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/yargs/node_modules/emoji-regex": { ++ "version": "8.0.0", ++ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", ++ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", ++ "dev": true, ++ "license": "MIT" ++ }, ++ "node_modules/yargs/node_modules/string-width": { ++ "version": "4.2.3", ++ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", ++ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "emoji-regex": "^8.0.0", ++ "is-fullwidth-code-point": "^3.0.0", ++ "strip-ansi": "^6.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/yargs/node_modules/strip-ansi": { ++ "version": "6.0.1", ++ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ++ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "ansi-regex": "^5.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, + "node_modules/yauzl": { diff --git a/build/package.json b/build/package.json -index e084f0e..4517da3 100644 +index e45161d..30ba3c3 100644 --- a/build/package.json +++ b/build/package.json @@ -11,3 +11,2 @@ diff --git a/patches/version-1-update.patch b/patches/version-1-update.patch index dd88101..be046a8 100644 --- a/patches/version-1-update.patch +++ b/patches/version-1-update.patch @@ -1,14 +1,27 @@ +diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts +index a3efce9..be970c6 100644 +--- a/src/vs/code/electron-main/app.ts ++++ b/src/vs/code/electron-main/app.ts +@@ -78,3 +78,2 @@ import { DarwinUpdateService } from '../../platform/update/electron-main/updateS + import { LinuxUpdateService } from '../../platform/update/electron-main/updateService.linux.js'; +-import { SnapUpdateService } from '../../platform/update/electron-main/updateService.snap.js'; + import { Win32UpdateService } from '../../platform/update/electron-main/updateService.win32.js'; +@@ -997,3 +996,3 @@ export class CodeApplication extends Disposable { + if (isLinuxSnap) { +- services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']])); ++ // services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']])); + } else { diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts -index 199f433..a6cbb10 100644 +index b859dfd..75e8987 100644 --- a/src/vs/platform/update/common/update.ts +++ b/src/vs/platform/update/common/update.ts -@@ -51,3 +51,4 @@ export const enum UpdateType { +@@ -54,3 +54,4 @@ export const enum UpdateType { Archive, - Snap + Snap, + WindowsInstaller, } -@@ -110 +111,38 @@ export interface IUpdateService { +@@ -116 +117,38 @@ export interface IUpdateService { } + +export type Architecture = @@ -49,30 +62,37 @@ index 199f433..a6cbb10 100644 + | "user"; \ No newline at end of file diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts -index ed8043f..e19c9e4 100644 +index 0e63d40..c8426ea 100644 --- a/src/vs/platform/update/electron-main/abstractUpdateService.ts +++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts -@@ -14,6 +14,10 @@ import { IProductService } from '../../product/common/productService.js'; +@@ -14,3 +14,3 @@ import { IProductService } from '../../product/common/productService.js'; import { IRequestService } from '../../request/common/request.js'; -import { AvailableForDownload, DisablementReason, IUpdateService, State, StateType, UpdateType } from '../common/update.js'; +import { Architecture, AvailableForDownload, DisablementReason, IUpdateService, Platform, State, StateType, Target, UpdateType } from '../common/update.js'; --export function createUpdateURL(platform: string, quality: string, productService: IProductService): string { -- return `${productService.updateUrl}/api/update/${platform}/${quality}/${productService.commit}`; +@@ -20,10 +20,8 @@ export interface IUpdateURLOptions { + +-export function createUpdateURL(baseUpdateUrl: string, platform: string, quality: string, commit: string, options?: IUpdateURLOptions): string { +- const url = new URL(`${baseUpdateUrl}/api/update/${platform}/${quality}/${commit}`); +- +- if (options?.background) { +- url.searchParams.set('bg', 'true'); +export function createUpdateURL(productService: IProductService, quality: string, platform: Platform, architecture: Architecture, target?: Target): string { + if (target) { + return `${productService.updateUrl}/${quality}/${platform}/${architecture}/${target}/latest.json`; + } else { + return `${productService.updateUrl}/${quality}/${platform}/${architecture}/latest.json`; -+ } + } +- +- return url.toString(); } -@@ -205,3 +209,3 @@ export abstract class AbstractUpdateService implements IUpdateService { +@@ -265,3 +263,3 @@ export abstract class AbstractUpdateService implements IUpdateService { - if (mode === 'none') { + if (mode === 'none' || mode === 'manual') { - return false; + return undefined; diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts -index b78ebc5..a4a3b1d 100644 +index b20673b..af677f6 100644 --- a/src/vs/platform/update/electron-main/updateService.darwin.ts +++ b/src/vs/platform/update/electron-main/updateService.darwin.ts @@ -15,3 +15,3 @@ import { ILogService } from '../../log/common/log.js'; @@ -81,19 +101,15 @@ index b78ebc5..a4a3b1d 100644 +import { IRequestService, asJson } from '../../request/common/request.js'; import { ITelemetryService } from '../../telemetry/common/telemetry.js'; @@ -19,2 +19,4 @@ import { IUpdate, State, StateType, UpdateType } from '../common/update.js'; - import { AbstractUpdateService, createUpdateURL, UpdateErrorClassification } from './abstractUpdateService.js'; + import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js'; +import { CancellationToken } from '../../../base/common/cancellation.js'; +import * as semver from 'semver'; -@@ -76,17 +78,3 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau - protected buildUpdateFeedUrl(quality: string): string | undefined { -- let assetID: string; -- if (!this.productService.darwinUniversalAssetId) { -- assetID = process.arch === 'x64' ? 'darwin' : 'darwin-arm64'; -- } else { -- assetID = this.productService.darwinUniversalAssetId; -- } -- const url = createUpdateURL(assetID, quality, this.productService); +@@ -75,13 +77,4 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau + +- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined { +- const assetID = this.productService.darwinUniversalAssetId ?? (process.arch === 'x64' ? 'darwin' : 'darwin-arm64'); +- const url = createUpdateURL(this.productService.updateUrl!, assetID, quality, commit, options); - try { - electron.autoUpdater.setFeedURL({ url }); - } catch (e) { @@ -102,14 +118,13 @@ index b78ebc5..a4a3b1d 100644 - return undefined; - } - return url; ++ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string | undefined { + return createUpdateURL(this.productService, quality, process.platform, process.arch); } -@@ -100,5 +88,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau +@@ -112,3 +105,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau -- const url = explicit ? this.url : `${this.url}?bg=true`; -- electron.autoUpdater.setFeedURL({ url }); - electron.autoUpdater.checkForUpdates(); -+ this.requestService.request({ url: this.url }, CancellationToken.None) ++ this.requestService.request({ url }, CancellationToken.None) + .then(asJson) + .then(update => { + if (!update || !update.url || !update.version || !update.productVersion) { @@ -125,7 +140,7 @@ index b78ebc5..a4a3b1d 100644 + this.setState(State.Idle(UpdateType.Setup)); + } + else { -+ electron.autoUpdater.setFeedURL({ url: this.url! }); ++ electron.autoUpdater.setFeedURL({ url }); + electron.autoUpdater.checkForUpdates(); + } + @@ -139,27 +154,21 @@ index b78ebc5..a4a3b1d 100644 + }); } diff --git a/src/vs/platform/update/electron-main/updateService.linux.ts b/src/vs/platform/update/electron-main/updateService.linux.ts -index 8550ace..c2fddcb 100644 +index 32040dc..59cf109 100644 --- a/src/vs/platform/update/electron-main/updateService.linux.ts +++ b/src/vs/platform/update/electron-main/updateService.linux.ts @@ -15,2 +15,3 @@ import { AvailableForDownload, IUpdate, State, UpdateType } from '../common/upda - import { AbstractUpdateService, createUpdateURL } from './abstractUpdateService.js'; + import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js'; +import * as semver from 'semver'; -@@ -31,3 +32,3 @@ export class LinuxUpdateService extends AbstractUpdateService { - protected buildUpdateFeedUrl(quality: string): string { -- return createUpdateURL(`linux-${process.arch}`, quality, this.productService); +@@ -30,4 +31,4 @@ export class LinuxUpdateService extends AbstractUpdateService { + +- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string { +- return createUpdateURL(this.productService.updateUrl!, `linux-${process.arch}`, quality, commit, options); ++ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string { + return createUpdateURL(this.productService, quality, process.platform, process.arch); } -@@ -39,6 +40,5 @@ export class LinuxUpdateService extends AbstractUpdateService { - -- const url = explicit ? this.url : `${this.url}?bg=true`; - this.setState(State.CheckingForUpdates(explicit)); - -- this.requestService.request({ url }, CancellationToken.None) -+ this.requestService.request({ url: this.url }, CancellationToken.None) - .then(asJson) -@@ -47,5 +47,17 @@ export class LinuxUpdateService extends AbstractUpdateService { +@@ -48,5 +49,17 @@ export class LinuxUpdateService extends AbstractUpdateService { this.setState(State.Idle(UpdateType.Archive)); - } else { + @@ -179,7 +188,7 @@ index 8550ace..c2fddcb 100644 + return Promise.resolve(null); }) diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts -index ae4fd9c..7fc81a0 100644 +index 3edbd9d..6666876 100644 --- a/src/vs/platform/update/electron-main/updateService.win32.ts +++ b/src/vs/platform/update/electron-main/updateService.win32.ts @@ -13,3 +13,2 @@ import { CancellationToken } from '../../../base/common/cancellation.js'; @@ -189,9 +198,9 @@ index ae4fd9c..7fc81a0 100644 @@ -27,4 +26,5 @@ import { asJson, IRequestService } from '../../request/common/request.js'; import { ITelemetryService } from '../../telemetry/common/telemetry.js'; -import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, UpdateType } from '../common/update.js'; --import { AbstractUpdateService, createUpdateURL, UpdateErrorClassification } from './abstractUpdateService.js'; +-import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js'; +import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, Target, UpdateType } from '../common/update.js'; -+import { AbstractUpdateService, createUpdateURL} from './abstractUpdateService.js'; ++import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js'; +import * as semver from 'semver'; @@ -44,5 +44,9 @@ function getUpdateType(): UpdateType { @@ -211,14 +220,17 @@ index ae4fd9c..7fc81a0 100644 @IConfigurationService configurationService: IConfigurationService, + // @ts-expect-error @ITelemetryService private readonly telemetryService: ITelemetryService, -@@ -155,11 +160,21 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - protected buildUpdateFeedUrl(quality: string): string | undefined { +@@ -154,12 +159,22 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + +- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined { - let platform = `win32-${process.arch}`; - - if (getUpdateType() === UpdateType.Archive) { - platform += '-archive'; - } else if (this.productService.target === 'user') { - platform += '-user'; +- } ++ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string | undefined { + let target: Target; + + switch (getUpdateType()) { @@ -235,12 +247,12 @@ index ae4fd9c..7fc81a0 100644 + else { + target = "system" + } - } ++ } -- return createUpdateURL(platform, quality, this.productService); +- return createUpdateURL(this.productService.updateUrl!, platform, quality, commit, options); + return createUpdateURL(this.productService, quality, process.platform, process.arch, target); } -@@ -184,2 +199,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -185,2 +200,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun + const fetchedVersion = /\d+\.\d+\.\d+\.\d+/.test(update.productVersion) ? update.productVersion.replace(/(\d+\.\d+\.\d+)\.\d+(\-\w+)?/, '$1$2') : update.productVersion.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') + const currentVersion = this.productService.version.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3') @@ -251,16 +263,16 @@ index ae4fd9c..7fc81a0 100644 + } + if (updateType === UpdateType.Archive) { -@@ -210,3 +233,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -211,3 +234,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun - const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); + const fastUpdatesEnabled = getUpdateType() == UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates'); if (fastUpdatesEnabled) { -@@ -222,3 +245,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -223,3 +246,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun .then(undefined, err => { - this.telemetryService.publicLog2<{ messageHash: string }, UpdateErrorClassification>('update:error', { messageHash: String(hash(String(err))) }); this.logService.error(err); -@@ -307,6 +329,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun +@@ -309,6 +331,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun } else { - spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], { - detached: true, diff --git a/patches/windows/disable-versioned-resources.patch b/patches/windows/disable-versioned-resources.patch.no similarity index 100% rename from patches/windows/disable-versioned-resources.patch rename to patches/windows/disable-versioned-resources.patch.no diff --git a/prepare_vscode.sh b/prepare_vscode.sh index b582ade..d9d8f90 100755 --- a/prepare_vscode.sh +++ b/prepare_vscode.sh @@ -275,17 +275,11 @@ if [[ "${OS_NAME}" == "linux" ]]; then sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/rpm/code.spec.template # snapcraft.yaml - sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template + sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template elif [[ "${OS_NAME}" == "windows" ]]; then - if [[ "${VSCODE_QUALITY}" == "insider" ]]; then - ISS_PATH="build/win32/code-insider.iss" - else - ISS_PATH="build/win32/code.iss" - fi - # code.iss - sed -i 's|https://code.visualstudio.com|https://vscodium.com|' "${ISS_PATH}" - sed -i 's|Microsoft Corporation|VSCodium|' "${ISS_PATH}" + sed -i 's|https://code.visualstudio.com|https://vscodium.com|' build/win32/code.iss + sed -i 's|Microsoft Corporation|VSCodium|' build/win32/code.iss fi cd .. diff --git a/product.json b/product.json index 2f75e16..7acf85c 100644 --- a/product.json +++ b/product.json @@ -49,10 +49,12 @@ "extensionsEnabledWithApiProposalVersion": [ "GitHub.copilot-chat", "ms-vscode.vscode-commander", - "ms-vscode.vscode-copilot-vision", "GitHub.vscode-pull-request-github" ], "extensionEnabledApiProposals": { + "mrleemurray.theme-2026": [ + "css" + ], "ms-azuretools.vscode-containers": [ "authenticationChallenges" ], @@ -117,7 +119,8 @@ ], "ms-python.vscode-python-envs": [ "terminalShellEnv", - "terminalDataWriteEvent" + "terminalDataWriteEvent", + "taskExecutionTerminal" ], "ms-dotnettools.dotnet-interactive-vscode": [ "notebookMessaging" @@ -240,13 +243,18 @@ ], "GitHub.copilot": [ "inlineCompletionsAdditions", + "interactive", + "terminalDataWriteEvent", "devDeviceId" ], "GitHub.copilot-nightly": [ "inlineCompletionsAdditions", + "interactive", + "terminalDataWriteEvent", "devDeviceId" ], "GitHub.copilot-chat": [ + "agentSessionsWorkspace", "interactive", "terminalDataWriteEvent", "terminalExecuteCommandEvent", @@ -255,7 +263,6 @@ "chatParticipantAdditions", "defaultChatParticipant", "embeddings", - "chatEditing", "chatProvider", "mappedEditsProvider", "aiRelatedInformation", @@ -271,6 +278,8 @@ "contribCommentEditorActionsMenu", "contribCommentThreadAdditionalMenu", "contribCommentsViewThreadMenus", + "contribChatEditorInlineGutterMenu", + "extensionAffinity", "newSymbolNamesProvider", "findFiles2", "chatReferenceDiagnostic", @@ -286,6 +295,7 @@ "languageModelSystem", "languageModelCapabilities", "languageModelThinkingPart", + "languageModelToolSupportsModel", "chatStatusItem", "taskProblemMatcherStatus", "contribLanguageModelToolSets", @@ -296,7 +306,13 @@ "chatSessionsProvider", "devDeviceId", "contribEditorContentMenu", - "tokenInformation" + "tokenInformation", + "chatPromptFiles", + "mcpServerDefinitions", + "tabInputMultiDiff", + "workspaceTrust", + "chatHooks", + "environmentPower" ], "GitHub.remotehub": [ "contribRemoteHelp", @@ -362,7 +378,6 @@ "terminalDataWriteEvent", "chatParticipantAdditions" ], - "vscjava.vscode-java-pack": [], "ms-dotnettools.csdevkit": [ "inlineCompletionsAdditions" ], @@ -381,9 +396,6 @@ "chatParticipantAdditions", "languageModelSystem" ], - "ms-toolsai.datawrangler": [], - "ms-vscode.vscode-commander": [], - "ms-vscode.vscode-websearchforcopilot": [], "ms-vscode.vscode-copilot-vision": [ "chatReferenceBinaryData", "codeActionAI" @@ -391,6 +403,10 @@ "ms-autodev.vscode-autodev": [ "chatParticipantAdditions" ], + "codetrek.haystack-search": [ + "fileSearchProvider", + "textSearchProvider2" + ], "vscjava.vscode-java-upgrade": [ "chatParticipantAdditions", "chatParticipantPrivate" diff --git a/upstream/insider.json b/upstream/insider.json index 94204ea..e2fae29 100644 --- a/upstream/insider.json +++ b/upstream/insider.json @@ -1,4 +1,4 @@ { - "tag": "1.108.0", - "commit": "94e8ae2b28cb5cc932b86e1070569c4463565c37" + "tag": "1.109.0", + "commit": "bdd88df003631aaa0bcbe057cb0a940b80a476fa" }