diff --git a/public/widget.js b/public/widget.js index 92a3a4e..f01941d 100644 --- a/public/widget.js +++ b/public/widget.js @@ -158,6 +158,10 @@ if (!body.message.trim() && !body.attachments.length) return; const pendingMessage = queuePendingMessage(body); const submitButton = root.querySelector(".mf-send"); + form.message.value = ""; + selectedFiles = []; + renderSelectedFiles(attachmentList, selectedFiles); + addMessage(messages, "visitor", "Visitor", body.message, body.attachments || [], null); submitButton.disabled = true; try { @@ -165,9 +169,6 @@ removePendingMessage(pendingMessage.clientMessageId); session.conversationId = data.conversation.id; saveSession(); - form.message.value = ""; - selectedFiles = []; - renderSelectedFiles(attachmentList, selectedFiles); handleConversationUpdate(data, messages, panel, launcher, settings, messageEffectState, { notify: false }); connectEvents(messages, typing, panel, launcher, settings, messageEffectState); startConversationPolling(messages, panel, launcher, settings, messageEffectState); @@ -388,13 +389,23 @@ } const item = document.createElement("article"); item.className = `mf-message ${sender}`; - item.innerHTML = `${body ? `
${escapeHtml(body)}
` : ""}${attachments.map((a) => `${escapeHtml(body)}
` : ""}${attachments.map((a) => { + const src = attachmentSrc(a); + return `