From: Thibaut Girka Date: Thu, 1 Aug 2019 16:13:08 +0000 (+0200) Subject: Perform case-insensitive comparison for international domain names X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=76b80a15119b5fbe19ec8b3329616c955a1e5af4;p=mastodon.git Perform case-insensitive comparison for international domain names Note: this uses `toLowerCase()` instead of doing proper case folding --- diff --git a/app/javascript/flavours/glitch/components/status_content.js b/app/javascript/flavours/glitch/components/status_content.js index e51cc8fd5..147c1d1b1 100644 --- a/app/javascript/flavours/glitch/components/status_content.js +++ b/app/javascript/flavours/glitch/components/status_content.js @@ -65,10 +65,11 @@ const isLinkMisleading = (link, checkUrlLike = true) => { } // The link hasn't been recognized, maybe it features an international domain name - const hostname = decodeIDNA(targetURL.hostname); + const hostname = decodeIDNA(targetURL.hostname).normalize('NFKC'); const host = targetURL.host.replace(targetURL.hostname, hostname); const origin = targetURL.origin.replace(targetURL.host, host); - if (textMatchesTarget(linkText, origin, host)) { + const text = linkText.normalize('NFKC'); + if (textMatchesTarget(text, origin, host) || textMatchesTarget(text.toLowerCase(), origin, host)) { return false; }