From 903f7c7d1584164f033fe4413a385c28949fae6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Mon, 1 Dec 2025 14:44:29 +0100 Subject: [PATCH] fix: Render not permitted html tags as text instead of hiding --- lib/pages/chat/events/html_message.dart | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) 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');