From 6ee883bfa3208644c9951268942e254cbfdccd90 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Fri, 21 May 2021 14:49:40 -0700 Subject: [PATCH] Split href before decoding instead of after Fixes #123228 This fixes the case where `#` appears in the path --- extensions/markdown-language-features/src/features/preview.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extensions/markdown-language-features/src/features/preview.ts b/extensions/markdown-language-features/src/features/preview.ts index 9c678e4a6ec..a0c1526d308 100644 --- a/extensions/markdown-language-features/src/features/preview.ts +++ b/extensions/markdown-language-features/src/features/preview.ts @@ -428,7 +428,8 @@ class MarkdownPreview extends Disposable implements WebviewResourceProvider { private async onDidClickPreviewLink(href: string) { - let [hrefPath, fragment] = decodeURIComponent(href).split('#'); + const [rawPath, fragment] = href.split('#'); + let hrefPath = decodeURIComponent(rawPath); if (hrefPath[0] !== '/') { // We perviously already resolve absolute paths.