diff --git a/front/src/WebRtc/HtmlUtils.ts b/front/src/WebRtc/HtmlUtils.ts
index c266d558..1c6b8817 100644
--- a/front/src/WebRtc/HtmlUtils.ts
+++ b/front/src/WebRtc/HtmlUtils.ts
@@ -40,6 +40,7 @@ export class HtmlUtils {
const urlRegex = /(https?:\/\/[^\s]+)/g;
text = HtmlUtils.escapeHtml(text);
return text.replace(urlRegex, (url: string) => {
+ url = HtmlUtils.htmlDecode(url);
const link = document.createElement("a");
link.href = url;
link.target = "_blank";
@@ -50,6 +51,15 @@ export class HtmlUtils {
});
}
+ private static htmlDecode(input: string): string {
+ const doc = new DOMParser().parseFromString(input, "text/html");
+ const text = doc.documentElement.textContent;
+ if (text === null) {
+ throw new Error("Unexpected non parseable string");
+ }
+ return text;
+ }
+
public static isClickedInside(event: MouseEvent, target: HTMLElement): boolean {
return !!event.composedPath().find((et) => et === target);
}