This is an automated email from the ASF dual-hosted git repository.
bbovenzi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new dd048b35f0a Fix Gantt tooltip showing wrong start date on
queued/scheduled segments (#68176)
dd048b35f0a is described below
commit dd048b35f0a31edb097fdbce905e8966ef1565ce
Author: Shashwati Bhattacharyaa <[email protected]>
AuthorDate: Thu Jun 11 22:17:56 2026 +0530
Fix Gantt tooltip showing wrong start date on queued/scheduled segments
(#68176)
Co-authored-by: Shashwati <[email protected]>
---
.../src/airflow/ui/src/layouts/Details/Gantt/GanttTimeline.tsx | 2 +-
airflow-core/src/airflow/ui/src/layouts/Details/Gantt/utils.ts | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git
a/airflow-core/src/airflow/ui/src/layouts/Details/Gantt/GanttTimeline.tsx
b/airflow-core/src/airflow/ui/src/layouts/Details/Gantt/GanttTimeline.tsx
index 42cc8b44f95..43c28dba56b 100644
--- a/airflow-core/src/airflow/ui/src/layouts/Details/Gantt/GanttTimeline.tsx
+++ b/airflow-core/src/airflow/ui/src/layouts/Details/Gantt/GanttTimeline.tsx
@@ -86,7 +86,7 @@ const toTooltipSummary = (
return {
child_states: null,
max_end_date: dayjs(segment.x[1]).toISOString(),
- min_start_date: dayjs(segment.x[0]).toISOString(),
+ min_start_date: segment.start_when ?? dayjs(segment.x[0]).toISOString(),
state: segment.state ?? null,
task_display_name: segment.y,
task_id: segment.taskId,
diff --git a/airflow-core/src/airflow/ui/src/layouts/Details/Gantt/utils.ts
b/airflow-core/src/airflow/ui/src/layouts/Details/Gantt/utils.ts
index ff281092add..9502cd31e78 100644
--- a/airflow-core/src/airflow/ui/src/layouts/Details/Gantt/utils.ts
+++ b/airflow-core/src/airflow/ui/src/layouts/Details/Gantt/utils.ts
@@ -33,6 +33,8 @@ export type GanttDataItem = {
/** Source try times for tooltips (matches TaskInstance `*_when` fields). */
queued_when?: string | null;
scheduled_when?: string | null;
+ /** Actual task execution start_date — consistent across all segments of the
same try. */
+ start_when?: string | null;
state?: TaskInstanceState | null;
taskId: string;
tryNumber?: number;
@@ -133,10 +135,11 @@ export const transformGanttData = ({
const queuedMs = queuedDttm === null ? undefined :
dayjs(queuedDttm).valueOf();
const scheduledMs = scheduledDttm === null ? undefined :
dayjs(scheduledDttm).valueOf();
- // Include scheduled/queued times in tooltip data whenever the
timestamps exist.
+ // Include scheduled/queued/start times in tooltip data whenever
the timestamps exist.
const tryWhenForTooltip = {
...(scheduledMs === undefined ? {} : { scheduled_when:
scheduledDttm }),
...(queuedMs === undefined ? {} : { queued_when: queuedDttm }),
+ ...(startDate === null ? {} : { start_when: startDate }),
};
let endMs: number;