From a6c910f0153880e77bbc79288dba034ceaf76732 Mon Sep 17 00:00:00 2001 From: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com> Date: Tue, 18 Aug 2026 10:41:10 +0000 Subject: [PATCH] fix(web): logs scroll jump, dashboard tab-rename width, and banner usage (#13858) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three unrelated UI fixes. ### `fix: logs page wrap scroll` The Logs view delegates its scroll element to a container that also holds the histogram. TanStack Virtual compensates `scrollTop` whenever a measured row differs from its estimate — correct for a self-contained list, wrong for a shared scroller. With wrap on, rows were remeasured on every query refresh and the deltas pushed the whole page downward. Adds `preserveScrollOffsetOnRowResize` to `useTableVirtualization`, which pins `shouldAdjustScrollPositionOnItemSizeChange` to `() => false`. `OTable` opts in only when it has both a delegated `scrollEl` and dynamic row height, so self-contained tables keep the existing behaviour. ### `fix: dashboard tab rename size issue` The rename input's auto-sizer grid track was `minmax(0, max-content)`. Once the tab strip overflowed, the `0` minimum collapsed the track to `0px` and the input vanished. Now a bare `max-content`. ### `fix: ingestion and webinar obanner usage` Replaces two hand-rolled banner `div`s (`Ingestion.vue`, `WebinarBanner.vue`) with `OBanner`. To make that possible without appearance overrides, `OBanner` gains: - a `promo` variant (the existing marketing gold, so the standalone webinar bar still matches); - `center`, which groups message and actions in the middle of a bar instead of stranding the action at the far edge; - a `role` override, for a bar that is page furniture rather than a notification; - `dense` now actually applies in `bar` mode (`py-1` vs `py-2`). ### Tests `TabList.spec.ts` and `OTable.wrapMeasure.spec.ts` updated alongside. --- web/src/components/WebinarBanner.vue | 20 +++---- .../dashboards/tabs/TabList.spec.ts | 15 ++++++ .../components/dashboards/tabs/TabList.vue | 9 ++-- web/src/lib/core/Table/OTable.vue | 4 ++ .../lib/core/Table/OTable.wrapMeasure.spec.ts | 54 +++++++++++++------ .../composables/useTableVirtualization.ts | 24 ++++++++- web/src/lib/feedback/Banner/OBanner.vue | 31 +++++++++-- .../Dashboards/RenderDashboardCharts.vue | 2 +- web/src/views/Ingestion.vue | 24 ++++++--- 9 files changed, 140 insertions(+), 43 deletions(-) diff --git a/web/src/components/WebinarBanner.vue b/web/src/components/WebinarBanner.vue index a588ffe00e..ffd75b101b 100644 --- a/web/src/components/WebinarBanner.vue +++ b/web/src/components/WebinarBanner.vue @@ -16,16 +16,17 @@ along with this program. If not, see .