diff --git a/package.json b/package.json index 5a4a12f9d..12ed7fd68 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "lib": "lib" }, "devDependencies": { - "@github1s/vscode-web": "0.19.0", + "@github1s/vscode-web": "0.20.0", "@typescript-eslint/eslint-plugin": "^5.40.1", "@typescript-eslint/parser": "^5.40.1", "chokidar": "^3.5.3", diff --git a/vscode-web/.VERSION b/vscode-web/.VERSION index ccbe32c01..6737000a1 100644 --- a/vscode-web/.VERSION +++ b/vscode-web/.VERSION @@ -1 +1 @@ -1.88.1 \ No newline at end of file +1.89.1 \ No newline at end of file diff --git a/vscode-web/package.json b/vscode-web/package.json index fdc789566..2090973d8 100644 --- a/vscode-web/package.json +++ b/vscode-web/package.json @@ -1,6 +1,6 @@ { "name": "@github1s/vscode-web", - "version": "0.19.0", + "version": "0.20.0", "description": "VS Code web for GitHub1s", "author": "github1s", "license": "MIT", diff --git a/vscode-web/scripts/.patch b/vscode-web/scripts/.patch index e35897c09..dd9051f8d 100644 --- a/vscode-web/scripts/.patch +++ b/vscode-web/scripts/.patch @@ -2,7 +2,7 @@ "vs/code/browser/workbench/workbench.ts": "4d5caa66a9d8d5c862c4ee6a928c4e1cb7cc93fc481dc9c471245229be7323e1", "vs/workbench/browser/parts/activitybar/activitybarPart.ts": "f1f646360d161b62ac857698cfe4f1e2f63107c86f8100f630c8d704f15049f5", "vs/workbench/browser/parts/titlebar/media/titlebarpart.css": "253c6b6b1212d0ca80e1969959d3d09d0c1040f3bea3ad076f2708783bd14544", - "vs/workbench/browser/web.main.ts": "40def654a6762f4d7393e65230d613379d70a4f21829b4882a911e8397fe1b58", + "vs/workbench/browser/web.main.ts": "afc8cfaf89611b7c18b6087ad0fb4d5eeec1ef71bd035a8b0f88505af4953496", "vs/workbench/contrib/files/browser/editors/fileEditorInput.ts": "86663454cc80d8fb63900ffd88f826ad971071976e54c2b9dfbbcab17bd6dc49", "vs/workbench/contrib/webview/browser/pre/index.html": "7bcd1298e5cc21a5526e89954c09c225a33a22713f840a7aa172305b517d11d7", "vs/workbench/services/extensionManagement/browser/builtinExtensionsScannerService.ts": "8cbb23b36f1e35436c0cd53b10f6ba2d3a51c92cee297d1fd956b9dcd6e33b1a", diff --git a/vscode-web/src/vs/workbench/browser/web.main.ts b/vscode-web/src/vs/workbench/browser/web.main.ts index a08762c20..6ba6c9ea2 100644 --- a/vscode-web/src/vs/workbench/browser/web.main.ts +++ b/vscode-web/src/vs/workbench/browser/web.main.ts @@ -76,7 +76,7 @@ import { ILabelService } from 'vs/platform/label/common/label'; import { UserDataProfileService } from 'vs/workbench/services/userDataProfile/common/userDataProfileService'; import { IUserDataProfileService } from 'vs/workbench/services/userDataProfile/common/userDataProfile'; import { BrowserUserDataProfilesService } from 'vs/platform/userDataProfile/browser/userDataProfile'; -import { timeout } from 'vs/base/common/async'; +import { DeferredPromise, timeout } from 'vs/base/common/async'; import { windowLogId } from 'vs/workbench/services/log/common/logConstants'; import { LogService } from 'vs/platform/log/common/logService'; import { IRemoteSocketFactoryService, RemoteSocketFactoryService } from 'vs/platform/remote/common/remoteSocketFactoryService'; @@ -95,6 +95,7 @@ import { IEncryptionService } from 'vs/platform/encryption/common/encryptionServ import { ISecretStorageService } from 'vs/platform/secrets/common/secrets'; import { TunnelSource } from 'vs/workbench/services/remote/common/tunnelModel'; import { mainWindow } from 'vs/base/browser/window'; +import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; export class BrowserMain extends Disposable { @@ -156,10 +157,27 @@ export class BrowserMain extends Disposable { const remoteExplorerService = accessor.get(IRemoteExplorerService); const labelService = accessor.get(ILabelService); const embedderTerminalService = accessor.get(IEmbedderTerminalService); + const remoteAuthorityResolverService = accessor.get(IRemoteAuthorityResolverService); + const notificationService = accessor.get(INotificationService); + + async function showMessage(severity: Severity, message: string, ...items: T[]): Promise { + const choice = new DeferredPromise(); + const handle = notificationService.prompt(severity, message, items.map(item => ({ + label: item, + run: () => choice.complete(item) + }))); + const disposable = handle.onDidClose(() => { + choice.complete(undefined); + disposable.dispose(); + }); + const result = await choice.p; + handle.close(); + return result; + } let logger: DelayedLogChannel | undefined = undefined; - return { + return { commands: { executeCommand: (command, ...args) => commandService.executeCommand(command, ...args) }, @@ -188,8 +206,16 @@ export class BrowserMain extends Disposable { window: { withProgress: (options, task) => progressService.withProgress(options, task), createTerminal: async (options) => embedderTerminalService.createTerminal(options), + showInformationMessage: (message, ...items) => showMessage(Severity.Info, message, ...items), }, workspace: { + didResolveRemoteAuthority: async () => { + if (!this.configuration.remoteAuthority) { + return; + } + + await remoteAuthorityResolverService.resolveAuthority(this.configuration.remoteAuthority); + }, openTunnel: async tunnelOptions => { const tunnel = assertIsDefined(await remoteExplorerService.forward({ remote: tunnelOptions.remoteAddress, diff --git a/yarn.lock b/yarn.lock index ce9d02e73..aa7df9d68 100644 --- a/yarn.lock +++ b/yarn.lock @@ -31,10 +31,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@github1s/vscode-web@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@github1s/vscode-web/-/vscode-web-0.19.0.tgz#fd7aa91366379ad791bceb14506a49ac88dc9dd6" - integrity sha512-l/QrTA6e2ejaLZQSPgC1x32A1a+zeqUP+SdhUdPocjptjDrS3I+NwL8L2+jPD2XLI+Mg59Z62ABbNuHFiWCSNA== +"@github1s/vscode-web@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@github1s/vscode-web/-/vscode-web-0.20.0.tgz#c4abf4166a1523e6e68d5e5c8a12d0054c3dbb5a" + integrity sha512-0ElKHfGQh2rvUp5Kc3Og9eCNIue/7A4k/UOnaK8HoypNi9J+tXeV/m2RCtFJk7cXCzfvlDfGehFHxNX0QN2+5A== dependencies: "@vscode/iconv-lite-umd" "0.7.0" "@vscode/vscode-languagedetection" "1.0.21"