You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "shivaam (via GitHub)" <gi...@apache.org> on 2026/07/10 17:14:30 UTC

[PR] UI: Add timetable type filter to Dag list [airflow]

shivaam opened a new pull request, #69728:
URL: https://github.com/apache/airflow/pull/69728

   Adds timetable type filtering to the Dag list UI.
   
   The public API already supports filtering Dags by `timetable_type`, but the Dag list page uses the private `/ui/dags` endpoint. This wires the same filter through the private endpoint, generated UI client, and Dag list filters.
   
   closes: #53738
   
   Screenshots / recording: TODO before marking ready for review.
   
   Testing:
   - `uv run pytest airflow-core/tests/unit/api_fastapi/core_api/routes/ui/test_dags.py::TestGetDagRuns::test_timetable_type_filter -q`
   - `pnpm test src/pages/DagsList/DagsFilters/DagsFilters.test.tsx`
   - `pnpm exec eslint --quiet src/constants/searchParams.ts src/queries/useDags.tsx src/pages/DagsList/DagsList.tsx src/pages/DagsList/DagsFilters/DagsFilters.tsx src/pages/DagsList/DagsFilters/TimetableTypeFilter.tsx src/pages/DagsList/DagsFilters/DagsFilters.test.tsx src/mocks/handlers/dags.ts`
   - `pnpm exec tsc --p tsconfig.app.json`
   - Airflow `prek` hooks during commit, including UI compile/lint, OpenAPI generation, mypy, and commit message validation
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes: OpenAI Codex
   
   Generated-by: OpenAI Codex following the guidelines
   


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "bbovenzi (via GitHub)" <gi...@apache.org>.
bbovenzi commented on code in PR #69728:
URL: https://github.com/apache/airflow/pull/69728#discussion_r3574106141


##########
airflow-core/src/airflow/api_fastapi/core_api/routes/ui/dags.py:
##########
@@ -124,6 +124,10 @@ def get_dags(
     is_favorite: QueryFavoriteFilter,
     has_asset_schedule: QueryHasAssetScheduleFilter,
     asset_dependency: QueryAssetDependencyFilter,
+    timetable_type: Annotated[
+        FilterParam[list[str] | None],
+        Depends(filter_param_factory(DagModel.timetable_type, list[str], FilterOptionEnum.IN)),

Review Comment:
   This is an exact match. To make this a more useful feature I think we need to follow how tags work and create an endpoint to query all timetables that exist amongst all the dags to give a typeahead dropdown UX



-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "shivaam (via GitHub)" <gi...@apache.org>.
shivaam commented on PR #69728:
URL: https://github.com/apache/airflow/pull/69728#issuecomment-5072681787

   
   https://github.com/user-attachments/assets/d145b624-0540-4b92-b008-73f74bdd33d8
   
   Here is an example of how it will look like. If you agree with the design, I will move ahead with the implementation. I have fixed the favorites to the right as we resize the window so they dont move around on smaller screens


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "bbovenzi (via GitHub)" <gi...@apache.org>.
bbovenzi commented on code in PR #69728:
URL: https://github.com/apache/airflow/pull/69728#discussion_r3660287131


##########
airflow-core/src/airflow/api_fastapi/core_api/routes/ui/dags.py:
##########
@@ -124,6 +124,10 @@ def get_dags(
     is_favorite: QueryFavoriteFilter,
     has_asset_schedule: QueryHasAssetScheduleFilter,
     asset_dependency: QueryAssetDependencyFilter,
+    timetable_type: Annotated[
+        FilterParam[list[str] | None],
+        Depends(filter_param_factory(DagModel.timetable_type, list[str], FilterOptionEnum.IN)),

Review Comment:
   Yes, this is starting to get cluttered. I think our original intention was to make the long "search dags" input handle many cases similar to how github work. Maybe we need to go back to that.



-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "bbovenzi (via GitHub)" <gi...@apache.org>.
bbovenzi commented on PR #69728:
URL: https://github.com/apache/airflow/pull/69728#issuecomment-5095818610

   If we are filtering by timetable then I think we should also show timetable with the schedule in the card and list. Can be a separate PR.


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "shivaam (via GitHub)" <gi...@apache.org>.
shivaam commented on PR #69728:
URL: https://github.com/apache/airflow/pull/69728#issuecomment-5072081708

   > Any update here? It would be great to have this improvement!
   
   Hello! I will update the PR by tomorrow morning. Working on it today


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "bbovenzi (via GitHub)" <gi...@apache.org>.
bbovenzi commented on code in PR #69728:
URL: https://github.com/apache/airflow/pull/69728#discussion_r3660293027


##########
airflow-core/newsfragments/69728.feature.rst:
##########
@@ -0,0 +1 @@
+Add timetable type filtering to the Dags list.

Review Comment:
   This is not newsfragment-worthy



-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "bbovenzi (via GitHub)" <gi...@apache.org>.
bbovenzi merged PR #69728:
URL: https://github.com/apache/airflow/pull/69728


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "shivaam (via GitHub)" <gi...@apache.org>.
shivaam commented on code in PR #69728:
URL: https://github.com/apache/airflow/pull/69728#discussion_r3647016604


##########
airflow-core/src/airflow/api_fastapi/core_api/routes/ui/dags.py:
##########
@@ -124,6 +124,10 @@ def get_dags(
     is_favorite: QueryFavoriteFilter,
     has_asset_schedule: QueryHasAssetScheduleFilter,
     asset_dependency: QueryAssetDependencyFilter,
+    timetable_type: Annotated[
+        FilterParam[list[str] | None],
+        Depends(filter_param_factory(DagModel.timetable_type, list[str], FilterOptionEnum.IN)),

Review Comment:
   <img width="1675" height="300" alt="Image" src="https://github.com/user-attachments/assets/d88303d4-7552-47f6-84d4-bdb13bdfc8b9" />
   
   A new search bar only for tags? Is this what we are expecting from this UI? 
   I feel the UI is looking a little cluttered with multiple search bars for each different category.
   @pierrejeambrun fyi



-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "shivaam (via GitHub)" <gi...@apache.org>.
shivaam commented on code in PR #69728:
URL: https://github.com/apache/airflow/pull/69728#discussion_r3662056803


##########
airflow-core/src/airflow/api_fastapi/core_api/routes/ui/dags.py:
##########
@@ -124,6 +124,10 @@ def get_dags(
     is_favorite: QueryFavoriteFilter,
     has_asset_schedule: QueryHasAssetScheduleFilter,
     asset_dependency: QueryAssetDependencyFilter,
+    timetable_type: Annotated[
+        FilterParam[list[str] | None],
+        Depends(filter_param_factory(DagModel.timetable_type, list[str], FilterOptionEnum.IN)),

Review Comment:
   Do you think consolidating these filters into the main Dag search could be handled in a separate PR, or would you prefer that we address it here?
   
   I think we can do a unified, GitHub-style search. It will benefit from a few design iterations to define the filter syntax, dropdown behavior, and how the existing filters should migrate. I’m happy to explore that separately while keeping this PR focused on timetable filtering.



-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] UI: Add timetable type filter to Dag list [airflow]

Posted by "bbovenzi (via GitHub)" <gi...@apache.org>.
bbovenzi commented on PR #69728:
URL: https://github.com/apache/airflow/pull/69728#issuecomment-5108574331

   LGTM let's just rerun the autogenerated API docs. Its probably from my PR to shorten all of the string match descriptions.


-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org