Merge branch 'SillyTavern:staging' into staging

5c61c47f313df2a7559df6f9ef11ab26c1910921

Yokayo <52032299+Yokayo@users.noreply.github.com>

Signed
1 files changed, +20 -6Ignore whitespace
public/script.js+20 -6
@@ -9253,12 +9253,26 @@ jQuery(async function () {
9253 }9253 }
9254 });9254 });
9255 const chatElementScroll = document.getElementById('chat');9255 const chatElementScroll = document.getElementById('chat');
9256 chatElementScroll.addEventListener('wheel', function () {9256 const chatScrollHandler = function () {
9257 scrollLock = true;9257 if (power_user.waifuMode) {
9258 }, { passive: true });9258 scrollLock = true;
9259 chatElementScroll.addEventListener('touchstart', function () {9259 return;
9260 scrollLock = true;9260 }
9261 }, { passive: true });9261
9262 const scrollIsAtBottom = Math.abs(chatElementScroll.scrollHeight - chatElementScroll.clientHeight - chatElementScroll.scrollTop) < 1;
9263
9264 // Resume autoscroll if the user scrolls to the bottom
9265 if (scrollLock && scrollIsAtBottom) {
9266 scrollLock = false;
9267 }
9268
9269 // Cancel autoscroll if the user scrolls up
9270 if (!scrollLock && !scrollIsAtBottom) {
9271 scrollLock = true;
9272 }
9273 };
9274 chatElementScroll.addEventListener('wheel', chatScrollHandler, { passive: true });
9275 chatElementScroll.addEventListener('touchmove', chatScrollHandler, { passive: true });
9262 chatElementScroll.addEventListener('scroll', function () {9276 chatElementScroll.addEventListener('scroll', function () {
9263 if (is_use_scroll_holder) {9277 if (is_use_scroll_holder) {
9264 this.scrollTop = scroll_holder;9278 this.scrollTop = scroll_holder;