fix: strip HTML tags to show plain text only
All checks were successful
BotUI CI/CD / build (push) Successful in 45s

This commit is contained in:
Rodrigo Rodriguez (Pragmatismo) 2026-04-14 14:20:10 -03:00
parent 1949ea72a6
commit ff93f33d40

View file

@ -281,6 +281,13 @@
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");
@ -289,14 +296,13 @@
const messageEl = document.createElement("div");
messageEl.className = `message ${message.sender === "user" ? "user" : "bot"}`;
// Check if content contains HTML tags
const isHtml = /<[a-z][\s\S]*>/i.test(message.text);
const textContent = isHtml ? message.text : escapeHtml(message.text);
// Strip HTML tags to show plain text only, never raw tags
const plainText = stripHtml(message.text);
messageEl.innerHTML = `
<div class="message-content">
<span class="sender">${message.sender}</span>
<span class="text">${textContent}</span>
<span class="text">${escapeHtml(plainText)}</span>
<span class="time">${formatTime(message.timestamp)}</span>
</div>
`;