From 84ea141347026721e4fc6b8636d1db9f09e31b6f Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Fri, 22 Sep 2023 14:58:04 +0200 Subject: [PATCH] fix(ui): safe guard for html tag names in replayer --- frontend/app/player/web/managers/DOM/VirtualDOM.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/app/player/web/managers/DOM/VirtualDOM.ts b/frontend/app/player/web/managers/DOM/VirtualDOM.ts index 666b0e777..4295e31fd 100644 --- a/frontend/app/player/web/managers/DOM/VirtualDOM.ts +++ b/frontend/app/player/web/managers/DOM/VirtualDOM.ts @@ -138,9 +138,14 @@ export class VElement extends VParent { constructor(readonly tagName: string, readonly isSVG = false) { super() } protected createNode() { - return this.isSVG - ? document.createElementNS('http://www.w3.org/2000/svg', this.tagName) - : document.createElement(this.tagName) + try { + return this.isSVG + ? document.createElementNS('http://www.w3.org/2000/svg', this.tagName) + : document.createElement(this.tagName) + } catch (e) { + console.error('Openreplay: Player received invalid html tag', this.tagName, e) + return document.createElement(this.tagName.replace(/[^a-z]/gi, '')) + } } setAttribute(name: string, value: string) { this.newAttributes.set(name, value)