From fa3793362c0eca2c10ca9265ceea5ca7a35067fc Mon Sep 17 00:00:00 2001 From: Alejandro Gomez Date: Sat, 14 Jan 2023 12:57:36 +0100 Subject: [PATCH] fix: dont fail to render with invalid URLs --- src/element/Text.js | 94 +++++++++++++++++++++++---------------------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/src/element/Text.js b/src/element/Text.js index 192f2de..d788d8c 100644 --- a/src/element/Text.js +++ b/src/element/Text.js @@ -12,53 +12,57 @@ import './Text.css' import { useMemo } from "react"; function transformHttpLink(a) { - const url = new URL(a); - const youtubeId = YoutubeUrlRegex.test(a) && RegExp.$1; - const tweetId = TweetUrlRegex.test(a) && RegExp.$2; - const extension = FileExtensionRegex.test(url.pathname.toLowerCase()) && RegExp.$1; - if (extension) { - switch (extension) { - case "gif": - case "jpg": - case "jpeg": - case "png": - case "bmp": - case "webp": { - return ; + try { + const url = new URL(a); + const youtubeId = YoutubeUrlRegex.test(a) && RegExp.$1; + const tweetId = TweetUrlRegex.test(a) && RegExp.$2; + const extension = FileExtensionRegex.test(url.pathname.toLowerCase()) && RegExp.$1; + if (extension) { + switch (extension) { + case "gif": + case "jpg": + case "jpeg": + case "png": + case "bmp": + case "webp": { + return ; + } + case "mp4": + case "mov": + case "mkv": + case "avi": + case "m4v": { + return