From 51feacec1ed39e02ed52227cb058d5a5f7592b9f Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Fri, 17 Apr 2026 14:44:26 +0200 Subject: [PATCH] fix(ui): cascade flatScroll override to descendants EventFeed's overflow-y:auto lives on its inner .list, not the root where className lands. Extending .flatScroll to .flatScroll * covers nested scroll containers, and relaxing the root's height:100% (which EventFeed sets) lets content size naturally so the outer InfiniteScrollArea owns the single scrollbar. Co-Authored-By: Claude Opus 4.7 (1M context) --- ui/src/styles/log-panel.module.css | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ui/src/styles/log-panel.module.css b/ui/src/styles/log-panel.module.css index ddcc114e..fd9f4951 100644 --- a/ui/src/styles/log-panel.module.css +++ b/ui/src/styles/log-panel.module.css @@ -14,11 +14,20 @@ * EventFeed so their containing InfiniteScrollArea owns the scroll — one * scrollbar per panel, IntersectionObserver sentinels stay meaningful. */ -.flatScroll { +.flatScroll, +.flatScroll * { overflow: visible !important; max-height: none !important; } +/* EventFeed root is flex column with height:100% and its .list child has + flex:1 + overflow-y:auto. Breaking the height chain lets content size + to itself so the InfiniteScrollArea wrapper scrolls once. */ +.flatScroll { + height: auto !important; + min-height: 0 !important; +} + .logHeader { display: flex; align-items: center;