From 561165b17c006feb4e253365e23431b2877ceebc Mon Sep 17 00:00:00 2001 From: 3clyp50 Date: Thu, 29 Jan 2026 17:18:07 +0100 Subject: [PATCH] show less btn fix --- .../action-buttons/simple-action-buttons.css | 2 +- webui/js/messages.js | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/webui/components/messages/action-buttons/simple-action-buttons.css b/webui/components/messages/action-buttons/simple-action-buttons.css index 6cb8ee859..682ece1a6 100644 --- a/webui/components/messages/action-buttons/simple-action-buttons.css +++ b/webui/components/messages/action-buttons/simple-action-buttons.css @@ -15,7 +15,7 @@ } .step-action-buttons .expand-btn { - display: inline-flex; + display: none; align-items: center; background: transparent; border: none; diff --git a/webui/js/messages.js b/webui/js/messages.js index e38eae143..70abbfac8 100644 --- a/webui/js/messages.js +++ b/webui/js/messages.js @@ -2067,10 +2067,15 @@ function setupCollapsible(messageDiv, containerSelector, initialExpanded, action if (!messageDiv.classList.contains("has-overflow")) { requestAnimationFrame(() => { const body = messageDiv.querySelector(".message-body"); - const wasExp = messageDiv.classList.contains("expanded"); - messageDiv.classList.remove("expanded"); - messageDiv.classList.toggle("has-overflow", body?.scrollHeight > body?.clientHeight); - messageDiv.classList.toggle("expanded", wasExp); + if (!body) return; + + // calculate max height without touching DOM (no scroll jitter) + const fontSize = parseFloat(getComputedStyle(body).fontSize || "16"); + const maxHeight = messageDiv.classList.contains("expanded") + ? fontSize * 15 + : body.clientHeight; + + messageDiv.classList.toggle("has-overflow", body.scrollHeight > maxHeight); }); } }