This is an automated email from the ASF dual-hosted git repository.

pierrejeambrun pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v3-1-test by this push:
     new d9aea9b5bb9 [v3-1-test] Fix grid view URL for dynamic task groups 
(#63205) (#63254)
d9aea9b5bb9 is described below

commit d9aea9b5bb9b2538e3897b6bf44a9ea231cf01c1
Author: Pierre Jeambrun <[email protected]>
AuthorDate: Tue Mar 10 14:16:38 2026 +0100

    [v3-1-test] Fix grid view URL for dynamic task groups (#63205) (#63254)
    
    * fix: Unhandled Exception in remote logging if connection doesn't 
exist(#59801) (#62979)
    
    Cherry-picked from 3428dc9 with conflict resolution:
    - context.py: Added `import inspect` (skip `import functools` as `from 
functools import cache` already exists)
    - supervisor.py: Adopted early-return pattern and explicit `del` for GC, 
kept simpler env var handling (no `_AIRFLOW_PROCESS_CONTEXT` which doesn't 
exist in v3-1-test)
    - test_supervisor.py: Replaced `@pytest.mark.xfail` workaround with proper 
`use_real_secrets_backends` fixture
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    
    * CI: Upgrade important CI environment (#62981)
    
    * chore(deps-dev): bump the core-ui-package-updates group across 1 
directory with 3 updates (#62968)
    
    Bumps the core-ui-package-updates group with 1 update in the 
/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui directory: 
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin).
    
    
    Updates `@typescript-eslint/eslint-plugin` from 8.50.0 to 8.56.1
    - [Release 
notes](https://github.com/typescript-eslint/typescript-eslint/releases)
    - 
[Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
    - 
[Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.1/packages/eslint-plugin)
    
    Updates `@typescript-eslint/parser` from 8.50.0 to 8.56.1
    - [Release 
notes](https://github.com/typescript-eslint/typescript-eslint/releases)
    - 
[Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
    - 
[Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.1/packages/parser)
    
    Updates `ts-morph` from 23.0.0 to 27.0.2
    - [Release notes](https://github.com/dsherret/ts-morph/releases)
    - [Commits](https://github.com/dsherret/ts-morph/compare/23.0.0...27.0.2)
    
    ---
    updated-dependencies:
    - dependency-name: "@typescript-eslint/eslint-plugin"
      dependency-version: 8.56.1
      dependency-type: direct:development
      update-type: version-update:semver-minor
      dependency-group: core-ui-package-updates
    - dependency-name: "@typescript-eslint/parser"
      dependency-version: 8.56.1
      dependency-type: direct:development
      update-type: version-update:semver-minor
      dependency-group: core-ui-package-updates
    - dependency-name: ts-morph
      dependency-version: 27.0.2
      dependency-type: direct:development
      update-type: version-update:semver-major
      dependency-group: core-ui-package-updates
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * [v3-1-test] fix: gracefully handle 404 from worker log server for 
historical retry attempts (#62475) (#63000)
    
    * fix: gracefully handle 404 from worker log server for historical retry 
attempts
    (cherry picked from commit 25e9284a1ded0cf3bdd819591894c50b743d479a)
    
    Co-authored-by: Pradeep Kalluri 
<[email protected]>
    
    * [v3-1-test] Remove issue_number option from newsfragment guidance in PR 
template (#63006) (#63012)
    
    The CI workflow added in #62975 validates that newsfragment filenames use
    the PR number, so allowing issue numbers would cause false CI failures.
    Align the PR template with the contributing docs and the new validation.
    (cherry picked from commit 41969f4cf7cbff91ebd834f5f1fd7ea53c039915)
    
    Co-authored-by: Xiaodong DENG <[email protected]>
    
    * [v3-1-test] CI: Upgrade important CI environment (#62989) (#63005)
    
    * [v3-1-test] CI: Upgrade important CI environment (#62989)
    (cherry picked from commit 60b52b78d74b0eab02e7b7597f947df32adbfd1b)
    
    Co-authored-by: Jarek Potiuk <[email protected]>
    
    * Fix rebase
    
    ---------
    
    Co-authored-by: Jarek Potiuk <[email protected]>
    
    * [v3-1-test] Align integration LocalStack docker-compose with e2e 
LocalStack config (#62980) (#62993)
    
    (cherry picked from commit 6722c4b3559259591cdc69f76319e1811602956e)
    
    Co-authored-by: Jason(Zhe-You) Liu 
<[email protected]>
    
    * [v3-1-test] Fallback to no constraint builds for docker-context-files 
installation (#63051) (#63057)
    
    When building PROD from docker-context-files - i.e. when we run main
    build with providers built from sources, we should fall back to
    no constraints build when there is a conflict with constraints.
    
    This is a follow up after #62378
    (cherry picked from commit fef2e62d6b730a31f5050295d9d1193d63e92fe7)
    
    Co-authored-by: Jarek Potiuk <[email protected]>
    
    * Fill Turkish Translation Gap in v3-1-test (#63010)
    
    * Remove global from FastAPI app.py (#59772) (#62997)
    
    * Remove global from FastAPI app.py
    
    * Remove global from FastAPI app.py
    
    Co-authored-by: Jens Scheffler <[email protected]>
    
    * chore(deps): bump actions/setup-java from 4.7.1 to 5.2.0 (#63102)
    
    Bumps [actions/setup-java](https://github.com/actions/setup-java) from 
4.7.1 to 5.2.0.
    - [Release notes](https://github.com/actions/setup-java/releases)
    - 
[Commits](https://github.com/actions/setup-java/compare/c5195efecf7bdfc987ee8bae7a71cb8b11521c00...be666c2fcd27ec809703dec50e508c2fdc7f6654)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-java
      dependency-version: 5.2.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * chore(deps): bump actions/stale from 9.1.0 to 10.2.0 (#63099)
    
    Bumps [actions/stale](https://github.com/actions/stale) from 9.1.0 to 
10.2.0.
    - [Release notes](https://github.com/actions/stale/releases)
    - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
    - 
[Commits](https://github.com/actions/stale/compare/5bef64f19d7facfb25b37b414482c7164d639639...b5d41d4e1d5dceea10e7104786b73624c18a190f)
    
    ---
    updated-dependencies:
    - dependency-name: actions/stale
      dependency-version: 10.2.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * chore(deps): bump actions/checkout from 4.2.2 to 6.0.2 (#63096)
    
    Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 
6.0.2.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - 
[Commits](https://github.com/actions/checkout/compare/11bd71901bbe5b1630ceea73d27597364c9af683...de0fac2e4500dabe0009e67214ff5f5447ce83dd)
    
    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-version: 6.0.2
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * chore(deps): bump actions/setup-python from 5.6.0 to 6.2.0 (#63098)
    
    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 
5.6.0 to 6.2.0.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - 
[Commits](https://github.com/actions/setup-python/compare/a26af69be951a213d495a4c3e4e4022e16d87065...a309ff8b426b58ec0e2a45f0f869d46889d02405)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-version: 6.2.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * chore(deps): bump actions/github-script from 7.0.1 to 8.0.0 (#63090)
    
    Bumps [actions/github-script](https://github.com/actions/github-script) 
from 7.0.1 to 8.0.0.
    - [Release notes](https://github.com/actions/github-script/releases)
    - 
[Commits](https://github.com/actions/github-script/compare/60a0d83039c74a4aee543508d2ffcb1c3799cdea...ed597411d8f924073f98dfc5c65a23a2325f34cd)
    
    ---
    updated-dependencies:
    - dependency-name: actions/github-script
      dependency-version: 8.0.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * [v3-1-test] Split npm dependabot minor+patch and major version PRs 
(#62889) (#63007)
    
    * Ignore major npm dependabot upgrades
    
    * Move major versions to different group
    (cherry picked from commit a2e3613cd074017db1241f75f99f27f2d0b955dd)
    
    Co-authored-by: Brent Bovenzi <[email protected]>
    
    * chore(deps): bump the core-ui-package-updates group across 1 directory 
with 2 updates (#63069)
    
    Bumps the core-ui-package-updates group with 2 updates in the 
/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui directory: 
[@chakra-ui/react](https://github.com/chakra-ui/chakra-ui/tree/HEAD/packages/react)
 and [happy-dom](https://github.com/capricorn86/happy-dom).
    
    Updates `@chakra-ui/react` from 3.33.0 to 3.34.0
    - [Release notes](https://github.com/chakra-ui/chakra-ui/releases)
    - 
[Changelog](https://github.com/chakra-ui/chakra-ui/blob/main/packages/react/CHANGELOG.md)
    - 
[Commits](https://github.com/chakra-ui/chakra-ui/commits/@chakra-ui/[email protected]/packages/react)
    
    Updates `happy-dom` from 20.7.0 to 20.8.3
    - [Release notes](https://github.com/capricorn86/happy-dom/releases)
    - 
[Commits](https://github.com/capricorn86/happy-dom/compare/v20.7.0...v20.8.3)
    
    ---
    updated-dependencies:
    - dependency-name: "@chakra-ui/react"
      dependency-version: 3.34.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: core-ui-package-updates
    - dependency-name: happy-dom
      dependency-version: 20.8.3
      dependency-type: direct:development
      update-type: version-update:semver-minor
      dependency-group: core-ui-package-updates
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * chore(deps): bump actions/upload-artifact from 4.6.2 to 7.0.0 (#63128)
    
    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) 
from 4.6.2 to 7.0.0.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - 
[Commits](https://github.com/actions/upload-artifact/compare/ea165f8d65b6e75b540449e92b4886f43607fa02...bbbca2ddaa5d8feaa63e36b76fdaad77386f024f)
    
    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-version: 7.0.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * chore(deps): bump actions/setup-go from 5.5.0 to 6.3.0 (#63124)
    
    Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.5.0 to 
6.3.0.
    - [Release notes](https://github.com/actions/setup-go/releases)
    - 
[Commits](https://github.com/actions/setup-go/compare/d35c59abb061a4a6fb18e82ac0862c26744d6ab5...4b73464bb391d4059bd26b0524d20df3927bd417)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-go
      dependency-version: 6.3.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * chore(deps): bump aws-actions/configure-aws-credentials (#63123)
    
    Bumps 
[aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials)
 from 4.0.1 to 6.0.0.
    - [Release 
notes](https://github.com/aws-actions/configure-aws-credentials/releases)
    - 
[Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
    - 
[Commits](https://github.com/aws-actions/configure-aws-credentials/compare/010d0da01d0b5a38af31e9c3470dbfdabdecca3a...8df5847569e6427dd6c4fb1cf565c83acfa8afa7)
    
    ---
    updated-dependencies:
    - dependency-name: aws-actions/configure-aws-credentials
      dependency-version: 6.0.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * chore(deps): bump actions/setup-node from 4.4.0 to 6.3.0 (#63119)
    
    Bumps [actions/setup-node](https://github.com/actions/setup-node) from 
4.4.0 to 6.3.0.
    - [Release notes](https://github.com/actions/setup-node/releases)
    - 
[Commits](https://github.com/actions/setup-node/compare/49933ea5288caeca8642d1e84afbd3f7d6820020...53b83947a5a98c8d113130e565377fae1a50d02f)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-node
      dependency-version: 6.3.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * [v3-1-test] chore(deps): bump actions/setup-go from 5.5.0 to 6.3.0 
(#63133) (#63138)
    
    Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.5.0 to 
6.3.0.
    - [Release notes](https://github.com/actions/setup-go/releases)
    - 
[Commits](https://github.com/actions/setup-go/compare/d35c59abb061a4a6fb18e82ac0862c26744d6ab5...4b73464bb391d4059bd26b0524d20df3927bd417)
    (cherry picked from commit 274c2b0e6d3ab570ce780908dd04432704f85f14)
    
    
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-go
      dependency-version: 6.3.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * [v3-1-test] chore(deps): bump actions/download-artifact from 4.3.0 to 
8.0.0 (#63065) (#63145)
    
    Bumps 
[actions/download-artifact](https://github.com/actions/download-artifact) from 
4.3.0 to 8.0.0.
    - [Release notes](https://github.com/actions/download-artifact/releases)
    - 
[Commits](https://github.com/actions/download-artifact/compare/d3f86a106a0bac45b974a628896c90dbdf5c8093...70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3)
    (cherry picked from commit 2f4646c3ed566e65ee17e644209893677b01a821)
    
    
    
    ---
    updated-dependencies:
    - dependency-name: actions/download-artifact
      dependency-version: 8.0.0
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * chore(deps): bump the github-actions-updates group with 2 updates (#63157)
    
    Bumps the github-actions-updates group with 2 updates: 
[pnpm/action-setup](https://github.com/pnpm/action-setup) and 
[slackapi/slack-github-action](https://github.com/slackapi/slack-github-action).
    
    
    Updates `pnpm/action-setup` from 4.0.0 to 4.2.0
    - [Release notes](https://github.com/pnpm/action-setup/releases)
    - 
[Commits](https://github.com/pnpm/action-setup/compare/fe02b34f77f8bc703788d5817da081398fad5dd2...41ff72655975bd51cab0327fa583b6e92b6d3061)
    
    Updates `slackapi/slack-github-action` from 2.0.0 to 2.1.1
    - [Release notes](https://github.com/slackapi/slack-github-action/releases)
    - 
[Commits](https://github.com/slackapi/slack-github-action/compare/485a9d42d3a73031f12ec201c457e2162c45d02d...91efab103c0de0a537f72a35f6b8cda0ee76bf0a)
    
    ---
    updated-dependencies:
    - dependency-name: pnpm/action-setup
      dependency-version: 4.2.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: github-actions-updates
    - dependency-name: slackapi/slack-github-action
      dependency-version: 2.1.1
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: github-actions-updates
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * [v3-1-test] perf: use load_only() in get_dag_runs eager loading to reduce 
data fetched per task instance (#62482) (#62996)
    
    * perf: use load_only() in eager_load_dag_run_for_validation to reduce data 
fetched
    
    The get_dag_runs API endpoint was slow on large deployments because
    eager_load_dag_run_for_validation() used selectinload on task_instances and
    task_instances_histories without restricting which columns were fetched.
    This caused SQLAlchemy to load all heavyweight columns (executor_config with
    pickled data, hostname, rendered fields, etc.) for every task instance 
across
    every DAG run in the result page — even though only dag_version_id is needed
    to traverse the association proxy to DagVersion.
    
    Add load_only(TaskInstance.dag_version_id) and
    load_only(TaskInstanceHistory.dag_version_id) to the selectinload chains so
    the SELECT for task instances fetches only the identity columns and the FK
    needed to resolve the dag_version relationship, significantly reducing the
    volume of data transferred from the database on busy deployments.
    
    Fixes #62025
    
    * Fix static checks
    
    ---------
    (cherry picked from commit 13af96b80868ef91ca623d35afcd76003bfbda90)
    
    Co-authored-by: Lakshmi Sravya 
<[email protected]>
    Co-authored-by: pierrejeambrun <[email protected]>
    
    * perf(api): optimize /ui/dags endpoint serialization (#61483) (#63001)
    
    This PR addresses a significant performance issue in the /ui/dags endpoint
    where page load times scaled poorly with the number of DAGs (12-16 seconds
    for just 25 DAGs in our testing).
    
    Two optimizations are implemented:
    
    1. Cache URLSafeSerializer for file_token generation
       - Previously, a new URLSafeSerializer was instantiated and
         conf.get_mandatory_value() was called for every DAG
       - Now uses @lru_cache to create the serializer once and reuse it
    
    2. Eliminate redundant Pydantic validation in response construction
       - The original pattern used model_validate -> model_dump -> 
model_validate
         which caused triple serialization overhead per DAG
       - Now validates once with DAGResponse.model_validate(), then uses
         model_construct() to build DAGWithLatestDagRunsResponse
    
    Together, these changes reduced page load time from 12-16 seconds to
    ~130ms in our dev environment.
    
    
    (cherry picked from commit a915216434cf583b0b54eee129cc9a93b96492b2)
    
    Co-authored-by: john-rodriguez-mgni 
<[email protected]>
    Co-authored-by: Cursor <[email protected]>
    
    * [v3-1-test] Bump astroid>=4 (#63170) (#63174)
    
    (cherry picked from commit 0a985eabb8e108795d49333b4544847657d36c1a)
    
    Co-authored-by: Elad Kalif <[email protected]>
    
    * chore(deps): bump the core-ui-package-updates group across 1 directory 
with 2 updates (#63153)
    
    Bumps the core-ui-package-updates group with 1 update in the 
/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui directory: 
[@chakra-ui/react](https://github.com/chakra-ui/chakra-ui/tree/HEAD/packages/react).
    
    
    Updates `@chakra-ui/react` from 3.33.0 to 3.34.0
    - [Release notes](https://github.com/chakra-ui/chakra-ui/releases)
    - 
[Changelog](https://github.com/chakra-ui/chakra-ui/blob/main/packages/react/CHANGELOG.md)
    - 
[Commits](https://github.com/chakra-ui/chakra-ui/commits/@chakra-ui/[email protected]/packages/react)
    
    Updates `happy-dom` from 20.7.0 to 20.8.3
    - [Release notes](https://github.com/capricorn86/happy-dom/releases)
    - 
[Commits](https://github.com/capricorn86/happy-dom/compare/v20.7.0...v20.8.3)
    
    ---
    updated-dependencies:
    - dependency-name: "@chakra-ui/react"
      dependency-version: 3.34.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: core-ui-package-updates
    - dependency-name: happy-dom
      dependency-version: 20.8.3
      dependency-type: direct:development
      update-type: version-update:semver-minor
      dependency-group: core-ui-package-updates
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * [v3-1-test] Further limit setuptools after 82.0.1 is released (until 
redoc fixes it) (#63202) (#63203)
    
    (cherry picked from commit b528e502eff321ec07464fc9c0e05ede30c8d5aa)
    
    Co-authored-by: Jarek Potiuk <[email protected]>
    
    * Fix race condition in auth manager initialization (#62431) (#62995)
    
    FAB FastAPI routes call get_application_builder() on every request,
    which creates a new Flask app and invokes init_app(). Concurrent calls
    race on the singleton auth_manager's appbuilder and security_manager,
    causing KeyError: 'AUTH_USER_REGISTRATION' and AttributeError.
    
    Add _init_app_lock around the critical section in init_app() that
    mutates the singleton auth_manager state and registers views, so
    concurrent get_application_builder() calls are serialized.
    
    Co-authored-by: Young-Ki Kim <[email protected]>
    
    * chore(deps): bump github/codeql-action (#63223)
    
    Bumps the github-actions-updates group with 1 update: 
[github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `github/codeql-action` from 3.29.0 to 4.32.6
    - [Release notes](https://github.com/github/codeql-action/releases)
    - 
[Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - 
[Commits](https://github.com/github/codeql-action/compare/ce28f5bb42b7a9f2c824e633a3f6ee835bab6858...0d579ffd059c29b07949a3cce3983f0780820c98)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-version: 4.32.6
      dependency-type: direct:production
      update-type: version-update:semver-major
      dependency-group: github-actions-updates
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    
    * [v3-1-test] Clarify docs on max_active_tasks parameter on a Dag (#63217) 
(#63228)
    
    (cherry picked from commit 9ae1875a19a84d8f55948dd85c872ee89ce86036)
    
    Co-authored-by: Jens Scheffler <[email protected]>
    
    * [v3-1-test] Fix undefined variable in install_from_external_spec error 
message (#63233) (#63237)
    
    The error message in install_from_external_spec() referenced
    ${INSTALLATION_METHOD} which does not exist — the correct variable
    is ${AIRFLOW_INSTALLATION_METHOD}. With set -u active, hitting this
    error path would crash with an "unbound variable" error instead of
    printing the intended user-friendly message.
    
    The typo was introduced in a1717a652b and carried forward into the
    inlined copies in both Dockerfiles.
    (cherry picked from commit 2ab6f9490dfbc205d1176d3d5dc1204d206f5397)
    
    Co-authored-by: Xiaodong DENG <[email protected]>
    
    * Fix grid view URL for dynamic task groups (#63205)
    
    Dynamic task groups with isMapped=true were getting /mapped appended
    to their URL in the grid view, producing URLs like
    /tasks/group/{groupId}/mapped which has no matching route (404).
    
    The graph view correctly handles this by not appending /mapped for groups.
    This fix adds the same guard to buildTaskInstanceUrl.
    
    closes: #63197
    (cherry picked from commit 7bc23ef3b564b0b6d1069411b38aee01473266fe)
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: Dev-iL <[email protected]>
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    Co-authored-by: Wei Lee <[email protected]>
    Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
    Co-authored-by: Pradeep Kalluri 
<[email protected]>
    Co-authored-by: Xiaodong DENG <[email protected]>
    Co-authored-by: Bugra Ozturk <[email protected]>
    Co-authored-by: Jarek Potiuk <[email protected]>
    Co-authored-by: Jason(Zhe-You) Liu 
<[email protected]>
    Co-authored-by: Vincent <[email protected]>
    Co-authored-by: Jens Scheffler <[email protected]>
    Co-authored-by: Brent Bovenzi <[email protected]>
    Co-authored-by: Lakshmi Sravya 
<[email protected]>
    Co-authored-by: john-rodriguez-mgni 
<[email protected]>
    Co-authored-by: Cursor <[email protected]>
    Co-authored-by: Elad Kalif <[email protected]>
    Co-authored-by: Young-Ki Kim <[email protected]>
    Co-authored-by: Subham <[email protected]>
---
 airflow-core/newsfragments/63205.bugfix.rst         |  1 +
 airflow-core/src/airflow/ui/src/utils/links.test.ts | 19 +++++++++++++++++--
 airflow-core/src/airflow/ui/src/utils/links.ts      |  2 +-
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/airflow-core/newsfragments/63205.bugfix.rst 
b/airflow-core/newsfragments/63205.bugfix.rst
new file mode 100644
index 00000000000..7e1781bc8ed
--- /dev/null
+++ b/airflow-core/newsfragments/63205.bugfix.rst
@@ -0,0 +1 @@
+Fix grid view URL for dynamic task groups producing 404 by not appending 
``/mapped`` to group URLs.
diff --git a/airflow-core/src/airflow/ui/src/utils/links.test.ts 
b/airflow-core/src/airflow/ui/src/utils/links.test.ts
index 47dd032ebc5..75d175e22a5 100644
--- a/airflow-core/src/airflow/ui/src/utils/links.test.ts
+++ b/airflow-core/src/airflow/ui/src/utils/links.test.ts
@@ -243,7 +243,7 @@ describe("buildTaskInstanceUrl", () => {
       }),
     ).toBe("/dags/new_dag/runs/new_run/tasks/group/new_group");
 
-    // Groups should never preserve tabs even for mapped groups
+    // Groups should never get /mapped appended — no such route exists for 
task groups
     expect(
       buildTaskInstanceUrl({
         currentPathname: "/dags/old/runs/old/tasks/group/old_group/events",
@@ -254,6 +254,21 @@ describe("buildTaskInstanceUrl", () => {
         runId: "new_run",
         taskId: "new_group",
       }),
-    ).toBe("/dags/new_dag/runs/new_run/tasks/group/new_group/mapped/3");
+    ).toBe("/dags/new_dag/runs/new_run/tasks/group/new_group");
+  });
+
+  it("should not append /mapped for dynamic task groups from grid view", () => 
{
+    // Regression test for https://github.com/apache/airflow/issues/63197
+    // Dynamic task groups have isMapped=true but no route exists for 
group/:groupId/mapped
+    expect(
+      buildTaskInstanceUrl({
+        currentPathname: "/dags/my_dag/runs/run_1/tasks/group/my_group",
+        dagId: "my_dag",
+        isGroup: true,
+        isMapped: true,
+        runId: "run_1",
+        taskId: "my_group",
+      }),
+    ).toBe("/dags/my_dag/runs/run_1/tasks/group/my_group");
   });
 });
diff --git a/airflow-core/src/airflow/ui/src/utils/links.ts 
b/airflow-core/src/airflow/ui/src/utils/links.ts
index 3beafb06afe..23c438721a5 100644
--- a/airflow-core/src/airflow/ui/src/utils/links.ts
+++ b/airflow-core/src/airflow/ui/src/utils/links.ts
@@ -89,7 +89,7 @@ export const buildTaskInstanceUrl = (params: {
 
   let basePath = `/dags/${dagId}/runs/${runId}/tasks/${groupPath}${taskId}`;
 
-  if (isMapped) {
+  if (isMapped && !isGroup) {
     basePath += `/mapped`;
     if (mapIndex !== undefined && mapIndex !== "-1") {
       basePath += `/${mapIndex}`;

Reply via email to