feat: update to 1.81

This commit is contained in:
Baptiste Augrain 2023-07-18 22:25:40 +02:00
parent 11083b9a1b
commit 9a210dc964
6 changed files with 117 additions and 505 deletions

View file

@ -13,7 +13,7 @@ while getopts ":ilp" opt; do
done
URL=`curl -s "https://update.code.visualstudio.com/api/update/win32-x64-archive/${VSCODE_QUALITY}/VERSION" | jq -c '.url' | sed -E 's/.*"([^"]+)".*/\1/'`
URL=`curl -s "https://update.code.visualstudio.com/api/update/win32-x64-archive/${VSCODE_QUALITY}/0000000000000000000000000000000000000000" | jq -c '.url' | sed -E 's/.*"([^"]+)".*/\1/'`
# echo "url: ${URL}"
FILE=`echo "${URL}" | sed -E 's|.*/([^/]+\.zip)$|\1|'`
# echo "file: ${FILE}"

View file

@ -1,4 +1,4 @@
{
"tag": "1.80.0",
"commit": "79c4092768e41b16fd823e80c874dbfafdc08f55"
"tag": "1.81.0",
"commit": "4390ebc406732e5b4eed22a1d7aa4fc0ef4a9460"
}

View file

@ -68,37 +68,37 @@ index 459bd9a..925945a 100644
+const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75 as VSCodium 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 74386ba..dae5d9a 100644
index 24f0341..16423d0 100644
--- a/extensions/git/package.nls.json
+++ b/extensions/git/package.nls.json
@@ -201,3 +201,3 @@
@@ -205,3 +205,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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -228,4 +228,4 @@
@@ -232,4 +232,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 VSCodium 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 VSCodium 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.",
@@ -280,3 +280,3 @@
@@ -284,3 +284,3 @@
"{Locked='](command:workbench.action.reloadWindow'}",
- "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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -288,3 +288,3 @@
@@ -292,3 +292,3 @@
"{Locked='](command:workbench.action.reloadWindow'}",
- "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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -296,3 +296,3 @@
@@ -300,3 +300,3 @@
"{Locked='](command:workbench.action.reloadWindow'}",
- "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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -302,6 +302,6 @@
@@ -306,6 +306,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 VSCodium [read our docs](https://aka.ms/vscode-scm).",
@ -107,7 +107,7 @@ index 74386ba..dae5d9a 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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -310,6 +310,6 @@
@@ -314,6 +314,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.clone)\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.clone)\nTo learn more about how to use git and source control in VSCodium [read our docs](https://aka.ms/vscode-scm).",
@ -116,7 +116,7 @@ index 74386ba..dae5d9a 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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -318,6 +318,6 @@
@@ -322,6 +322,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 VSCodium [read our docs](https://aka.ms/vscode-scm).",
@ -125,7 +125,7 @@ index 74386ba..dae5d9a 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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -326,6 +326,6 @@
@@ -330,6 +330,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 VSCodium [read our docs](https://aka.ms/vscode-scm).",
@ -134,7 +134,7 @@ index 74386ba..dae5d9a 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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -334,6 +334,6 @@
@@ -338,6 +338,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 VSCodium [read our docs](https://aka.ms/vscode-scm).",
@ -143,32 +143,32 @@ index 74386ba..dae5d9a 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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -352,3 +352,3 @@
@@ -356,3 +356,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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -361,3 +361,3 @@
@@ -365,3 +365,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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -369,3 +369,3 @@
@@ -373,3 +373,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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -377,3 +377,3 @@
@@ -381,3 +381,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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -401,3 +401,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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -405,3 +405,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 VSCodium",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -409,3 +409,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 VSCodium [read our docs](https://aka.ms/vscode-scm)."
@ -259,7 +259,7 @@ index 571d047..ca31e06 100644
+ "json.tracing.desc": "Traces the communication between VSCodium and the JSON language server.",
"json.colorDecorators.enable.desc": "Enables or disables color decorators",
diff --git a/extensions/markdown-language-features/package.nls.json b/extensions/markdown-language-features/package.nls.json
index e39e597..3202c03 100644
index 0468fbf..d365117 100644
--- a/extensions/markdown-language-features/package.nls.json
+++ b/extensions/markdown-language-features/package.nls.json
@@ -21,3 +21,3 @@
@ -322,7 +322,7 @@ index f63b127..799111f 100644
+ "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks VSCodium / Atom, see https://github.com/textmate/swift.tmbundle/issues/29",
"match": "(?<=^Process\\.|\\WProcess\\.|^CommandLine\\.|\\WCommandLine\\.)(arguments|argc|unsafeArgv)",
diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json
index bd4dd63..058204c 100644
index 81260c4..684ac39 100644
--- a/extensions/typescript-language-features/package.nls.json
+++ b/extensions/typescript-language-features/package.nls.json
@@ -74,3 +74,3 @@
@ -331,7 +331,7 @@ index bd4dd63..058204c 100644
+ "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VSCodium's locale.",
"configuration.implicitProjectConfig.module": "Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.",
@@ -155,3 +155,3 @@
"typescript.preferences.autoImportFileExcludePatterns": "Specify glob patterns of files to exclude from auto imports. Requires using TypeScript 4.8 or newer in the workspace.",
"typescript.preferences.autoImportFileExcludePatterns": "Specify glob patterns of files to exclude from auto imports. Relative paths are resolved relative to the workspace root. Patterns are evaluated using tsconfig.json [`exclude`](https://www.typescriptlang.org/tsconfig#exclude) semantics. Requires using TypeScript 4.8 or newer in the workspace.",
- "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VS Code.",
+ "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VSCodium.",
"typescript.updateImportsOnFileMove.enabled.prompt": "Prompt on each rename.",
@ -383,7 +383,7 @@ index 984356f..72cc766 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 VSCodium.", pluginExtensionList));
} else {
diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json
index b230a1a..9d61f5d 100644
index 369927c..6f27d52 100644
--- a/extensions/vscode-api-tests/package.json
+++ b/extensions/vscode-api-tests/package.json
@@ -2,3 +2,3 @@
@ -461,10 +461,10 @@ index fa001b5..13abac2 100644
+ throw Error(`Failed to download and unzip VSCodium ${quality} - ${commit}`);
}
diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts
index b907a06..7bfe096 100644
index 212689e..b2da7b3 100644
--- a/src/vs/code/electron-main/app.ts
+++ b/src/vs/code/electron-main/app.ts
@@ -510,3 +510,3 @@ export class CodeApplication extends Disposable {
@@ -514,3 +514,3 @@ export class CodeApplication extends Disposable {
async startup(): Promise<void> {
- this.logService.debug('Starting VS Code');
+ this.logService.debug('Starting VSCodium');
@ -479,7 +479,7 @@ index 296245b..cf03674 100644
+export const ProductQualityContext = new RawContextKey<string>('productQualityType', '', localize('productQualityType', "Quality type of VSCodium"));
diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
index c0a62f8..9c41634 100644
index 5852d66..a20ec77 100644
--- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts
+++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
@@ -221,3 +221,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
@ -487,12 +487,12 @@ index c0a62f8..9c41634 100644
- throw new Error(nls.localize('removeError', "Error while removing the extension: {0}. Please Quit and Start VS Code before trying again.", toErrorMessage(e)));
+ throw new Error(nls.localize('removeError', "Error while removing the extension: {0}. Please Quit and Start VSCodium before trying again.", toErrorMessage(e)));
}
@@ -936,3 +936,3 @@ class InstallVSIXTask extends InstallExtensionTask {
@@ -959,3 +959,3 @@ class InstallVSIXTask extends InstallExtensionTask {
} catch (e) {
- throw new Error(nls.localize('restartCode', "Please restart VS Code before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
+ throw new Error(nls.localize('restartCode', "Please restart VSCodium before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
}
@@ -949,3 +949,3 @@ class InstallVSIXTask extends InstallExtensionTask {
@@ -972,3 +972,3 @@ class InstallVSIXTask extends InstallExtensionTask {
} catch (e) {
- throw new Error(nls.localize('restartCode', "Please restart VS Code before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
+ throw new Error(nls.localize('restartCode', "Please restart VSCodium before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
@ -525,7 +525,7 @@ index 4134233..b2f52b2 100644
+ description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new VSCodium 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 42bb9cd..119cbfd 100644
index 8555808..6e7a7ab 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 UpdateNotAvailableClassification = {
@ -572,10 +572,10 @@ index 68db008..dee0f95 100644
+ ApiCommandArgument.String.with('viewId', 'Custom editor view id or \'default\' to use VSCodium\'s default editor'),
new ApiCommandArgument<vscode.ViewColumn | typeConverters.TextEditorOpenOptions | undefined, [vscode.ViewColumn?, ITextEditorOptions?] | undefined>('columnOrOptions', 'Either the column in which to open or editor options, see vscode.TextDocumentShowOptions',
diff --git a/src/vs/workbench/api/common/extHostCommands.ts b/src/vs/workbench/api/common/extHostCommands.ts
index c2053ac..7995087 100644
index e8fc487..52cfe2c 100644
--- a/src/vs/workbench/api/common/extHostCommands.ts
+++ b/src/vs/workbench/api/common/extHostCommands.ts
@@ -447,3 +447,3 @@ export class ApiCommandArgument<V, O = V> {
@@ -449,3 +449,3 @@ export class ApiCommandArgument<V, O = V> {
static readonly TypeHierarchyItem = new ApiCommandArgument('item', 'A type hierarchy item', v => v instanceof extHostTypes.TypeHierarchyItem, extHostTypeConverter.TypeHierarchyItem.from);
- static readonly TestItem = new ApiCommandArgument('testItem', 'A VS Code TestItem', v => v instanceof TestItemImpl, extHostTypeConverter.TestItem.from);
+ static readonly TestItem = new ApiCommandArgument('testItem', 'A VSCodium TestItem', v => v instanceof TestItemImpl, extHostTypeConverter.TestItem.from);
@ -599,10 +599,10 @@ index 7d464e0..4d12d65 100644
+ localize('screenReaderDetectedExplanation.question', "Are you using a screen reader to operate VSCodium?"),
[{
diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts
index e0c1272..84f9d08 100644
index 98d32c5..4616c28 100644
--- a/src/vs/workbench/browser/workbench.contribution.ts
+++ b/src/vs/workbench/browser/workbench.contribution.ts
@@ -534,3 +534,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
@@ -537,3 +537,3 @@ const registry = Registry.as<IConfigurationRegistry>(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. VSCodium."),
@ -617,7 +617,7 @@ index 1084c37..0b526b1 100644
+ description: nls.localize('debugServer', "For debug extension development only: if a port is specified VSCodium tries to connect to a debug adapter running in server mode"),
default: 4711
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionEditor.ts b/src/vs/workbench/contrib/extensions/browser/extensionEditor.ts
index e75ba9e..5c3bd09 100644
index 366c4d2..8e49fc5 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionEditor.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionEditor.ts
@@ -585,3 +585,3 @@ export class ExtensionEditor extends EditorPane {
@ -626,7 +626,7 @@ index e75ba9e..5c3bd09 100644
+ template.navbar.push(ExtensionEditorTab.Contributions, localize('contributions', "Feature Contributions"), localize('contributionstooltip', "Lists contributions to VSCodium by this extension"));
}
diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
index fbf7362..c4dc351 100644
index a705f12..d3a688f 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
@@ -298,3 +298,3 @@ CommandsRegistry.registerCommand({
@ -649,100 +649,100 @@ index fbf7362..c4dc351 100644
- 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, VS Code do not sync this extension when Settings Sync is on."),
+ 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, VSCodium do not sync this extension when Settings Sync is on."),
default: false
@@ -820,3 +820,3 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
@@ -815,3 +815,3 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
const requireReload = !(extension.local && extensionService.canAddExtension(toExtensionDescription(extension.local)));
- const message = requireReload ? localize('InstallVSIXAction.successReload', "Completed installing {0} extension from VSIX. Please reload Visual Studio Code to enable it.", extension.displayName || extension.name)
+ const message = requireReload ? localize('InstallVSIXAction.successReload', "Completed installing {0} extension from VSIX. Please reload VSCodium to enable it.", extension.displayName || extension.name)
: localize('InstallVSIXAction.success', "Completed installing {0} extension from VSIX.", extension.displayName || extension.name);
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
index 9f651b6..c9be538 100644
index 8ad6138..1afde4b 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
@@ -104,3 +104,3 @@ export class PromptExtensionInstallFailureAction extends Action {
@@ -103,3 +103,3 @@ export class PromptExtensionInstallFailureAction extends Action {
if (this.error.name === ExtensionManagementErrorCode.Unsupported) {
- const productName = isWeb ? localize('VS Code for Web', "{0} for the Web", this.productService.nameLong) : this.productService.nameLong;
+ const productName = isWeb ? localize('VSCodium for Web', "{0} for the Web", this.productService.nameLong) : this.productService.nameLong;
const message = localize('cannot be installed', "The '{0}' extension is not available in {1}. Click 'More Information' to learn more.", this.extension.displayName || this.extension.identifier.id, productName);
@@ -382,3 +382,3 @@ export class InstallAction extends ExtensionAction {
@@ -366,3 +366,3 @@ export class InstallAction extends ExtensionAction {
} else if (this.extension.deprecationInfo.settings) {
- detail = localize('deprecated with alternate settings message', "This extension is deprecated as this functionality is now built-in to VS Code.");
+ detail = localize('deprecated with alternate settings message', "This extension is deprecated as this functionality is now built-in to VSCodium.");
@@ -765,3 +765,3 @@ export class UninstallAction extends ExtensionAction {
@@ -749,3 +749,3 @@ export class UninstallAction extends ExtensionAction {
return this.extensionsWorkbenchService.uninstall(this.extension).then(() => {
- alert(localize('uninstallExtensionComplete', "Please reload Visual Studio Code to complete the uninstallation of the extension {0}.", this.extension!.displayName));
+ alert(localize('uninstallExtensionComplete', "Please reload VSCodium to complete the uninstallation of the extension {0}.", this.extension!.displayName));
});
@@ -2231,3 +2231,3 @@ export class ExtensionStatusAction extends ExtensionAction {
@@ -2219,3 +2219,3 @@ export class ExtensionStatusAction extends ExtensionAction {
const link = `[${localize('settings', "settings")}](${URI.parse(`command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify([this.extension.deprecationInfo.settings.map(setting => `@id:${setting}`).join(' ')]))}`)})`;
- 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 VS Code. Configure these {0} to use this functionality.", link)) }, true);
+ 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 VSCodium. Configure these {0} to use this functionality.", link)) }, true);
} else {
@@ -2255,3 +2255,3 @@ export class ExtensionStatusAction extends ExtensionAction {
@@ -2243,3 +2243,3 @@ export class ExtensionStatusAction extends ExtensionAction {
if (this.extensionManagementServerService.webExtensionManagementServer) {
- const productName = localize('VS Code for Web', "{0} for the Web", this.productService.nameLong);
+ const productName = localize('VSCodium for Web', "{0} for the Web", this.productService.nameLong);
const message = new MarkdownString(`${localize('not web tooltip', "The '{0}' extension is not available in {1}.", this.extension.displayName || this.extension.identifier.id, productName)} [${localize('learn why', "Learn Why")}](https://aka.ms/vscode-web-extensions-guide)`);
@@ -2517,3 +2517,3 @@ export class ReinstallAction extends Action {
@@ -2505,3 +2505,3 @@ export class ReinstallAction extends Action {
const requireReload = !(extension.local && this.extensionService.canAddExtension(toExtensionDescription(extension.local)));
- const message = requireReload ? localize('ReinstallAction.successReload', "Please reload Visual Studio Code to complete reinstalling the extension {0}.", extension.identifier.id)
+ const message = requireReload ? localize('ReinstallAction.successReload', "Please reload VSCodium to complete reinstalling the extension {0}.", extension.identifier.id)
: localize('ReinstallAction.success', "Reinstalling the extension {0} is completed.", extension.identifier.id);
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
index db1ded3..9112eec 100644
index de295f7..3046f08 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
@@ -343,3 +343,3 @@ export class Extension implements IExtension {
@@ -344,3 +344,3 @@ export class Extension implements IExtension {
return Promise.resolve(`# ${this.displayName || this.name}
-**Notice:** This extension is bundled with Visual Studio Code. It can be disabled but not uninstalled.
+**Notice:** This extension is bundled with VSCodium. It can be disabled but not uninstalled.
## Features
@@ -376,3 +376,3 @@ ${this.description}
@@ -377,3 +377,3 @@ ${this.description}
if (this.type === ExtensionType.System) {
- return Promise.resolve('Please check the [VS Code Release Notes](command:update.showCurrentReleaseNotes) for changes to the built-in extensions.');
+ return Promise.resolve('Please check the [VSCodium Release Notes](command:update.showCurrentReleaseNotes) for changes to the built-in extensions.');
}
@@ -1108,3 +1108,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
@@ -1110,3 +1110,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
if (!canRemoveRunningExtension && isSameExtensionRunning) {
- return nls.localize('postUninstallTooltip', "Please reload Visual Studio Code to complete the uninstallation of this extension.");
+ return nls.localize('postUninstallTooltip', "Please reload VSCodium to complete the uninstallation of this extension.");
}
@@ -1128,3 +1128,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
@@ -1130,3 +1130,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
if (extension.version !== runningExtension.version || extension.local.targetPlatform !== runningExtension.targetPlatform) {
- return nls.localize('postUpdateTooltip', "Please reload Visual Studio Code to enable the updated extension.");
+ return nls.localize('postUpdateTooltip', "Please reload VSCodium to enable the updated extension.");
}
@@ -1136,3 +1136,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
@@ -1138,3 +1138,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
if (runningExtensionServer === this.extensionManagementServerService.remoteExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local!.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.localExtensionManagementServer) {
- return nls.localize('enable locally', "Please reload Visual Studio Code to enable this extension locally.");
+ return nls.localize('enable locally', "Please reload VSCodium to enable this extension locally.");
}
@@ -1141,3 +1141,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
@@ -1143,3 +1143,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
if (runningExtensionServer === this.extensionManagementServerService.localExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local!.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.remoteExtensionManagementServer) {
- return nls.localize('enable remote', "Please reload Visual Studio Code to enable this extension in {0}.", this.extensionManagementServerService.remoteExtensionManagementServer?.label);
+ return nls.localize('enable remote', "Please reload VSCodium to enable this extension in {0}.", this.extensionManagementServerService.remoteExtensionManagementServer?.label);
}
@@ -1151,3 +1151,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
@@ -1153,3 +1153,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
if (this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local!.manifest)) {
- return nls.localize('postEnableTooltip', "Please reload Visual Studio Code to enable this extension.");
+ return nls.localize('postEnableTooltip', "Please reload VSCodium to enable this extension.");
}
@@ -1157,3 +1157,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
@@ -1159,3 +1159,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
if (this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local!.manifest)) {
- return nls.localize('postEnableTooltip', "Please reload Visual Studio Code to enable this extension.");
+ return nls.localize('postEnableTooltip', "Please reload VSCodium to enable this extension.");
}
@@ -1164,3 +1164,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
@@ -1166,3 +1166,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
if (isSameExtensionRunning) {
- return nls.localize('postDisableTooltip', "Please reload Visual Studio Code to disable this extension.");
+ return nls.localize('postDisableTooltip', "Please reload VSCodium to disable this extension.");
}
@@ -1173,3 +1173,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
@@ -1175,3 +1175,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
if (isEnabled && !this.extensionService.canAddExtension(toExtensionDescription(extension.local))) {
- return nls.localize('postEnableTooltip', "Please reload Visual Studio Code to enable this extension.");
+ return nls.localize('postEnableTooltip', "Please reload VSCodium to enable this extension.");
}
@@ -1181,3 +1181,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
@@ -1183,3 +1183,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
if (extensionInOtherServer && extensionInOtherServer.local && this.extensionEnablementService.isEnabled(extensionInOtherServer.local)) {
- return nls.localize('postEnableTooltip', "Please reload Visual Studio Code to enable this extension.");
+ return nls.localize('postEnableTooltip', "Please reload VSCodium to enable this extension.");
@ -762,7 +762,7 @@ index 3e8cd71..6142f61 100644
+ '\t// List of extensions recommended by VSCodium that should not be recommended for users of this workspace.',
'\t"unwantedRecommendations": [',
diff --git a/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts b/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts
index 88a88a3..ece5d80 100644
index 92be8da..0d2185f 100644
--- a/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts
+++ b/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts
@@ -107,3 +107,3 @@ export class ExternalTerminalContribution implements IWorkbenchContribution {
@ -803,16 +803,16 @@ index fdbef87..0f6a6fa 100644
+ `// ${nls.localize('doc', 'Open VSCodium and run "Developer: Inspect Key Mappings (JSON)" from Command Palette.')}`,
``,
diff --git a/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts b/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts
index 7c6b0fe..11848ab 100644
index 5885e40..6001e0e 100644
--- a/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts
+++ b/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts
@@ -512,3 +512,3 @@ export class RemoteTunnelWorkbenchContribution extends Disposable implements IWo
@@ -554,3 +554,3 @@ export class RemoteTunnelWorkbenchContribution extends Disposable implements IWo
},
- "You can now access this machine anywhere via the secure tunnel [{0}](command:{4}). To connect via a different machine, use the generated [{1}]({2}) link or use the [{6}]({7}) extension in the desktop or web. You can [configure](command:{3}) or [turn off](command:{5}) this access via the VS Code Accounts menu.",
+ "You can now access this machine anywhere via the secure tunnel [{0}](command:{4}). To connect via a different machine, use the generated [{1}]({2}) link or use the [{6}]({7}) extension in the desktop or web. You can [configure](command:{3}) or [turn off](command:{5}) this access via the VSCodium Accounts menu.",
connectionInfo.tunnelName, connectionInfo.domain, linkToOpenForMarkdown, RemoteTunnelCommandIds.manage, RemoteTunnelCommandIds.configure, RemoteTunnelCommandIds.turnOff, remoteExtension.friendlyName, 'https://code.visualstudio.com/docs/remote/tunnels'
diff --git a/src/vs/workbench/contrib/surveys/browser/ces.contribution.ts b/src/vs/workbench/contrib/surveys/browser/ces.contribution.ts
index 386247a..e791a51 100644
index b24d91f..a098a62 100644
--- a/src/vs/workbench/contrib/surveys/browser/ces.contribution.ts
+++ b/src/vs/workbench/contrib/surveys/browser/ces.contribution.ts
@@ -75,3 +75,3 @@ class CESContribution extends Disposable implements IWorkbenchContribution {
@ -821,10 +821,10 @@ index 386247a..e791a51 100644
+ const message = await this.tasExperimentService?.getTreatment<string>('CESSurveyMessage') ?? nls.localize('cesSurveyQuestion', 'Got a moment to help the VSCodium team? Please tell us about your experience with VSCodium so far.');
const button = await this.tasExperimentService?.getTreatment<string>('CESSurveyButton') ?? nls.localize('giveFeedback', "Give Feedback");
diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
index 9fc3493..cee8724 100644
index 04b21c5..8d25f65 100644
--- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
+++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
@@ -3093,3 +3093,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
@@ -3106,3 +3106,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
if (response.code && response.code === TerminateResponseCode.ProcessNotFound) {
- this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting VS Code might result in orphaned processes.'));
+ this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting VSCodium might result in orphaned processes.'));
@ -862,10 +862,10 @@ index 34fb9cc..965008e 100644
+ message: nls.localize('TaskSystem.noProcess', 'The launched task doesn\'t exist anymore. If the task spawned background processes exiting VSCodium might result in orphaned processes. To avoid this start the last background process with a wait flag.'),
primaryButton: nls.localize({ key: 'TaskSystem.exitAnyways', comment: ['&& denotes a mnemonic'] }, "&&Exit Anyways"),
diff --git a/src/vs/workbench/contrib/terminal/browser/terminalView.ts b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
index c780642..ec47c94 100644
index f91f800..44c19cb 100644
--- a/src/vs/workbench/contrib/terminal/browser/terminalView.ts
+++ b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
@@ -159,3 +159,3 @@ export class TerminalViewPane extends ViewPane {
@@ -169,3 +169,3 @@ export class TerminalViewPane extends ViewPane {
}];
- this._notificationService.prompt(Severity.Warning, nls.localize('terminal.monospaceOnly', "The terminal only supports monospace fonts. Be sure to restart VS Code if this is a newly installed font."), choices);
+ this._notificationService.prompt(Severity.Warning, nls.localize('terminal.monospaceOnly', "The terminal only supports monospace fonts. Be sure to restart VSCodium if this is a newly installed font."), choices);
@ -885,17 +885,17 @@ index 45243cd..9357d53 100644
+ localize({ key: 'newThemeNotification', comment: ['{0} is the name of the new default theme'] }, "VSCodium now ships with a new default theme '{0}'. Do you want to give it a try?", theme.label),
choices,
diff --git a/src/vs/workbench/contrib/update/browser/update.ts b/src/vs/workbench/contrib/update/browser/update.ts
index 5100099..b697747 100644
index bfba80a..9bf3b7b 100644
--- a/src/vs/workbench/contrib/update/browser/update.ts
+++ b/src/vs/workbench/contrib/update/browser/update.ts
@@ -512,4 +512,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor
@@ -559,4 +559,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 VSCodium.") :
+ nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of VSCodium."),
primaryButton: nls.localize({ key: 'reload', comment: ['&& denotes a mnemonic'] }, "&&Reload")
@@ -548,3 +548,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor
@@ -595,3 +595,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 VSCodium will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."),
@ -971,7 +971,7 @@ index 6d70549..c78c2db 100644
+ markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within VSCodium. When used with `#{0}#`, you can enable the full functionality of VSCodium without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES),
tags: [WORKSPACE_TRUST_SETTING_TAG],
diff --git a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
index 218befa..492b7b1 100644
index 8001988..fb62908 100644
--- a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
+++ b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
@@ -492,3 +492,3 @@ export class ExtensionManagementService extends Disposable implements IWorkbench
@ -1056,10 +1056,10 @@ index 0f604a3..e4da080 100644
+ label: nls.localize('relaunch', "Relaunch VSCodium"),
run: () => {
diff --git a/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts b/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts
index 75d7d57..05dea0a 100644
index 9468c15..26c1289 100644
--- a/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts
+++ b/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts
@@ -134,3 +134,3 @@ export class UserDataProfileManagementService extends Disposable implements IUse
@@ -140,3 +140,3 @@ export class UserDataProfileManagementService extends Disposable implements IUse
const { confirmed } = await this.dialogService.confirm({
- message: reloadMessage ?? localize('reload message', "Switching a profile requires reloading VS Code."),
+ message: reloadMessage ?? localize('reload message', "Switching a profile requires reloading VSCodium."),

View file

@ -1,13 +0,0 @@
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
index 81ba509..59041e2 100644
--- a/build/gulpfile.vscode.win32.js
+++ b/build/gulpfile.vscode.win32.js
@@ -137,7 +137,7 @@ defineWin32SetupTasks('arm64', 'user');
*/
function archiveWin32Setup(arch) {
return cb => {
- const args = ['a', '-tzip', zipPath(arch), '-x!CodeSignSummary*.md', '.', '-r'];
+ const args = ['a', '-tzip', zipPath(arch), '-x!CodeSignSummary*.md', '-x!tools', '.', '-r'];
cp.spawn(_7z, args, { stdio: 'inherit', cwd: buildPath(arch) })
.on('error', cb)

View file

@ -1,435 +1,52 @@
diff --git a/extensions/github-authentication/src/githubServer.ts b/extensions/github-authentication/src/githubServer.ts
index 3662719..5bf55e0 100644
--- a/extensions/github-authentication/src/githubServer.ts
+++ b/extensions/github-authentication/src/githubServer.ts
@@ -6,4 +6,2 @@
import * as vscode from 'vscode';
-import * as path from 'path';
-import { PromiseAdapter, promiseFromEvent } from './common/utils';
import { ExperimentationTelemetry } from './common/experimentationService';
@@ -11,10 +9,5 @@ import { AuthProviderType, UriEventHandler } from './github';
import { Log } from './common/logger';
-import { isSupportedClient, isSupportedTarget } from './common/env';
-import { LoopbackAuthServer } from './node/authServer';
-import { crypto } from './node/crypto';
+import { isSupportedTarget } from './common/env';
import { fetching } from './node/fetch';
diff --git a/extensions/github-authentication/src/common/env.ts b/extensions/github-authentication/src/common/env.ts
index ebc4749..18fd732 100644
--- a/extensions/github-authentication/src/common/env.ts
+++ b/extensions/github-authentication/src/common/env.ts
@@ -7,21 +7,4 @@ import { AuthProviderType } from '../github';
-const CLIENT_ID = '01ab8ac9400c4e429b23';
-const GITHUB_TOKEN_URL = 'https://vscode.dev/codeExchangeProxyEndpoints/github/login/oauth/access_token';
-const VALID_DESKTOP_CALLBACK_SCHEMES = [
- 'vscode',
- 'vscode-insiders',
- // On Windows, some browsers don't seem to redirect back to OSS properly.
- // As a result, you get stuck in the auth flow. We exclude this from the
- // list until we can figure out a way to fix this behavior in browsers.
- // 'code-oss',
- 'vscode-wsl',
- 'vscode-exploration'
-];
-
// This is the error message that we throw if the login was cancelled for any reason. Extensions
@@ -23,3 +16,2 @@ const CANCELLATION_ERROR = 'Cancelled';
// These error messages are internal and should not be shown to the user in any way.
-const TIMED_OUT_ERROR = 'Timed out';
const USER_CANCELLATION_ERROR = 'User Cancelled';
@@ -27,5 +19,2 @@ const NETWORK_ERROR = 'network error';
-export function isSupportedClient(uri: Uri): boolean {
- return (
- VALID_DESKTOP_CALLBACK_SCHEMES.includes(uri.scheme) ||
- // vscode.dev & insiders.vscode.dev
- /(?:^|\.)vscode\.dev$/.test(uri.authority) ||
- // github.dev & codespaces
- /(?:^|\.)github\.dev$/.test(uri.authority)
- );
+export function isSupportedClient(_uri: Uri): boolean {
+ return false;
}
@@ -35,4 +18,4 @@ export function isSupportedTarget(type: AuthProviderType, gheUri?: Uri): boolean
-const REDIRECT_URL_STABLE = 'https://vscode.dev/redirect';
-const REDIRECT_URL_INSIDERS = 'https://insiders.vscode.dev/redirect';
-
export interface IGitHubServer {
@@ -37,9 +26,2 @@ export interface IGitHubServer {
-interface IGitHubDeviceCodeResponse {
- device_code: string;
- user_code: string;
- verification_uri: string;
- interval: number;
-}
-
async function getScopes(token: string, serverUri: vscode.Uri, logger: Log): Promise<string[]> {
@@ -70,8 +52,4 @@ export class GitHubServer implements IGitHubServer {
- private readonly _pendingNonces = new Map<string, string[]>();
- private readonly _codeExchangePromises = new Map<string, { promise: Promise<string>; cancel: vscode.EventEmitter<void> }>();
private readonly _type: AuthProviderType;
- private _redirectEndpoint: string | undefined;
-
constructor(
@@ -79,3 +57,5 @@ export class GitHubServer implements IGitHubServer {
private readonly _telemetryReporter: ExperimentationTelemetry,
+ // @ts-ignore
private readonly _uriHandler: UriEventHandler,
+ // @ts-ignore
private readonly _extensionKind: vscode.ExtensionKind,
@@ -94,26 +74,2 @@ export class GitHubServer implements IGitHubServer {
- private async getRedirectEndpoint(): Promise<string> {
- if (this._redirectEndpoint) {
- return this._redirectEndpoint;
- }
- if (this._type === AuthProviderType.github) {
- const proxyEndpoints = await vscode.commands.executeCommand<{ [providerId: string]: string } | undefined>('workbench.getCodeExchangeProxyEndpoints');
- // If we are running in insiders vscode.dev, then ensure we use the redirect route on that.
- this._redirectEndpoint = REDIRECT_URL_STABLE;
- if (proxyEndpoints?.github && new URL(proxyEndpoints.github).hostname === 'insiders.vscode.dev') {
- this._redirectEndpoint = REDIRECT_URL_INSIDERS;
- }
- } else {
- // GHE only supports a single redirect endpoint, so we can't use
- // insiders.vscode.dev/redirect when we're running in Insiders, unfortunately.
- // Additionally, we make the assumption that this function will only be used
- // in flows that target supported GHE targets, not on-prem GHES. Because of this
- // assumption, we can assume that the GHE version used is at least 3.8 which is
- // the version that changed the redirect endpoint to this URI from the old
- // GitHub maintained server.
- this._redirectEndpoint = 'https://vscode.dev/redirect';
- }
- return this._redirectEndpoint;
- }
-
// TODO@joaomoreno TODO@TylerLeonhardt
@@ -129,68 +85,7 @@ export class GitHubServer implements IGitHubServer {
let userCancelled: boolean | undefined;
- const yes = vscode.l10n.t('Yes');
- const no = vscode.l10n.t('No');
- const promptToContinue = async (mode: string) => {
- if (userCancelled === undefined) {
- // We haven't had a failure yet so wait to prompt
- return;
- }
- const message = userCancelled
- ? vscode.l10n.t('Having trouble logging in? Would you like to try a different way? ({0})', mode)
- : vscode.l10n.t('You have not yet finished authorizing this extension to use GitHub. Would you like to try a different way? ({0})', mode);
- const result = await vscode.window.showWarningMessage(message, yes, no);
- if (result !== yes) {
- throw new Error(CANCELLATION_ERROR);
- }
- };
-
- const nonce: string = crypto.getRandomValues(new Uint32Array(2)).reduce((prev, curr) => prev += curr.toString(16), '');
- const callbackUri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/did-authenticate?nonce=${encodeURIComponent(nonce)}`));
-
- const supportedClient = isSupportedClient(callbackUri);
- const supportedTarget = isSupportedTarget(this._type, this._ghesUri);
- if (supportedClient && supportedTarget) {
- try {
- return await this.doLoginWithoutLocalServer(scopes, nonce, callbackUri);
- } catch (e) {
- this._logger.error(e);
- userCancelled = e.message ?? e === USER_CANCELLATION_ERROR;
- }
- }
-
- // Starting a local server is only supported if:
- // 1. We are in a UI extension because we need to open a port on the machine that has the browser
- // 2. We are in a node runtime because we need to open a port on the machine
- // 3. code exchange can only be done with a supported target
- if (
- this._extensionKind === vscode.ExtensionKind.UI &&
- typeof navigator === 'undefined' &&
- supportedTarget
- ) {
- try {
- await promptToContinue(vscode.l10n.t('local server'));
- return await this.doLoginWithLocalServer(scopes);
- } catch (e) {
- userCancelled = this.processLoginError(e);
- }
- }
-
- // We only can use the Device Code flow when we have a full node environment because of CORS.
- if (typeof navigator === 'undefined') {
- try {
- await promptToContinue(vscode.l10n.t('device code'));
- return await this.doLoginDeviceCodeFlow(scopes);
- } catch (e) {
- userCancelled = this.processLoginError(e);
- }
- }
- // In a supported environment, we can't use PAT auth because we use this auth for Settings Sync and it doesn't support PATs.
- // With that said, GitHub Enterprise isn't used by Settings Sync so we can use PATs for that.
- if (!supportedClient || this._type === AuthProviderType.githubEnterprise) {
- try {
- await promptToContinue(vscode.l10n.t('personal access token'));
- return await this.doLoginWithPat(scopes);
- } catch (e) {
- userCancelled = this.processLoginError(e);
- }
+ try {
+ return await this.doLoginWithPat(scopes);
+ } catch (e) {
+ userCancelled = this.processLoginError(e);
}
@@ -200,136 +95,2 @@ export class GitHubServer implements IGitHubServer {
- private async doLoginWithoutLocalServer(scopes: string, nonce: string, callbackUri: vscode.Uri): Promise<string> {
- this._logger.info(`Trying without local server... (${scopes})`);
- return await vscode.window.withProgress<string>({
- location: vscode.ProgressLocation.Notification,
- title: vscode.l10n.t({
- message: 'Signing in to {0}...',
- args: [this.baseUri.authority],
- comment: ['The {0} will be a url, e.g. github.com']
- }),
- cancellable: true
- }, async (_, token) => {
- const existingNonces = this._pendingNonces.get(scopes) || [];
- this._pendingNonces.set(scopes, [...existingNonces, nonce]);
- const redirectUri = await this.getRedirectEndpoint();
- const searchParams = new URLSearchParams([
- ['client_id', CLIENT_ID],
- ['redirect_uri', redirectUri],
- ['scope', scopes],
- ['state', encodeURIComponent(callbackUri.toString(true))]
- ]);
-
- const uri = vscode.Uri.parse(this.baseUri.with({
- path: '/login/oauth/authorize',
- query: searchParams.toString()
- }).toString(true));
- await vscode.env.openExternal(uri);
-
- // Register a single listener for the URI callback, in case the user starts the login process multiple times
- // before completing it.
- let codeExchangePromise = this._codeExchangePromises.get(scopes);
- if (!codeExchangePromise) {
- codeExchangePromise = promiseFromEvent(this._uriHandler!.event, this.handleUri(scopes));
- this._codeExchangePromises.set(scopes, codeExchangePromise);
- }
-
- try {
- return await Promise.race([
- codeExchangePromise.promise,
- new Promise<string>((_, reject) => setTimeout(() => reject(TIMED_OUT_ERROR), 300_000)), // 5min timeout
- promiseFromEvent<any, any>(token.onCancellationRequested, (_, __, reject) => { reject(USER_CANCELLATION_ERROR); }).promise
- ]);
- } finally {
- this._pendingNonces.delete(scopes);
- codeExchangePromise?.cancel.fire();
- this._codeExchangePromises.delete(scopes);
- }
- });
- }
-
- private async doLoginWithLocalServer(scopes: string): Promise<string> {
- this._logger.info(`Trying with local server... (${scopes})`);
- return await vscode.window.withProgress<string>({
- location: vscode.ProgressLocation.Notification,
- title: vscode.l10n.t({
- message: 'Signing in to {0}...',
- args: [this.baseUri.authority],
- comment: ['The {0} will be a url, e.g. github.com']
- }),
- cancellable: true
- }, async (_, token) => {
- const redirectUri = await this.getRedirectEndpoint();
- const searchParams = new URLSearchParams([
- ['client_id', CLIENT_ID],
- ['redirect_uri', redirectUri],
- ['scope', scopes],
- ]);
-
- const loginUrl = this.baseUri.with({
- path: '/login/oauth/authorize',
- query: searchParams.toString()
- });
- const server = new LoopbackAuthServer(path.join(__dirname, '../media'), loginUrl.toString(true));
- const port = await server.start();
-
- let codeToExchange;
- try {
- vscode.env.openExternal(vscode.Uri.parse(`http://127.0.0.1:${port}/signin?nonce=${encodeURIComponent(server.nonce)}`));
- const { code } = await Promise.race([
- server.waitForOAuthResponse(),
- new Promise<any>((_, reject) => setTimeout(() => reject(TIMED_OUT_ERROR), 300_000)), // 5min timeout
- promiseFromEvent<any, any>(token.onCancellationRequested, (_, __, reject) => { reject(USER_CANCELLATION_ERROR); }).promise
- ]);
- codeToExchange = code;
- } finally {
- setTimeout(() => {
- void server.stop();
- }, 5000);
- }
-
- const accessToken = await this.exchangeCodeForToken(codeToExchange);
- return accessToken;
- });
- }
-
- private async doLoginDeviceCodeFlow(scopes: string): Promise<string> {
- this._logger.info(`Trying device code flow... (${scopes})`);
-
- // Get initial device code
- const uri = this.baseUri.with({
- path: '/login/device/code',
- query: `client_id=${CLIENT_ID}&scope=${scopes}`
- });
- const result = await fetching(uri.toString(true), {
- method: 'POST',
- headers: {
- Accept: 'application/json'
- }
- });
- if (!result.ok) {
- throw new Error(`Failed to get one-time code: ${await result.text()}`);
- }
-
- const json = await result.json() as IGitHubDeviceCodeResponse;
-
- const button = vscode.l10n.t('Copy & Continue to GitHub');
- const modalResult = await vscode.window.showInformationMessage(
- vscode.l10n.t({ message: 'Your Code: {0}', args: [json.user_code], comment: ['The {0} will be a code, e.g. 123-456'] }),
- {
- modal: true,
- detail: vscode.l10n.t('To finish authenticating, navigate to GitHub and paste in the above one-time code.')
- }, button);
-
- if (modalResult !== button) {
- throw new Error(USER_CANCELLATION_ERROR);
- }
-
- await vscode.env.clipboard.writeText(json.user_code);
-
- const uriToOpen = await vscode.env.asExternalUri(vscode.Uri.parse(json.verification_uri));
- await vscode.env.openExternal(uriToOpen);
-
- return await this.waitForDeviceCodeAccessToken(json);
- }
-
private async doLoginWithPat(scopes: string): Promise<string> {
@@ -373,124 +134,2 @@ export class GitHubServer implements IGitHubServer {
- private async waitForDeviceCodeAccessToken(
- json: IGitHubDeviceCodeResponse,
- ): Promise<string> {
- return await vscode.window.withProgress<string>({
- location: vscode.ProgressLocation.Notification,
- cancellable: true,
- title: vscode.l10n.t({
- message: 'Open [{0}]({0}) in a new tab and paste your one-time code: {1}',
- args: [json.verification_uri, json.user_code],
- comment: [
- 'The [{0}]({0}) will be a url and the {1} will be a code, e.g. 123-456',
- '{Locked="[{0}]({0})"}'
- ]
- })
- }, async (_, token) => {
- const refreshTokenUri = this.baseUri.with({
- path: '/login/oauth/access_token',
- query: `client_id=${CLIENT_ID}&device_code=${json.device_code}&grant_type=urn:ietf:params:oauth:grant-type:device_code`
- });
-
- // Try for 2 minutes
- const attempts = 120 / json.interval;
- for (let i = 0; i < attempts; i++) {
- await new Promise(resolve => setTimeout(resolve, json.interval * 1000));
- if (token.isCancellationRequested) {
- throw new Error(USER_CANCELLATION_ERROR);
- }
- let accessTokenResult;
- try {
- accessTokenResult = await fetching(refreshTokenUri.toString(true), {
- method: 'POST',
- headers: {
- Accept: 'application/json'
- }
- });
- } catch {
- continue;
- }
-
- if (!accessTokenResult.ok) {
- continue;
- }
-
- const accessTokenJson = await accessTokenResult.json();
-
- if (accessTokenJson.error === 'authorization_pending') {
- continue;
- }
-
- if (accessTokenJson.error) {
- throw new Error(accessTokenJson.error_description);
- }
-
- return accessTokenJson.access_token;
- }
-
- throw new Error(TIMED_OUT_ERROR);
- });
- }
-
- private handleUri: (scopes: string) => PromiseAdapter<vscode.Uri, string> =
- (scopes) => (uri, resolve, reject) => {
- const query = new URLSearchParams(uri.query);
- const code = query.get('code');
- const nonce = query.get('nonce');
- if (!code) {
- reject(new Error('No code'));
- return;
- }
- if (!nonce) {
- reject(new Error('No nonce'));
- return;
- }
-
- const acceptedNonces = this._pendingNonces.get(scopes) || [];
- if (!acceptedNonces.includes(nonce)) {
- // A common scenario of this happening is if you:
- // 1. Trigger a sign in with one set of scopes
- // 2. Before finishing 1, you trigger a sign in with a different set of scopes
- // In this scenario we should just return and wait for the next UriHandler event
- // to run as we are probably still waiting on the user to hit 'Continue'
- this._logger.info('Nonce not found in accepted nonces. Skipping this execution...');
- return;
- }
-
- resolve(this.exchangeCodeForToken(code));
- };
-
- private async exchangeCodeForToken(code: string): Promise<string> {
- this._logger.info('Exchanging code for token...');
-
- const proxyEndpoints: { [providerId: string]: string } | undefined = await vscode.commands.executeCommand('workbench.getCodeExchangeProxyEndpoints');
- const endpointUrl = proxyEndpoints?.github ? `${proxyEndpoints.github}login/oauth/access_token` : GITHUB_TOKEN_URL;
-
- const body = new URLSearchParams([['code', code]]);
- if (this._type === AuthProviderType.githubEnterprise) {
- body.append('github_enterprise', this.baseUri.toString(true));
- body.append('redirect_uri', await this.getRedirectEndpoint());
- }
- const result = await fetching(endpointUrl, {
- method: 'POST',
- headers: {
- Accept: 'application/json',
- 'Content-Type': 'application/x-www-form-urlencoded',
- 'Content-Length': body.toString()
-
- },
- body: body.toString()
- });
-
- if (result.ok) {
- const json = await result.json();
- this._logger.info('Token exchange success!');
- return json.access_token;
- } else {
- const text = await result.text();
- const error = new Error(text);
- error.name = 'GitHubTokenExchangeError';
- throw error;
- }
- }
-
private getServerUri(path: string = '') {
-export function isHostedGitHubEnterprise(uri: Uri): boolean {
- return /\.ghe\.com$/.test(uri.authority);
+export function isHostedGitHubEnterprise(_uri: Uri): boolean {
+ return false;
}
diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
index ce04327..e66a7f5 100644
index d09cfa0..dacbde5 100644
--- a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
+++ b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
@@ -355,3 +355,3 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem {
@@ -356,3 +356,3 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem {
- if (providers.length && !menus.length) {
+ if (!menus.length) {
const noAccountsAvailableAction = disposables.add(new Action('noAccountsAvailable', localize('noAccounts', "You are not signed in to any accounts"), undefined, false));
diff --git a/src/vs/workbench/services/authentication/browser/authenticationService.ts b/src/vs/workbench/services/authentication/browser/authenticationService.ts
index 5285663..08f9e42 100644
index f6c2f14..aa27b28 100644
--- a/src/vs/workbench/services/authentication/browser/authenticationService.ts
+++ b/src/vs/workbench/services/authentication/browser/authenticationService.ts
@@ -274,12 +274,2 @@ export class AuthenticationService extends Disposable implements IAuthentication
@@ -284,12 +284,2 @@ export class AuthenticationService extends Disposable implements IAuthentication
}
-
- if (!this._authenticationProviders.size) {

View file

@ -272,6 +272,14 @@
"digitarald.chat-plugins": [
"interactiveSlashCommands"
],
"microsoft-IsvExpTools.powerplatform-vscode": [
"fileSearchProvider",
"textSearchProvider"
],
"microsoft-IsvExpTools.powerplatform-vscode-preview": [
"fileSearchProvider",
"textSearchProvider"
],
"jeanp413.open-remote-ssh": [
"resolvers",
"tunnels",