From cbd75fe1284f67c941967f20ab9fef508ed70e1c Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Tue, 6 Aug 2019 11:31:28 +0200 Subject: [PATCH] Remove href attribute of invalid links instead of crashing --- .../glitch/components/status_content.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/app/javascript/flavours/glitch/components/status_content.js b/app/javascript/flavours/glitch/components/status_content.js index a7e17d252a..20e640bcb6 100644 --- a/app/javascript/flavours/glitch/components/status_content.js +++ b/app/javascript/flavours/glitch/components/status_content.js @@ -106,14 +106,19 @@ export default class StatusContent extends React.PureComponent { link.setAttribute('title', link.href); link.classList.add('unhandled-link'); - if (tagLinks && isLinkMisleading(link)) { - // Add a tag besides the link to display its origin + try { + if (tagLinks && isLinkMisleading(link)) { + // Add a tag besides the link to display its origin - const tag = document.createElement('span'); - tag.classList.add('link-origin-tag'); - tag.textContent = `[${new URL(link.href).host}]`; - link.insertAdjacentText('beforeend', ' '); - link.insertAdjacentElement('beforeend', tag); + const tag = document.createElement('span'); + tag.classList.add('link-origin-tag'); + tag.textContent = `[${new URL(link.href).host}]`; + link.insertAdjacentText('beforeend', ' '); + link.insertAdjacentElement('beforeend', tag); + } + } catch (TypeError) { + // Just to be safe + if (tagLinks) link.removeAttribute('href'); } }