diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart index 3f82806b5..fcf1dd2c4 100644 --- a/lib/pages/chat/events/html_message.dart +++ b/lib/pages/chat/events/html_message.dart @@ -156,8 +156,8 @@ class HtmlMessage extends StatelessWidget { // We must not render elements nested more than 100 elements deep: if (depth >= 100) return const TextSpan(); - // This is a text node, so we render it as text: - if (node is! dom.Element) { + // This is a text node or not permitted node, so we render it as text: + if (node is! dom.Element || !allowedHtmlTags.contains(node.localName)) { var text = node.text ?? ''; // Single linebreak nodes between Elements are ignored: if (text == '\n') text = ''; @@ -170,9 +170,6 @@ class HtmlMessage extends StatelessWidget { ); } - // We must not render tags which are not in the allow list: - if (!allowedHtmlTags.contains(node.localName)) return const TextSpan(); - switch (node.localName) { case 'br': return const TextSpan(text: '\n');