Kunal8954 opened a new pull request, #72435: URL: https://github.com/apache/airflow/pull/72435
closes: #72434 ### What's the problem TaskGroups show up on the Gantt chart as a single bar spanning from the earliest child task's start to the latest child task's end (the "envelope" of everything inside). When the tasks inside actually run quickly, that envelope bar still reads as one very long-running task, which makes the chart hard to interpret at a glance — exactly what the issue describes. Removing TaskGroups from the Gantt entirely was considered and rejected in the issue itself, since they're still useful there for organizing the chart. ### The fix Add a "Hide Task Group Durations" switch under Gantt view -> Options (next to the existing Dag Runs / Version Indicator settings). When it's on: - TaskGroup rows keep their place in the Gantt (so they still line up with the Grid/sidebar for organization). - Their aggregate duration bar is simply not rendered. - Regular task bars are unaffected. The setting is a boolean stored in localStorage (`gantt_hide_group_durations`), following the same pattern as the existing "All Dag Dependencies" toggle, so it persists across sessions and applies globally (not scoped to one Dag). ### Tests Added two tests to `GanttTimeline.test.tsx`: - a Task Group's bar disappears when the toggle is on, and reappears when it's off (the row itself is never dropped). - a regular task's bar is unaffected by the toggle. ### Verification - `vitest run` on `GanttTimeline.test.tsx` + `Gantt/utils.test.ts`: all passing (8/8 in the touched file, including the 2 new tests). - `eslint --quiet` on every touched file: clean. - `tsc -p tsconfig.app.json`: clean. - `prettier --check`: clean. - Branch rebased onto current `main` before running all of the above. --- <sub>Disclosure: this PR was prepared with the assistance of Claude Code (the commit carries a `Co-Authored-By` trailer). I reviewed the change and take responsibility for it.</sub> 🤖 Generated with [[Claude Code](https://claude.com/claude-code)](https://claude.com/claude-code) https://claude.ai/code/session_015kAvbZ6SeKgp6jbGcvpXSh -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
