chat scroll

This commit is contained in:
pavel 2026-02-27 14:59:10 +01:00
commit 003391e60e

View file

@ -354,6 +354,11 @@ function formatDate(isoString) {
return d.toLocaleDateString();
}
function scrollMessagesToBottom() {
if (!el.messageList) return;
el.messageList.scrollTop = el.messageList.scrollHeight;
}
let audioCtx = null;
// Global interaction listener to unlock AudioContext (autoplay policy)
@ -628,7 +633,17 @@ function renderMessages(messages) {
state.lastMessageId = messages[0].id;
}
el.messageList.scrollTop = el.messageList.scrollHeight;
scrollMessagesToBottom();
requestAnimationFrame(() => {
scrollMessagesToBottom();
});
// GIF/image height resolves after initial paint; keep chat pinned to latest.
for (const gifImage of el.messageList.querySelectorAll(".msg-gif img")) {
if (gifImage.complete) continue;
gifImage.addEventListener("load", scrollMessagesToBottom, { once: true });
gifImage.addEventListener("error", scrollMessagesToBottom, { once: true });
}
}
function renderMembers() {