diff --git a/index.html b/index.html
index 8f55bd4..a91b9b3 100644
--- a/index.html
+++ b/index.html
@@ -1942,10 +1942,24 @@
var CHAT_URL =
"https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4projects.com/webhook/702862fd-dd17-4a34-8efb-e9056d2c50df/chat";
- var SESSION =
- "mbs_" +
- Math.random().toString(36).slice(2) +
- Date.now().toString(36);
+ /* Generate a UUID v4 for chatid */
+ var CHAT_ID = (function () {
+ if (
+ typeof crypto !== "undefined" &&
+ typeof crypto.randomUUID === "function"
+ ) {
+ return crypto.randomUUID();
+ }
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
+ /[xy]/g,
+ function (c) {
+ var r = (Math.random() * 16) | 0;
+ return (c === "x" ? r : (r & 0x3) | 0x8).toString(
+ 16,
+ );
+ },
+ );
+ })();
var panel = document.getElementById("chat-panel");
var chatLog = document.getElementById("chat-history");
@@ -2022,13 +2036,16 @@
var thinkEl = appendMsg("agent", "\u2026");
thinkEl.classList.add("chat-thinking");
- var fd = new FormData();
- fd.append("message", text);
- fd.append("session_id", SESSION);
-
fetch(CHAT_URL, {
method: "POST",
- body: fd,
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify([
+ {
+ action: "sendMessage",
+ chatid: CHAT_ID,
+ chatInput: text,
+ },
+ ]),
})
.then(function (r) {
var ct = r.headers.get("content-type") || "";
@@ -2040,12 +2057,14 @@
.then(function (d) {
if (thinkEl.parentNode)
chatLog.removeChild(thinkEl);
+ /* n8n returns an array or object — unwrap either */
+ var item = Array.isArray(d) ? d[0] : d;
var reply =
- d.reply ||
- d.message ||
- d.response ||
- d.output ||
- d.text ||
+ (item &&
+ (item.output ||
+ item.text ||
+ item.message ||
+ item.reply)) ||
(typeof d === "string" ? d : JSON.stringify(d));
appendMsg("agent", reply);
busy = false;