diff --git a/build/scripts/code-sshd-page/page-utils.js b/build/scripts/code-sshd-page/page-utils.js index f6974d1970bc..7c832a6fdd82 100644 --- a/build/scripts/code-sshd-page/page-utils.js +++ b/build/scripts/code-sshd-page/page-utils.js @@ -38,7 +38,7 @@ function syncDocsContent() { docsElem.innerHTML = useExtension ? extensionElem.innerHTML : manualElem.innerHTML; } -function openDevspacesURI(namespace, podName, userName, dwName, encodedKeyMessage, encodedUrl) { - const gatewayLink = `vscode://redhat.devspaces-remote-ssh?namespace=${namespace}&podName=${podName}&userName=${userName}&dwName=${dwName}&key=${encodedKeyMessage}&url=${encodedUrl}`; +function openDevspacesURI(scheme, namespace, podName, userName, dwName, encodedKeyMessage, encodedUrl) { + const gatewayLink = `${scheme}://redhat.devspaces-remote-ssh?namespace=${namespace}&podName=${podName}&userName=${userName}&dwName=${dwName}&key=${encodedKeyMessage}&url=${encodedUrl}`; window.open(gatewayLink, "_self"); } diff --git a/build/scripts/code-sshd-page/server.js b/build/scripts/code-sshd-page/server.js index 08d02e0ffb9c..e2489f925221 100644 --- a/build/scripts/code-sshd-page/server.js +++ b/build/scripts/code-sshd-page/server.js @@ -8,6 +8,7 @@ */ const http = require('http'); +const https = require('https'); const fs = require('fs'); const os = require('os'); @@ -21,6 +22,16 @@ try { // continue } +let uriScheme = 'vscode'; +try { + const schemeArg = process.argv.slice(2)[0]; + if (schemeArg) { + uriScheme = schemeArg; + } +} catch (error) { + // continue +} + const server = http.createServer((req, res) => { if (req.url === '/') { res.statusCode = 200; @@ -52,6 +63,7 @@ const server = http.createServer((req, res) => { let keyMessage = hasUserPrefSSHKey ? userPubKey : genKey; let encodedKeyMessage = Buffer.from(hasUserPrefSSHKey ? userKey : genKey).toString('base64url'); let encodedUrl = encodeURIComponent(process.env["CHE_DASHBOARD_URL"]); + getHostURL((hostURL) => { res.end(` @@ -87,8 +99,8 @@ const server = http.createServer((req, res) => {
Connect to Dev Spaces command and input the URI below.vscode://redhat.devspaces-remote-ssh?namespace=${process.env["DEVWORKSPACE_NAMESPACE"]}&podName=${process.env["HOSTNAME"]}&userName=${username}&dwName=${process.env["DEVWORKSPACE_NAME"]}&key=${encodedKeyMessage}&url=${encodedUrl}
+
+ ${uriScheme}://redhat.devspaces-remote-ssh?namespace=${process.env["DEVWORKSPACE_NAMESPACE"]}&podName=${process.env["HOSTNAME"]}&userName=${username}&dwName=${process.env["DEVWORKSPACE_NAME"]}&key=${encodedKeyMessage}&url=${encodedUrl}