From 6a5a502d58b96d41197a46aa5db3bffc9966410f Mon Sep 17 00:00:00 2001 From: JC Brand Date: Sun, 7 Oct 2018 04:46:41 +0200 Subject: [PATCH] Add support for rendering xmpp: and mailto: URIs --- dist/converse.js | 11 +++++++---- src/utils/core.js | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/dist/converse.js b/dist/converse.js index 145cb6aac..fbb54e0c2 100644 --- a/dist/converse.js +++ b/dist/converse.js @@ -81605,16 +81605,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }; u.addHyperlinks = function (text) { - return URI.withinString(text, function (url) { - var uri = new URI(url); + return URI.withinString(text, url => { + const uri = new URI(url); uri.normalize(); + const pretty_url = uri._parts.urn ? url : uri.readable(); - if (!url.startsWith('http://') && !url.startsWith('https://')) { + if (!uri._parts.protocol && !url.startsWith('http://') && !url.startsWith('https://')) { url = 'http://' + url; } url = u.escapeHTML(u.escapeURL(url)); - return `${u.escapeHTML(uri.readable())}`; + return `${u.escapeHTML(pretty_url)}`; + }, { + 'start': /\b(?:([a-z][a-z0-9.+-]*:\/\/)|xmpp:|mailto:|www\.)/gi }); }; diff --git a/src/utils/core.js b/src/utils/core.js index 0f8d228be..1839c5505 100644 --- a/src/utils/core.js +++ b/src/utils/core.js @@ -265,14 +265,17 @@ }; u.addHyperlinks = function (text) { - return URI.withinString(text, function (url) { - var uri = new URI(url); + return URI.withinString(text, url => { + const uri = new URI(url); uri.normalize(); - if (!url.startsWith('http://') && !url.startsWith('https://')) { + const pretty_url = uri._parts.urn ? url : uri.readable(); + if (!uri._parts.protocol && !url.startsWith('http://') && !url.startsWith('https://')) { url = 'http://' + url; } url = u.escapeHTML(u.escapeURL(url)); - return `${u.escapeHTML(uri.readable())}`; + return `${u.escapeHTML(pretty_url)}`; + }, { + 'start': /\b(?:([a-z][a-z0-9.+-]*:\/\/)|xmpp:|mailto:|www\.)/gi }); };