fix: render HTML properly in bot messages
All checks were successful
BotUI CI/CD / build (push) Successful in 41s

This commit is contained in:
Rodrigo Rodriguez (Pragmatismo) 2026-04-14 14:22:33 -03:00
parent ff93f33d40
commit dfb8ae656d

View file

@ -281,13 +281,6 @@
htmx.process(chip);
}
// Strip HTML tags and return plain text
function stripHtml(html) {
const temp = document.createElement('div');
temp.innerHTML = html;
return temp.textContent || temp.innerText || '';
}
// Append message to chat
function appendMessage(message) {
const messagesEl = document.getElementById("messages");
@ -296,13 +289,14 @@
const messageEl = document.createElement("div");
messageEl.className = `message ${message.sender === "user" ? "user" : "bot"}`;
// Strip HTML tags to show plain text only, never raw tags
const plainText = stripHtml(message.text);
// Render HTML if present, otherwise escape plain text
const isHtml = /<[a-z][\s\S]*>/i.test(message.text);
const content = isHtml ? message.text : escapeHtml(message.text);
messageEl.innerHTML = `
<div class="message-content">
<span class="sender">${message.sender}</span>
<span class="text">${escapeHtml(plainText)}</span>
<span class="text">${content}</span>
<span class="time">${formatTime(message.timestamp)}</span>
</div>
`;