-
Notifications
You must be signed in to change notification settings - Fork 16.7k
Open
Labels
affected_version:3.2.0betaUse for reporting issues with 3.2.0betaUse for reporting issues with 3.2.0betaarea:UIRelated to UI/UX. For Frontend Developers.Related to UI/UX. For Frontend Developers.kind:bugThis is a clearly a bugThis is a clearly a bugpriority:mediumBug that should be fixed before next release but would not block a releaseBug that should be fixed before next release but would not block a release
Description
Apache Airflow version
3.1.8
If "Other Airflow 3 version" selected, which one?
No response
What happened?
Gantt view is not scrollable when there are many tasks that user needs to scroll and see all the tasks
Screen.Recording.2026-03-16.at.6.52.50.PM.mov
What you think should happen instead?
No response
How to reproduce
Use the below Dag to reproduce the issue.
Trigger the Dag, exapnd all the task groups and notice task list is scrollable but not the gantt view.
from airflow.sdk import DAG
from airflow.decorators import task
from airflow.providers.standard.operators.empty import EmptyOperator
from airflow.utils.task_group import TaskGroup
from datetime import datetime
from dataclasses import dataclass
from dataclasses_json import dataclass_json
from random import seed, randint
@dataclass_json
@dataclass
class Payload:
seed: int
a: str
b: str
c: str
d: str
def make(i):
return Payload(
seed=i, a=str(i) * 5, b=str(i) * 10, c=str(i) * 15, d=str(i) * 20
)
def transform(self):
self.a = str(int(int(self.a) / 5))
self.b = str(int(int(self.a) / 10))
self.c = str(int(int(self.a) / 15))
self.d = str(int(int(self.a) / 20))
@task
def mk_payloads(i):
return [Payload.make(j).to_dict() for j in range(1, i)]
@task
def transform(_payload):
payload = Payload.from_dict(_payload)
payload.transform()
return payload.to_dict()
@task
def check_transformed(_payload):
payload: Payload = Payload.from_dict(_payload)
orig = Payload.make(payload.seed)
orig.transform()
# same transformation made to same data
# results should be same, otherwise something got lost along the way
assert orig == payload
minmax_map_indices_per_lane = (5, 60)
lanes = 10
with DAG(
dag_id="many_expand", schedule=None, start_date=datetime(1970, 1, 1), catchup=False,tags=["taskmap"]
) as dag:
seed(42) # be deterministic
for i in range(lanes):
with TaskGroup(group_id=f"lane{i+1}"):
min_map, max_map = minmax_map_indices_per_lane
mapped = randint(min_map, max_map)
check_transformed.expand(
_payload=transform.expand(_payload=mk_payloads(mapped))
)Operating System
Linux
Versions of Apache Airflow Providers
No response
Deployment
Other
Deployment details
No response
Anything else?
No response
Are you willing to submit PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
affected_version:3.2.0betaUse for reporting issues with 3.2.0betaUse for reporting issues with 3.2.0betaarea:UIRelated to UI/UX. For Frontend Developers.Related to UI/UX. For Frontend Developers.kind:bugThis is a clearly a bugThis is a clearly a bugpriority:mediumBug that should be fixed before next release but would not block a releaseBug that should be fixed before next release but would not block a release