From 3a4cf93bcccd2deb66ba24af86568acdcaa671ec Mon Sep 17 00:00:00 2001 From: BordedDev <> Date: Thu, 17 Jul 2025 23:21:15 +0200 Subject: [PATCH] Fixed some scrolling issues when opening terminal --- src/snek/static/chat-input.js | 8 +++++--- src/snek/static/message-list.js | 4 ++-- src/snek/templates/app.html | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/snek/static/chat-input.js b/src/snek/static/chat-input.js index ff8972d..ec77c5c 100644 --- a/src/snek/static/chat-input.js +++ b/src/snek/static/chat-input.js @@ -298,7 +298,9 @@ textToLeetAdvanced(text) { this.appendChild(this.uploadButton); this.textarea.addEventListener("blur", () => { - this.updateFromInput(""); + this.updateFromInput(this.value, true).then( + this.updateFromInput("") + ) }); this.subscribe("file-uploads-done", (data)=>{ @@ -417,7 +419,7 @@ textToLeetAdvanced(text) { - updateFromInput(value) { + updateFromInput(value, isFinal = false) { this.value = value; @@ -425,7 +427,7 @@ textToLeetAdvanced(text) { if (this.liveType && value[0] !== "/") { const messageText = this.replaceMentionsWithAuthors(value); - this.messageUid = this.sendMessage(this.channelUid, messageText, !this.liveType); + this.messageUid = this.sendMessage(this.channelUid, messageText, !this.liveType || isFinal); return this.messageUid; } } diff --git a/src/snek/static/message-list.js b/src/snek/static/message-list.js index 1ecabbd..f8352f0 100644 --- a/src/snek/static/message-list.js +++ b/src/snek/static/message-list.js @@ -191,9 +191,9 @@ class MessageList extends HTMLElement { } scrollToBottom(force = false, behavior= 'smooth') { if (force || this.isScrolledToBottom()) { - this.firstElementChild.scrollIntoView({ behavior, block: 'end' }); + this.firstElementChild.scrollIntoView({ behavior, block: 'start' }); setTimeout(() => { - this.firstElementChild.scrollIntoView({ behavior, block: 'end' }); + this.firstElementChild.scrollIntoView({ behavior, block: 'start' }); }, 200); } } diff --git a/src/snek/templates/app.html b/src/snek/templates/app.html index 7069816..8042942 100644 --- a/src/snek/templates/app.html +++ b/src/snek/templates/app.html @@ -115,7 +115,7 @@ app.starField.renderWord("H4x0r 1337") {% endif %} - document.addEventListener("keydown", async() => { + document.addEventListener("keydown", async(event) => { if(prevKey == "Escape"){ document.querySelector("chat-input").querySelector("textarea").value = ""; }