diff options
Diffstat (limited to 'webapp/utils')
-rw-r--r-- | webapp/utils/markdown.jsx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/webapp/utils/markdown.jsx b/webapp/utils/markdown.jsx index beba474fc..0d9e977d7 100644 --- a/webapp/utils/markdown.jsx +++ b/webapp/utils/markdown.jsx @@ -200,8 +200,15 @@ class MattermostMarkdownRenderer extends marked.Renderer { output += '" href="' + outHref + '" rel="noreferrer"'; - // special case for channel links and permalinks that are inside the app - if (this.formattingOptions.siteURL && new RegExp('^' + TextFormatting.escapeRegex(this.formattingOptions.siteURL) + '\\/[^\\/]+\\/(pl|channels)\\/').test(outHref)) { + // special case for team invite links, channel links, and permalinks that are inside the app + let internalLink = false; + if (this.formattingOptions.siteURL) { + const pattern = new RegExp('^' + TextFormatting.escapeRegex(this.formattingOptions.siteURL) + '\\/(?:signup_user_complete|[^\\/]+\\/(?:pl|channels))\\/'); + + internalLink = pattern.test(outHref); + } + + if (internalLink) { output += ' data-link="' + outHref.substring(this.formattingOptions.siteURL) + '"'; } else { output += ' target="_blank"'; |