From 36d606bbc6453f5d95e698c06e5f6a2a87cc56ff Mon Sep 17 00:00:00 2001 From: mic Date: Thu, 26 Mar 2026 23:36:49 +0100 Subject: [PATCH] html mail parts are now displayed as code and are not rendered. see #711 --- api_webchat/messagesArea.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/api_webchat/messagesArea.js b/api_webchat/messagesArea.js index 5d9b5bc4..52dc1532 100644 --- a/api_webchat/messagesArea.js +++ b/api_webchat/messagesArea.js @@ -273,7 +273,11 @@ class MessagesArea extends HTMLElement { const messageElement = document.createElement('div'); messageElement.classList.add('message', type); // Replace \n with
for correct HTML display - messageElement.appendChild(htmlStringToFragment(messageText)); + if (type === "info") { + messageElement.appendChild(htmlStringToFragment(messageText)); + } else { + messageElement.appendChild(textWithBrToFragment(messageText)); + } // messageElement.textContent = messageText; // // Replace \n with
elements for correct HTML display // messageElement.innerHTML = ''; @@ -576,6 +580,20 @@ class MessagesArea extends HTMLElement { customElements.define('messages-area', MessagesArea); +function textWithBrToFragment(text) { + const fragment = document.createDocumentFragment(); + const segments = text.split(//gi); + segments.forEach((segment, idx) => { + if (segment.length > 0) { + fragment.appendChild(document.createTextNode(segment)); + } + if (idx < segments.length - 1) { + fragment.appendChild(document.createElement('br')); + } + }); + return fragment; +} + function htmlStringToFragment(htmlString) { // console.log(">>>>>>>>>>>>>>>> htmlStringToFragment htmlString: " + htmlString); const normalizedHtml = htmlString.replace(/\n/g, '
');