mirror of
https://github.com/oobabooga/text-generation-webui.git
synced 2025-12-06 07:12:10 +01:00
Fix chat area sometimes not scrolling up to edit message
This commit is contained in:
parent
75da90190f
commit
4cf39120fc
|
|
@ -95,12 +95,21 @@ function startEditing(messageElement, messageBody, isUserMessage) {
|
|||
editingInterface.textarea.focus();
|
||||
editingInterface.textarea.setSelectionRange(rawText.length, rawText.length);
|
||||
|
||||
// Temporarily mark as scrolled to prevent auto-scroll
|
||||
const wasScrolled = window.isScrolled;
|
||||
window.isScrolled = true;
|
||||
|
||||
// Scroll the textarea into view
|
||||
editingInterface.textarea.scrollIntoView({
|
||||
behavior: "smooth",
|
||||
block: "center"
|
||||
});
|
||||
|
||||
// Restore the original scroll state after animation
|
||||
setTimeout(() => {
|
||||
window.isScrolled = wasScrolled;
|
||||
}, 500);
|
||||
|
||||
// Setup event handlers
|
||||
setupEditingHandlers(editingInterface.textarea, messageElement, originalHTML, messageBody, isUserMessage);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ typingSibling.insertBefore(typing, typingSibling.childNodes[2]);
|
|||
const targetElement = document.getElementById("chat").parentNode.parentNode.parentNode;
|
||||
targetElement.classList.add("pretty_scrollbar");
|
||||
targetElement.classList.add("chat-parent");
|
||||
let isScrolled = false;
|
||||
window.isScrolled = false;
|
||||
let scrollTimeout;
|
||||
|
||||
targetElement.addEventListener("scroll", function() {
|
||||
|
|
@ -154,9 +154,9 @@ targetElement.addEventListener("scroll", function() {
|
|||
|
||||
let diff = targetElement.scrollHeight - targetElement.clientHeight;
|
||||
if(Math.abs(targetElement.scrollTop - diff) <= 10 || diff == 0) {
|
||||
isScrolled = false;
|
||||
window.isScrolled = false;
|
||||
} else {
|
||||
isScrolled = true;
|
||||
window.isScrolled = true;
|
||||
}
|
||||
|
||||
// Clear previous timeout and set new one
|
||||
|
|
@ -182,7 +182,7 @@ const observer = new MutationObserver(function(mutations) {
|
|||
|
||||
doSyntaxHighlighting();
|
||||
|
||||
if (!isScrolled && targetElement.scrollTop !== targetElement.scrollHeight) {
|
||||
if (!window.isScrolled && targetElement.scrollTop !== targetElement.scrollHeight) {
|
||||
targetElement.scrollTop = targetElement.scrollHeight;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue