From 0356130ca6d4e3457769946d7dbf383ffe291098 Mon Sep 17 00:00:00 2001
From: hmhealey <harrisonmhealey@gmail.com>
Date: Wed, 28 Oct 2015 14:21:47 -0400
Subject: Updated markdown regexes to better handle underscores and links

---
 web/react/utils/text_formatting.jsx | 23 ++++++++---------------
 1 file changed, 8 insertions(+), 15 deletions(-)

(limited to 'web/react/utils/text_formatting.jsx')

diff --git a/web/react/utils/text_formatting.jsx b/web/react/utils/text_formatting.jsx
index 9c87d2693..2de858a17 100644
--- a/web/react/utils/text_formatting.jsx
+++ b/web/react/utils/text_formatting.jsx
@@ -43,7 +43,7 @@ export function doFormatText(text, options) {
 
     // replace important words and phrases with tokens
     output = autolinkAtMentions(output, tokens);
-    output = autolinkUrls(output, tokens);
+    output = autolinkEmails(output, tokens);
     output = autolinkHashtags(output, tokens);
 
     if (!('emoticons' in options) || options.emoticon) {
@@ -93,28 +93,21 @@ export function sanitizeHtml(text) {
     return output;
 }
 
-// Convert URLs into tokens
-function autolinkUrls(text, tokens) {
-    function replaceUrlWithToken(autolinker, match) {
+// Convert emails into tokens
+function autolinkEmails(text, tokens) {
+    function replaceEmailWithToken(autolinker, match) {
         const linkText = match.getMatchedText();
         let url = linkText;
 
         if (match.getType() === 'email') {
             url = `mailto:${url}`;
-        } else if (!(/^(mailto|https?|ftp)/.test(url))) {
-            url = `http://${url}`;
         }
 
         const index = tokens.size;
-        const alias = `MM_LINK${index}`;
-
-        var target = 'target="_blank"';
-        if (url.lastIndexOf(Utils.getTeamURLFromAddressBar(), 0) === 0) {
-            target = '';
-        }
+        const alias = `MM_EMAIL${index}`;
 
         tokens.set(alias, {
-            value: `<a class="theme" ${target} href="${url}">${linkText}</a>`,
+            value: `<a class="theme" href="${url}">${linkText}</a>`,
             originalText: linkText
         });
 
@@ -123,12 +116,12 @@ function autolinkUrls(text, tokens) {
 
     // we can't just use a static autolinker because we need to set replaceFn
     const autolinker = new Autolinker({
-        urls: true,
+        urls: false,
         email: true,
         phone: false,
         twitter: false,
         hashtag: false,
-        replaceFn: replaceUrlWithToken
+        replaceFn: replaceEmailWithToken
     });
 
     return autolinker.link(text);
-- 
cgit v1.2.3-1-g7c22

