diff --git a/CHANGES.md b/CHANGES.md index 5b1dd05cb..3aa872bd3 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,6 +7,7 @@ - #1063 URLs in the topic / subject are not clickable - #1190 MUC Participants column disappears in certain viewport widths - #1199 Can't get back from to login screen from registration screen +- #1204 Link encoding issue - #1214 Setting `allow_contact_requests` to `false` has no effect - #1222 Adding a bookmark should prefill the room name diff --git a/dist/converse.js b/dist/converse.js index fbb54e0c2..63f884767 100644 --- a/dist/converse.js +++ b/dist/converse.js @@ -81570,10 +81570,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ return string.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """); }; - u.escapeURL = function (url) { - return encodeURI(decodeURI(url)).replace(/[!'()]/g, escape).replace(/\*/g, "%2A"); - }; - u.prefixMentions = function (message) { /* Given a message object, return its text with @ chars * inserted before the mentioned nicknames. @@ -81607,14 +81603,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ u.addHyperlinks = function (text) { return URI.withinString(text, url => { const uri = new URI(url); - uri.normalize(); + url = uri.normalize()._string; 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(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 1839c5505..742bc7b54 100644 --- a/src/utils/core.js +++ b/src/utils/core.js @@ -228,10 +228,6 @@ .replace(/"/g, """); }; - u.escapeURL = function (url) { - return encodeURI(decodeURI(url)).replace(/[!'()]/g, escape).replace(/\*/g, "%2A"); - }; - u.prefixMentions = function (message) { /* Given a message object, return its text with @ chars * inserted before the mentioned nicknames. @@ -267,12 +263,11 @@ u.addHyperlinks = function (text) { return URI.withinString(text, url => { const uri = new URI(url); - uri.normalize(); + url = uri.normalize()._string; 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(pretty_url)}`; }, { 'start': /\b(?:([a-z][a-z0-9.+-]*:\/\/)|xmpp:|mailto:|www\.)/gi