diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2016-08-03 19:28:38 -0400 |
---|---|---|
committer | enahum <nahumhbl@gmail.com> | 2016-08-03 18:28:38 -0500 |
commit | c79685b0bc9686b41abcf295fdbe8f06d9e1771c (patch) | |
tree | 0989a6b975c9d2e1a0b1c863ae6a59f70bc6993a /webapp | |
parent | 7b211f93a02c601d97d4b1fb8cef63bd69d42a2f (diff) | |
download | chat-c79685b0bc9686b41abcf295fdbe8f06d9e1771c.tar.gz chat-c79685b0bc9686b41abcf295fdbe8f06d9e1771c.tar.bz2 chat-c79685b0bc9686b41abcf295fdbe8f06d9e1771c.zip |
PLT-3534 Changed special handling of internal links to only occur for permalinks and links to channels (#3731)
Diffstat (limited to 'webapp')
-rw-r--r-- | webapp/utils/markdown.jsx | 6 | ||||
-rw-r--r-- | webapp/utils/text_formatting.jsx | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/webapp/utils/markdown.jsx b/webapp/utils/markdown.jsx index e291ce546..028e667fd 100644 --- a/webapp/utils/markdown.jsx +++ b/webapp/utils/markdown.jsx @@ -151,9 +151,9 @@ class MattermostMarkdownRenderer extends marked.Renderer { let output = '<a class="theme markdown__link" href="' + outHref + '" rel="noreferrer"'; - // special case for links that are inside the app - if (outHref.startsWith(global.location.origin)) { - output += ' data-link="' + outHref.substring(global.location.origin.length) + '"'; + // special case for channel links and permalinks that are inside the app + if (new RegExp('^' + TextFormatting.escapeRegex(global.mm_config.SiteURL) + '\\/[^\\/]+\\/(pl|channels)\\/').test(outHref)) { + output += ' data-link="' + outHref.substring(global.mm_config.SiteURL.length) + '"'; } else { output += ' target="_blank"'; } diff --git a/webapp/utils/text_formatting.jsx b/webapp/utils/text_formatting.jsx index b304fa75a..655b4180e 100644 --- a/webapp/utils/text_formatting.jsx +++ b/webapp/utils/text_formatting.jsx @@ -199,7 +199,7 @@ function autolinkAtMentions(text, tokens) { return output; } -function escapeRegex(text) { +export function escapeRegex(text) { return text.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); } |