Skip to content

Conversation

@OscarLigthart
Copy link
Contributor

@OscarLigthart OscarLigthart commented Jan 14, 2026

Context

This PR adds the ability for a user to filter the stream of tasks given a certain depth. It builds further upon the recent implementation of allowing to retrieve a partial dag from a root with a given depth in core and the API.

Example

An example of what the menu will look like is given here:
image

UX Changes

What's changed is that we now allow for the setting of a depth parameter. In which the user will only see an X amount of tasks away from the root.

The idea of having this depth was to allow the user to traverse the graph a bit easier, which is useful when the DAGs get complex, to understand how tasks are related to one another. However, with a static filter, the depth parameter will require a lot of clicks from the user. At the same time, we don't want to get rid of the static filter, because it's useful to check some task information without necessarily altering the current view of the graph/grid (If the filter is not static, selecting another task will make that task the root in the filter and completely alter the view, making retrieving task logs a more intrusive operation).

In order to get the best in each scenario, I introduce a mode for Task Stream filtering. A user can then specify themself whether they want to "traverse" the DAG, or investigate the "static" view.

Happy to discuss whether this makes sense, or how it can be improved!

Was generative AI tooling used to co-author this PR?

  • Yes (please specify the tool below)

Claude Sonnet 4.5


  • Read the Pull Request Guidelines for more information. Note: commit author/co-author name and email in commits become permanently public when merged.
  • For fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
  • When adding dependency, check compliance with the ASF 3rd Party License Policy.
  • For significant user-facing changes create newsfragment: {pr_number}.significant.rst or {issue_number}.significant.rst, in airflow-core/newsfragments.

Copy link
Contributor

@bbovenzi bbovenzi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking great. I think static vs traverse mode makes sense. Adding a description could help users though

Just some minor comments

@bbovenzi bbovenzi added this to the Airflow 3.2.0 milestone Jan 15, 2026
@pierrejeambrun pierrejeambrun merged commit cee37d9 into apache:main Jan 19, 2026
76 checks passed
@pierrejeambrun
Copy link
Member

I agree a nice follow up could be to add some 'information' tooltip explaining what the 'static' vs 'traverse' mean

jason810496 pushed a commit to jason810496/airflow that referenced this pull request Jan 22, 2026
* feat: add depth filter to task stream filter

* feat: add traverse mode

* refactor: change mode to buttongroup

* fix: reset mode on clearing filter

* fix: lint

* fix: pnpm lint

* fix: file length

* fix: use translate for input placeholder
suii2210 pushed a commit to suii2210/airflow that referenced this pull request Jan 26, 2026
* feat: add depth filter to task stream filter

* feat: add traverse mode

* refactor: change mode to buttongroup

* fix: reset mode on clearing filter

* fix: lint

* fix: pnpm lint

* fix: file length

* fix: use translate for input placeholder
shreyas-dev pushed a commit to shreyas-dev/airflow that referenced this pull request Jan 29, 2026
* feat: add depth filter to task stream filter

* feat: add traverse mode

* refactor: change mode to buttongroup

* fix: reset mode on clearing filter

* fix: lint

* fix: pnpm lint

* fix: file length

* fix: use translate for input placeholder
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
* feat: add depth filter to task stream filter

* feat: add traverse mode

* refactor: change mode to buttongroup

* fix: reset mode on clearing filter

* fix: lint

* fix: pnpm lint

* fix: file length

* fix: use translate for input placeholder
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:translations area:UI Related to UI/UX. For Frontend Developers. translation:default

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a level parameter to Grid & Graph upstream/downstream filters

3 participants