From 4adf3055fe66dff56ce3915ce2e3b80655923a89 Mon Sep 17 00:00:00 2001 From: Tomas Vik Date: Mon, 15 Feb 2021 12:00:55 +0100 Subject: [PATCH] refactor: make sure webview is getting the correct instanceUrl This fixes a minor bug where if user hasn't configured their instaenceUrl (presumably they use the default gitlab.com), the webview is going to put `null` in the links. This fix makes sure we use the same logic as the rest of the app. --- src/webview_controller.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/webview_controller.js b/src/webview_controller.js index 57bf4c6..3e5fa49 100644 --- a/src/webview_controller.js +++ b/src/webview_controller.js @@ -5,6 +5,7 @@ const vscode = require('vscode'); const gitLabService = require('./gitlab_service'); const { createGitLabNewService } = require('./service_factory'); const { logError } = require('./log'); +const { getInstanceUrl } = require('./utils/get_instance_url'); let context = null; @@ -59,6 +60,7 @@ const createPanel = issuable => { }; const createMessageHandler = (panel, issuable, workspaceFolder) => async message => { + const instanceUrl = await getInstanceUrl(workspaceFolder); if (message.command === 'renderMarkdown') { const alteredMarkdown = message.markdown.replace( /\(\/.*(\/-)?\/merge_requests\//, @@ -68,7 +70,7 @@ const createMessageHandler = (panel, issuable, workspaceFolder) => async message rendered = (rendered || '') .replace(/ src=".*" alt/gim, ' alt') .replace(/" data-src/gim, '" src') - .replace(/ href="\//gim, ` href="${vscode.workspace.getConfiguration('gitlab').instanceUrl}/`) + .replace(/ href="\//gim, ` href="${instanceUrl}/`) .replace(/\/master\/-\/merge_requests\//gim, '/-/merge_requests/'); panel.webview.postMessage({ -- GitLab