diff --git a/extensions/gitpod-remote/package.json b/extensions/gitpod-remote/package.json index 7dbd577debd6d..946d50b68f329 100644 --- a/extensions/gitpod-remote/package.json +++ b/extensions/gitpod-remote/package.json @@ -103,17 +103,17 @@ { "command": "gitpod.openInStable", "title": "%openInStable%", - "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'web'" + "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'web' && gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.openInInsiders", "title": "%openInInsiders%", - "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'web'" + "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'web' && gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.openInBrowser", "title": "%openInBrowser%", - "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'desktop'" + "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'desktop' && gitpod.ideAlias == 'code-latest'" } ], "menus": { @@ -196,17 +196,17 @@ { "command": "gitpod.openInStable", "group": "remote_00_gitpod_navigation@900", - "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'web'" + "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'web' && gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.openInInsiders", "group": "remote_00_gitpod_navigation@1000", - "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'web'" + "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'web' && gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.openInBrowser", "group": "remote_00_gitpod_navigation@1000", - "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'desktop'" + "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'desktop' && gitpod.ideAlias == 'code-latest'" } ] } @@ -221,4 +221,4 @@ "gitpod-shared": "0.0.1", "vscode-nls": "^5.0.0" } -} +} \ No newline at end of file diff --git a/extensions/gitpod-remote/src/extension.ts b/extensions/gitpod-remote/src/extension.ts index 3544407857047..0b928aa8fd1ab 100644 --- a/extensions/gitpod-remote/src/extension.ts +++ b/extensions/gitpod-remote/src/extension.ts @@ -79,14 +79,12 @@ export function registerCLI(context: GitpodExtensionContext): void { return; } - // TODO(ak) fetch ide port from supervisor - const idePort = Number(process.env.GITPOD_THEIA_PORT); async function updateIpcHookCli(): Promise { try { await new Promise((resolve, reject) => { const req = http.request({ hostname: 'localhost', - port: idePort, + port: context.info.getIdePort(), protocol: 'http:', path: '/cli', method: vscode.window.state.focused ? 'PUT' : 'DELETE' diff --git a/extensions/gitpod-shared/package.json b/extensions/gitpod-shared/package.json index d57e48c16012c..b4c684afd10dd 100644 --- a/extensions/gitpod-shared/package.json +++ b/extensions/gitpod-shared/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@gitpod/gitpod-protocol": "main", - "@gitpod/supervisor-api-grpc": "jeanp413-your-workspace-is-currently-5313", + "@gitpod/supervisor-api-grpc": "ak-no-code-desktop-in-stable", "bufferutil": "^4.0.1", "reconnecting-websocket": "^4.4.0", "utf-8-validate": "^5.0.2", diff --git a/extensions/gitpod-shared/scripts/inflate.js b/extensions/gitpod-shared/scripts/inflate.js index 47d966ed66681..5fde1fb27da99 100644 --- a/extensions/gitpod-shared/scripts/inflate.js +++ b/extensions/gitpod-shared/scripts/inflate.js @@ -106,17 +106,17 @@ const commands = [ { 'command': 'gitpod.openInStable', 'title': '%openInStable%', - 'enablement': 'gitpod.inWorkspace == true && gitpod.UIKind == \'web\'' + 'enablement': 'gitpod.inWorkspace == true && gitpod.UIKind == \'web\' && gitpod.ideAlias == \'code-latest\'' }, { 'command': 'gitpod.openInInsiders', 'title': '%openInInsiders%', - 'enablement': 'gitpod.inWorkspace == true && gitpod.UIKind == \'web\'' + 'enablement': 'gitpod.inWorkspace == true && gitpod.UIKind == \'web\' && gitpod.ideAlias == \'code-latest\'' }, { 'command': 'gitpod.openInBrowser', 'title': '%openInBrowser%', - 'enablement': 'gitpod.inWorkspace == true && gitpod.UIKind == \'desktop\'' + 'enablement': 'gitpod.inWorkspace == true && gitpod.UIKind == \'desktop\' && gitpod.ideAlias == \'code-latest\'' } ]; @@ -199,17 +199,17 @@ const remoteMenus = [ { 'command': 'gitpod.openInStable', 'group': 'remote_00_gitpod_navigation@900', - 'when': 'gitpod.inWorkspace == true && gitpod.UIKind == \'web\'' + 'when': 'gitpod.inWorkspace == true && gitpod.UIKind == \'web\' && gitpod.ideAlias == \'code-latest\'' }, { 'command': 'gitpod.openInInsiders', 'group': 'remote_00_gitpod_navigation@1000', - 'when': 'gitpod.inWorkspace == true && gitpod.UIKind == \'web\'' + 'when': 'gitpod.inWorkspace == true && gitpod.UIKind == \'web\' && gitpod.ideAlias == \'code-latest\'' }, { 'command': 'gitpod.openInBrowser', 'group': 'remote_00_gitpod_navigation@1000', - 'when': 'gitpod.inWorkspace == true && gitpod.UIKind == \'desktop\'' + 'when': 'gitpod.inWorkspace == true && gitpod.UIKind == \'desktop\' && gitpod.ideAlias == \'code-latest\'' } ]; diff --git a/extensions/gitpod-shared/src/extension.ts b/extensions/gitpod-shared/src/extension.ts index 8a8d95369a386..6e21e32ae77d0 100644 --- a/extensions/gitpod-shared/src/extension.ts +++ b/extensions/gitpod-shared/src/extension.ts @@ -17,6 +17,14 @@ export async function createContext(context: vscode.ExtensionContext): Promise openDesktop('vscode'))); + context.subscriptions.push(vscode.commands.registerCommand('gitpod.openInInsiders', () => openDesktop('vscode-insiders'))); + } + if (vscode.env.uiKind === vscode.UIKind.Desktop) { + context.subscriptions.push(vscode.commands.registerCommand('gitpod.openInBrowser', () => + vscode.env.openExternal(vscode.Uri.parse(context.info.getWorkspaceUrl())) + )); } - context.subscriptions.push(vscode.commands.registerCommand('gitpod.openInStable', () => openDesktop('vscode'))); - context.subscriptions.push(vscode.commands.registerCommand('gitpod.openInInsiders', () => openDesktop('vscode-insiders'))); - } - // TODO(ak) fetch from supervisor info endpoint - const workspaceUrl = process.env.GITPOD_WORKSPACE_URL; - if (vscode.env.uiKind === vscode.UIKind.Desktop && workspaceUrl) { - vscode.commands.executeCommand('setContext', 'gitpod.UIKind', 'desktop'); - context.subscriptions.push(vscode.commands.registerCommand('gitpod.openInBrowser', () => - vscode.env.openExternal(vscode.Uri.parse(workspaceUrl)) - )); } const communityStatusBarItem = vscode.window.createStatusBarItem('gitpod.community', vscode.StatusBarAlignment.Right, -100); diff --git a/extensions/gitpod-web/package.json b/extensions/gitpod-web/package.json index 7875461824d87..bbf173c682984 100644 --- a/extensions/gitpod-web/package.json +++ b/extensions/gitpod-web/package.json @@ -101,17 +101,17 @@ { "command": "gitpod.openInStable", "title": "%openInStable%", - "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'web'" + "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'web' && gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.openInInsiders", "title": "%openInInsiders%", - "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'web'" + "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'web' && gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.openInBrowser", "title": "%openInBrowser%", - "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'desktop'" + "enablement": "gitpod.inWorkspace == true && gitpod.UIKind == 'desktop' && gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.ports.openBrowser", @@ -193,11 +193,13 @@ }, { "command": "gitpod.openInStable", - "group": "gitpod@60" + "group": "gitpod@60", + "when": "gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.openInInsiders", - "group": "gitpod@70" + "group": "gitpod@70", + "when": "gitpod.ideAlias == 'code-latest'" } ], "accounts/context": [ @@ -394,17 +396,17 @@ { "command": "gitpod.openInStable", "group": "remote_00_gitpod_navigation@900", - "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'web'" + "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'web' && gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.openInInsiders", "group": "remote_00_gitpod_navigation@1000", - "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'web'" + "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'web' && gitpod.ideAlias == 'code-latest'" }, { "command": "gitpod.openInBrowser", "group": "remote_00_gitpod_navigation@1000", - "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'desktop'" + "when": "gitpod.inWorkspace == true && gitpod.UIKind == 'desktop' && gitpod.ideAlias == 'code-latest'" } ] }, @@ -441,4 +443,4 @@ "vscode-jsonrpc": "^5.0.1", "vscode-nls": "^5.0.0" } -} \ No newline at end of file +} diff --git a/extensions/yarn.lock b/extensions/yarn.lock index 97204280a36f1..a0d14b40b2796 100644 --- a/extensions/yarn.lock +++ b/extensions/yarn.lock @@ -31,10 +31,10 @@ "@improbable-eng/grpc-web" "0.14.0" google-protobuf "^3.17.0" -"@gitpod/supervisor-api-grpc@jeanp413-your-workspace-is-currently-5313": - version "0.1.5-jeanp413-your-workspace-is-currently-5313.0" - resolved "https://registry.yarnpkg.com/@gitpod/supervisor-api-grpc/-/supervisor-api-grpc-0.1.5-jeanp413-your-workspace-is-currently-5313.0.tgz#dae4e6c93d324f8df72d34320c6a9281c82a2c86" - integrity sha512-/4Y5bQ1braB4yxD5C5m9+2kdpqj5xwP0d9eUXqZ5i6S16uV1Qr0jqinKDOFRo0XT3/jdrvZyhU9THmOGNHzVGQ== +"@gitpod/supervisor-api-grpc@ak-no-code-desktop-in-stable": + version "0.1.5-ak-no-code-desktop-in-stable.2" + resolved "https://registry.yarnpkg.com/@gitpod/supervisor-api-grpc/-/supervisor-api-grpc-0.1.5-ak-no-code-desktop-in-stable.2.tgz#b71f3792cee310e5eb00111a169be17253e0dacd" + integrity sha512-wHd/F4dI75MtNH8DjZlUZ+SUIJGyXjq6VvpQXqUGyWRPKQelgPrOx4nbCfNzsRIsAgsJvoAFU8rg7O4tr4vYtg== dependencies: "@grpc/grpc-js" "^1.3.6" google-protobuf "^3.17.3"