fix: keep chat input in view after adding new messages

This commit is contained in:
Barış Soner Uşaklı
2026-02-18 11:49:18 -05:00
parent 80f6102224
commit 2f88f7766c

View File

@@ -100,7 +100,6 @@ define('forum/chats/messages', [
newMessage.appendTo(chatContentEl);
messages.onMessagesAddedToDom(newMessage);
if (isAtBottom || msgData.self) {
messages.scrollToBottomAfterImageLoad(chatContentEl);
// remove some message elements if there are too many
const chatMsgEls = chatContentEl.find('[data-mid]');
if (chatMsgEls.length > 150) {
@@ -108,6 +107,12 @@ define('forum/chats/messages', [
chatMsgEls.slice(0, removeCount).remove();
chatContentEl.find('[data-mid].new').removeClass('new');
}
messages.scrollToBottomAfterImageLoad(chatContentEl);
const $composer = chatContentEl.siblings('[component="chat/composer"]');
if ($composer.length) {
$composer[0].scrollIntoView(true);
}
}
hooks.fire('action:chat.received', {