This is an automated email from the ASF dual-hosted git repository.
vatsrahul1001 pushed a commit to branch v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
commit eb1ef3a210e456fcf07ea5cb091529f98b12cd48
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Oct 29 17:08:22 2026 +0000
[v3-4-test] Show UI doc screenshots in synced dark/light tabs (#75957)
(#75960)
Almost every screenshot on the UI overview page was shown twice, once per
theme, which roughly doubled the page length. Each pair is now a
sphinx-design
tab set in one sync group, so choosing a theme on any screenshot switches
them
all and the choice is remembered for the browser session.
(cherry picked from commit 7468d3145cc370777d422b1dde5b7414a77b2d58)
Co-authored-by: Ash Berlin-Taylor <[email protected]>
---
airflow-core/docs/ui.rst | 432 ++++++++++++++++++++++++++++++++---------------
1 file changed, 299 insertions(+), 133 deletions(-)
diff --git a/airflow-core/docs/ui.rst b/airflow-core/docs/ui.rst
index 867322f91ec..4c522b96f33 100644
--- a/airflow-core/docs/ui.rst
+++ b/airflow-core/docs/ui.rst
@@ -27,7 +27,9 @@ This guide offers a reference-style walkthrough of key UI
components, with annot
experienced users alike.
.. note::
- Screenshots in this guide use **dark theme** by default. Select views are
also shown in **light theme** for comparison. You can toggle themes from user
settings located at the bottom corner of the Airflow UI.
+ Screenshots in this guide are available in both **dark** and **light**
theme. Use the tabs above any screenshot to
+ switch; your choice applies to every screenshot on the page. You can toggle
themes in the Airflow UI from user
+ settings located at the bottom corner.
.. note::
The Airflow 3 UI uses modern browser and CSS features. Use a current
version of Chrome, Edge, Firefox, or
@@ -49,13 +51,20 @@ Airflow 3 and includes:
This page is useful for quickly assessing the health of your environment and
identifying recent issues or
asset-triggered events.
-.. image:: img/ui-dark/home_dark.png
- :alt: Airflow Home Page showing system health, Dag/task stats, and asset
events (Dark Mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
-.. image:: img/ui-light/home_light.png
- :alt: Airflow Home Page showing system health, Dag/task stats, and asset
events (Light Mode)
+ .. image:: img/ui-dark/home_dark.png
+ :alt: Airflow Home Page showing system health, Dag/task stats, and
asset events (Dark Mode)
+
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/home_light.png
+ :alt: Airflow Home Page showing system health, Dag/task stats, and
asset events (Light Mode)
.. _ui-dag-list:
@@ -81,26 +90,38 @@ At the top of the view, you can:
- Use **search** or **advanced search (⌘+K)** to find specific Dags
- Sort the list using the dropdown (e.g., Latest Run Start Date)
-.. image:: img/ui-dark/dag_list.png
- :alt: Dag List View in dark mode showing search, filters, and Dag-level
controls
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
-|
+ .. image:: img/ui-dark/dag_list.png
+ :alt: Dag List View in dark mode showing search, filters, and
Dag-level controls
-.. image:: img/ui-light/dag_list.png
- :alt: Dag List View in light mode showing the same Dags and actions for
comparison
+ .. tab-item:: Light
+ :sync: light
-|
+ .. image:: img/ui-light/dag_list.png
+ :alt: Dag List View in light mode showing the same Dags and actions
for comparison
Some Dags in this list may interact with data assets. For example, Dags that
are triggered by asset conditions may
display popups showing upstream asset inputs.
-.. image:: img/ui-dark/dag_list_asset_condition_popup.png
- :alt: Dag List View showing asset condition popup (Dark Mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
-.. image:: img/ui-light/dag_list_asset_condition_popup.png
- :alt: Dag List View showing asset condition popup (Light Mode)
+ .. image:: img/ui-dark/dag_list_asset_condition_popup.png
+ :alt: Dag List View showing asset condition popup (Dark Mode)
+
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_list_asset_condition_popup.png
+ :alt: Dag List View showing asset condition popup (Light Mode)
.. _ui-dag-details:
@@ -118,13 +139,20 @@ Key elements include:
This page also includes a visual **timeline of recent Dag runs** and a **log
preview for failures**, helping users quickly identify issues across runs.
-.. image:: img/ui-dark/dag_overview_dashboard.png
- :alt: Dag Details Page in dark mode showing overview dashboard and failure
diagnostics
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
-|
+ .. image:: img/ui-dark/dag_overview_dashboard.png
+ :alt: Dag Details Page in dark mode showing overview dashboard and
failure diagnostics
-.. image:: img/ui-light/dag_overview_dashboard.png
- :alt: Dag Details Page in light mode showing overview dashboard and failure
diagnostics
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_overview_dashboard.png
+ :alt: Dag Details Page in light mode showing overview dashboard and
failure diagnostics
.. _ui-grid-view:
@@ -145,13 +173,20 @@ Use Grid View to:
Each row represents a task, and each column represents a Dag run. You can
hover over any task instance for more detail,
or click to drill down into logs and metadata.
-.. image:: img/ui-dark/dag_overview_grid.png
- :alt: Grid View showing Dag run status matrix with varied task states (Dark
Mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
+
+ .. image:: img/ui-dark/dag_overview_grid.png
+ :alt: Grid View showing Dag run status matrix with varied task
states (Dark Mode)
-|
+ .. tab-item:: Light
+ :sync: light
-.. image:: img/ui-light/dag_overview_grid.png
- :alt: Grid View showing Dag run status matrix with varied task states
(Light Mode)
+ .. image:: img/ui-light/dag_overview_grid.png
+ :alt: Grid View showing Dag run status matrix with varied task
states (Light Mode)
.. _ui-graph-view:
@@ -172,13 +207,20 @@ recent run history.
Use the dropdown at the top to switch between Dag runs and see how task states
changed across executions.
-.. image:: img/ui-dark/dag_overview_graph.png
- :alt: Graph View showing Dag structure with no Dag run selected (Dark Mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
-.. image:: img/ui-light/dag_overview_graph.png
- :alt: Graph View showing Dag structure with no Dag run selected (Light Mode)
+ .. image:: img/ui-dark/dag_overview_graph.png
+ :alt: Graph View showing Dag structure with no Dag run selected
(Dark Mode)
+
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_overview_graph.png
+ :alt: Graph View showing Dag structure with no Dag run selected
(Light Mode)
.. _ui-dag-tabs:
@@ -191,71 +233,100 @@ Runs Tab
''''''''
The **Runs** tab displays a sortable table of all Dag runs, along with their
status, execution duration, run type, and Dag version.
-.. image:: img/ui-dark/dag_overview_runs.png
- :alt: Dag Runs Tab (Dark Mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
-|
+ .. image:: img/ui-dark/dag_overview_runs.png
+ :alt: Dag Runs Tab (Dark Mode)
-.. image:: img/ui-light/dag_overview_runs.png
- :alt: Dag Runs Tab (Light Mode)
+ .. tab-item:: Light
+ :sync: light
-|
+ .. image:: img/ui-light/dag_overview_runs.png
+ :alt: Dag Runs Tab (Light Mode)
Tasks Tab
'''''''''
The **Tasks** tab shows metadata for each task in the Dag, including operator
type, trigger rule, most recent run status, and run history.
-.. image:: img/ui-dark/dag_overview_tasks.png
- :alt: Dag Tasks Tab (Dark Mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
-.. image:: img/ui-light/dag_overview_tasks.png
- :alt: Dag Tasks Tab (Light Mode)
+ .. image:: img/ui-dark/dag_overview_tasks.png
+ :alt: Dag Tasks Tab (Dark Mode)
-|
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_overview_tasks.png
+ :alt: Dag Tasks Tab (Light Mode)
Events Tab
''''''''''
The **Events** tab surfaces structured events related to the Dag, such as Dag
triggers and version patches. This tab is especially useful for Dag versioning
and troubleshooting changes.
-.. image:: img/ui-dark/dag_overview_events.png
- :alt: Dag Events Tab (Dark Mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
+
+ .. image:: img/ui-dark/dag_overview_events.png
+ :alt: Dag Events Tab (Dark Mode)
-|
+ .. tab-item:: Light
+ :sync: light
-.. image:: img/ui-light/dag_overview_events.png
- :alt: Dag Events Tab (Light Mode)
+ .. image:: img/ui-light/dag_overview_events.png
+ :alt: Dag Events Tab (Light Mode)
Code Tab
''''''''
The **Code** tab displays the current version of the Dag definition, including
the timestamp of the last parse. Users can view the code for any specific Dag
version.
-.. image:: img/ui-dark/dag_overview_code.png
- :alt: Dag Code Tab (Dark Mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
-.. image:: img/ui-light/dag_overview_code.png
- :alt: Dag Code Tab (Light Mode)
+ .. image:: img/ui-dark/dag_overview_code.png
+ :alt: Dag Code Tab (Dark Mode)
-|
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_overview_code.png
+ :alt: Dag Code Tab (Light Mode)
Details Tab
'''''''''''
The **Details** tab provides configuration details and metadata for the Dag,
including schedule, file location, concurrency limits, and version identifiers.
-.. image:: img/ui-dark/dag_overview_details.png
- :alt: Dag Details Tab (Dark Mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
+
+ .. image:: img/ui-dark/dag_overview_details.png
+ :alt: Dag Details Tab (Dark Mode)
-|
+ .. tab-item:: Light
+ :sync: light
-.. image:: img/ui-light/dag_overview_details.png
- :alt: Dag Details Tab (Light Mode)
+ .. image:: img/ui-light/dag_overview_details.png
+ :alt: Dag Details Tab (Light Mode)
.. _ui-dag-runs:
@@ -264,11 +335,20 @@ Dag Run View
Each Dag Run has its own view, accessible by selecting a specific row in the
Dag's **Runs** tab. The Dag Run view
displays metadata about the selected run, as well as task-level details,
rendered code, and more.
-.. image:: img/ui-dark/dag_run_task_instances.png
- :alt: Dag Run - Task Instances tab (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
+ .. image:: img/ui-dark/dag_run_task_instances.png
+ :alt: Dag Run - Task Instances tab (dark mode)
+
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_run_task_instances.png
+ :alt: Dag Run - Task Instances tab (light mode)
Key elements include:
@@ -294,9 +374,6 @@ Displays the status and metadata for each task instance
within the Dag Run. Colu
Each row also includes a mini Gantt-style timeline that visually represents
the task's duration.
-.. image:: img/ui-light/dag_run_task_instances.png
- :alt: Dag Run - Task Instances (light mode)
-
Events
''''''
@@ -310,25 +387,37 @@ or comparing behavior across Dag Runs that used different
code.
Dag Run code for ``hello >> airflow()``:
-.. image:: img/ui-dark/dag_run_code_hello_airflow.png
- :alt: Dag Run Code Snapshot - airflow() (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
-.. image:: img/ui-light/dag_run_code_hello_airflow.png
- :alt: Dag Run Code Snapshot - airflow() (light mode)
+ .. image:: img/ui-dark/dag_run_code_hello_airflow.png
+ :alt: Dag Run Code Snapshot - airflow() (dark mode)
-|
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_run_code_hello_airflow.png
+ :alt: Dag Run Code Snapshot - airflow() (light mode)
Dag Run code for ``hello >> world()``:
-.. image:: img/ui-dark/dag_run_code_hello_world.png
- :alt: Dag Run Code Snapshot - world() (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
+
+ .. image:: img/ui-dark/dag_run_code_hello_world.png
+ :alt: Dag Run Code Snapshot - world() (dark mode)
-|
+ .. tab-item:: Light
+ :sync: light
-.. image:: img/ui-light/dag_run_code_hello_world.png
- :alt: Dag Run Code Snapshot - world() (light mode)
+ .. image:: img/ui-light/dag_run_code_hello_world.png
+ :alt: Dag Run Code Snapshot - world() (light mode)
Details
'''''''
@@ -341,13 +430,20 @@ Provides extended metadata for the Dag Run, including:
- Trigger Source and Run Config
- Dag Version ID and Bundle Name
-.. image:: img/ui-dark/dag_run_details.png
- :alt: Dag Run - Details tab (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
-.. image:: img/ui-light/dag_run_details.png
- :alt: Dag Run - Details tab (light mode)
+ .. image:: img/ui-dark/dag_run_details.png
+ :alt: Dag Run - Details tab (dark mode)
+
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_run_details.png
+ :alt: Dag Run - Details tab (light mode)
Graph View
''''''''''
@@ -356,13 +452,20 @@ Shows the Dag's task dependency structure overlaid with
the status of each task
Each node includes a visual indicator of task duration.
-.. image:: img/ui-dark/dag_run_graph.png
- :alt: Dag Run - Graph View (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
-|
+ .. image:: img/ui-dark/dag_run_graph.png
+ :alt: Dag Run - Graph View (dark mode)
-.. image:: img/ui-light/dag_run_graph.png
- :alt: Dag Run - Graph View (light mode)
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_run_graph.png
+ :alt: Dag Run - Graph View (light mode)
.. _ui-ti-view:
@@ -374,26 +477,40 @@ Single Run
The Single Run window allows you to trigger a Dag run.
-.. image:: img/ui-light/dag_trigger_window_single_run.png
- :alt: Dag Trigger Window - Single Run (Light Mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
+
+ .. image:: img/ui-dark/dag_trigger_window_single_run.png
+ :alt: Dag Trigger Window - Single Run (Dark Mode)
-|
+ .. tab-item:: Light
+ :sync: light
-.. image:: img/ui-dark/dag_trigger_window_single_run.png
- :alt: Dag Trigger Window - Single Run (Dark Mode)
+ .. image:: img/ui-light/dag_trigger_window_single_run.png
+ :alt: Dag Trigger Window - Single Run (Light Mode)
Backfill
''''''''
The Backfill window allows you to trigger a Dag run for past dates.
-.. image:: img/ui-light/backfill.png
- :alt: Dag Trigger Window - Backfill (Light Mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
-.. image:: img/ui-dark/backfill.png
- :alt: Dag Trigger Window - Backfill (Dark Mode)
+ .. image:: img/ui-dark/backfill.png
+ :alt: Dag Trigger Window - Backfill (Dark Mode)
+
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/backfill.png
+ :alt: Dag Trigger Window - Backfill (Light Mode)
Task Instance View
------------------
@@ -401,8 +518,20 @@ Task Instance View
When you click on a specific task from the Dag Run view, you're brought to the
**Task Instance View**, which shows
detailed logs and metadata for that individual task execution.
-.. image:: img/ui-dark/dag_task_instance_logs.png
- :alt: Task Logs (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
+
+ .. image:: img/ui-dark/dag_task_instance_logs.png
+ :alt: Task Logs (dark mode)
+
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_task_instance_logs.png
+ :alt: Task Logs (light mode)
.. _ui-ti-tabs:
@@ -415,9 +544,6 @@ Logs
''''
The default tab shows the task logs, which include system output, error
messages, and traceback information. This is the first place to look when a
task fails.
-.. image:: img/ui-light/dag_task_instance_logs.png
- :alt: Task Logs (light mode)
-
Rendered Templates
''''''''''''''''''
Displays the rendered version of templated fields in your task. Useful for
debugging context variables or verifying
@@ -427,13 +553,20 @@ XCom
''''
Shows any values pushed via ``XCom.push()`` or returned from Python functions
when using TaskFlow.
-.. image:: img/ui-dark/dag_run_task_instance_xcom.png
- :alt: Task Instance - XCom tab (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
+
+ .. image:: img/ui-dark/dag_run_task_instance_xcom.png
+ :alt: Task Instance - XCom tab (dark mode)
-|
+ .. tab-item:: Light
+ :sync: light
-.. image:: img/ui-light/dag_run_task_instance_xcom.png
- :alt: Task Instance - XCom tab (light mode)
+ .. image:: img/ui-light/dag_run_task_instance_xcom.png
+ :alt: Task Instance - XCom tab (light mode)
Events
''''''
@@ -453,13 +586,20 @@ Displays runtime metadata about the task instance,
including:
- Pool and slot usage
- Executor and configuration
-.. image:: img/ui-dark/dag_task_instance_details.png
- :alt: Task Instance - Details tab (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
-|
+ .. tab-item:: Dark
+ :sync: dark
-.. image:: img/ui-light/dag_task_instance_details.png
- :alt: Task Instance - Details tab (light mode)
+ .. image:: img/ui-dark/dag_task_instance_details.png
+ :alt: Task Instance - Details tab (dark mode)
+
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_task_instance_details.png
+ :alt: Task Instance - Details tab (light mode)
.. _ui-asset-views:
@@ -481,13 +621,20 @@ The Asset List shows all known assets, grouped by name.
For each asset, you can
Hovering over a count of Dags or tasks shows a tooltip with the full list of
producers or consumers.
-.. image:: img/ui-dark/asset_list_consuming_dags.png
- :alt: Asset List (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
-|
+ .. image:: img/ui-dark/asset_list_consuming_dags.png
+ :alt: Asset List (dark mode)
-.. image:: img/ui-light/asset_list_consuming_dags.png
- :alt: Asset List (light mode)
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/asset_list_consuming_dags.png
+ :alt: Asset List (light mode)
Clicking on the link takes you to the Asset Graph View.
@@ -500,13 +647,20 @@ The Asset Graph View shows the asset in context,
including upstream producers an
- Trigger asset events manually
- View recent asset events and the Dag runs they triggered
-.. image:: img/ui-dark/asset_view.png
- :alt: Asset Graph View (dark mode)
+.. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
+
+ .. image:: img/ui-dark/asset_view.png
+ :alt: Asset Graph View (dark mode)
-|
+ .. tab-item:: Light
+ :sync: light
-.. image:: img/ui-light/asset_view.png
- :alt: Asset Graph View (light mode)
+ .. image:: img/ui-light/asset_view.png
+ :alt: Asset Graph View (light mode)
Graph Overlays in Dag View
@@ -521,25 +675,37 @@ Two graph modes are available:
- **All Dag Dependencies**: Shows all Dag-to-Dag and task-level connections
- .. image:: img/ui-dark/dag_graph_all_dependencies.png
- :alt: Dag Graph View - All Dependencies (dark mode)
+ .. tab-set::
+ :sync-group: ui-theme
- |
+ .. tab-item:: Dark
+ :sync: dark
- .. image:: img/ui-light/dag_graph_all_dependencies.png
- :alt: Dag Graph View - All Dependencies (light mode)
+ .. image:: img/ui-dark/dag_graph_all_dependencies.png
+ :alt: Dag Graph View - All Dependencies (dark mode)
- |
+ .. tab-item:: Light
+ :sync: light
+
+ .. image:: img/ui-light/dag_graph_all_dependencies.png
+ :alt: Dag Graph View - All Dependencies (light mode)
- **External Conditions**: Shows only Dags triggered via asset events
- .. image:: img/ui-dark/dag_graph_external_conditions.png
- :alt: Dag Graph View - External Conditions Only (dark mode)
+ .. tab-set::
+ :sync-group: ui-theme
+
+ .. tab-item:: Dark
+ :sync: dark
+
+ .. image:: img/ui-dark/dag_graph_external_conditions.png
+ :alt: Dag Graph View - External Conditions Only (dark mode)
- |
+ .. tab-item:: Light
+ :sync: light
- .. image:: img/ui-light/dag_graph_external_conditions.png
- :alt: Dag Graph View - External Conditions Only (light mode)
+ .. image:: img/ui-light/dag_graph_external_conditions.png
+ :alt: Dag Graph View - External Conditions Only (light mode)
.. _ui-admin-views: