From a255036a6afcbd9cd0c2259319a77799ff47ac99 Mon Sep 17 00:00:00 2001 From: mhussaind Date: Fri, 10 Jul 2026 02:52:13 -0400 Subject: [PATCH 1/3] UI: Fix Grid view scrollbar hiding latest Dag run --- airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx b/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx index a1cb9d36e991c..762c6dc3823dc 100644 --- a/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx +++ b/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx @@ -208,6 +208,7 @@ export const Grid = ({ + {!showGantt && } {runsWithVersionFlags?.map((dr) => ( + {!showGantt && } {gridRuns?.map((dr: GridRunsResponse) => ( Date: Fri, 10 Jul 2026 08:26:18 -0400 Subject: [PATCH 2/3] UI: Address review feedback for Grid scrollbar spacer --- .../src/airflow/ui/src/layouts/Details/Grid/Grid.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx b/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx index 762c6dc3823dc..591902ee4dbe7 100644 --- a/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx +++ b/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx @@ -62,6 +62,7 @@ type Props = { }; const GRID_INNER_SCROLL_PADDING_START_PX = GRID_HEADER_PADDING_PX + GRID_HEADER_HEIGHT_PX; +const ScrollbarSpacer = () => ; export const Grid = ({ dagRunState, @@ -208,7 +209,7 @@ export const Grid = ({ - {!showGantt && } + {!showGantt && } {runsWithVersionFlags?.map((dr) => ( - {!showGantt && } + {!showGantt && } {gridRuns?.map((dr: GridRunsResponse) => ( From 9fd6fc0264de5331736965c7a558158b0d6da0f7 Mon Sep 17 00:00:00 2001 From: mhussaind Date: Sat, 25 Jul 2026 16:01:02 -0400 Subject: [PATCH 3/3] UI: Fix Grid header not hiding runs scrolled past The sticky header's background only spanned the scrollport, so run columns beyond it had no backing and task cells showed through when the details panel was narrow and the grid scrolled right. The header's top padding also left a band the sticky task name column did not cover, exposing the tallest duration bar behind it. --- .../ui/src/layouts/Details/Grid/Grid.tsx | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx b/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx index 591902ee4dbe7..5dd08e1bab5b9 100644 --- a/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx +++ b/airflow-core/src/airflow/ui/src/layouts/Details/Grid/Grid.tsx @@ -190,9 +190,25 @@ export const Grid = ({ const gridHeaderAndBody = ( <> - {/* Grid header, both bgs are needed to hide elements during horizontal and vertical scroll */} - - + {/* Grid header. minWidth stretches the header past the scrollport so its bg covers every run + column during horizontal scroll; the padding sits on the children so the sticky task name + column's bg spans the full header height and hides bars scrolled behind it. */} + + {Boolean(gridRuns?.length) && ( <> @@ -203,7 +219,7 @@ export const Grid = ({ {/* Duration bars */} - +