karvan: tus mensajes a la derecha tambien al recargar la sala

karvan.js solo marcaba como propios los que llegaban despues de abrir
la sala; los que pintaba el servidor salian todos como de otra persona.
This commit is contained in:
oasis-bot 2026-10-19 00:44:06 +02:00
parent 5f5c1d6d0a
commit cfe0b6cca1

View file

@ -18,8 +18,10 @@ const shortId = (id) => {
return id.startsWith("@") ? id.slice(1, 7) : id.slice(0, 6);
};
const renderMsg = (m) =>
li({ class: "karvan-msg", "data-seq": String(m.seq), "data-mid": m.mid || "" },
// los propios se marcan ya en el servidor: karvan.js solo marca los que llegan
// despues, y al recargar la sala tus mensajes salian como de otra persona
const renderMsg = (m, selfId) =>
li({ class: "karvan-msg" + (selfId && m.from === selfId ? " karvan-msg-self" : ""), "data-seq": String(m.seq), "data-mid": m.mid || "" },
span({ class: "km-from" }, shortId(m.from)),
span({ class: "km-text" }, m.text)
);
@ -95,7 +97,7 @@ exports.karvanRoomView = (room, messages, params = {}) =>
),
div({ class: "kc-status", id: "kc-status" }, "")
),
ul({ class: "karvan-msgs", id: "karvan-msgs" }, ...(messages || []).map(renderMsg)),
ul({ class: "karvan-msgs", id: "karvan-msgs" }, ...(messages || []).map(m => renderMsg(m, params.selfId))),
form({ class: "karvan-compose", method: "POST", action: "/karvan/" + room.id + "/msg", id: "karvan-form" },
input({ type: "hidden", name: "from", value: params.selfId || "" }),
input({ type: "text", name: "text", id: "karvan-text", placeholder: i18n.karvanSay || "Temporary message…", maxlength: "2000", autocomplete: "off" }),