Skip to content

Fix/UI logs scroll glitch#64840

Closed
Pyasma wants to merge 402 commits intoapache:mainfrom
Pyasma:fix/ui-logs-scroll-glitch
Closed

Fix/UI logs scroll glitch#64840
Pyasma wants to merge 402 commits intoapache:mainfrom
Pyasma:fix/ui-logs-scroll-glitch

Conversation

@Pyasma
Copy link
Copy Markdown
Contributor

@Pyasma Pyasma commented Apr 7, 2026


Was generative AI tooling used to co-author this PR?
  • Yes (please specify the tool below)

  • 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, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.

pierrejeambrun and others added 30 commits November 1, 2024 15:18
* Ensure total_entries in /api/v1/dags

* Test total_entries for /api/v1/dags?fields=...

(cherry picked from commit 19ddb02)

Co-authored-by: xitep <xitep@users.noreply.github.com>
(cherry picked from commit 6a23692)
* wip

* wip

* fix lint err

---------

Co-authored-by: venkat <venkat@venkats-MacBook-Pro.local>
(cherry picked from commit 60b8056)

Co-authored-by: Venkat VJ <venkataramanan.vj@gmail.com>
(cherry picked from commit 842c60a)
…#43558) (apache#43567)

It's possible that the start/end date are null when processing an
executor event, and there is no point in adding an OTEL event in that
case.

Before this, we'd try and convert `None` to nanoseconds and blow up the
scheduler.

Note: I don't think `queued_dttm` can be empty, but figured it didn't hurt to
guard against it just in case I've overlooked a way it can be possible.

(cherry picked from commit fe41e15)
(cherry picked from commit c83e524)
apache#43572)

* Mark all tasks as skipped when failing a dag_run manually including tasks with None state (apache#43482)

(cherry picked from commit eda6a8f)

* Fix tests for 2.10.x

---------

Co-authored-by: Abhishek <abhishek.bhakat@hotmail.com>
(cherry picked from commit 72eef0f)
…d from an extended operator (apache#42849) (apache#43577)

* refactor: Don't raise a warning when execute is called from an extended operator, as this should always be allowed.

* refactored: Fixed import of test_utils in test_dag_run

---------

Co-authored-by: David Blain <david.blain@infrabel.be>
(cherry picked from commit 95c46ec)

Co-authored-by: David Blain <info@dabla.be>
(cherry picked from commit 2f29c57)
…he#43580)

(cherry picked from commit f1735b4)

Co-authored-by: GPK <gopidesupavan@gmail.com>
(cherry picked from commit 0286c95)
…he#43589)

(cherry picked from commit c4a0461)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
…port (apache#43591)

* Fix Try Selector in Mapped Tasks also on Index 0

(cherry picked from commit 1c3d555)

* Review Feedback, direct commit

Co-authored-by: Brent Bovenzi <brent.bovenzi@gmail.com>

---------

Co-authored-by: Brent Bovenzi <brent.bovenzi@gmail.com>
…pache#43205) (apache#43623)

The scripts to update pip and uv version were not complete - they
did not replace a few of our scripts and documentation. This
was especially troublesome for doc replacement, because updating
versions manually led to misalignments of tables in markdown.

Lack of completeness of the upgrade caused apache#43197 and apache#43135
manual PRs to bump all references.

Also an earlier upgrade caused the markdown table to be
broken - with UV row table offset by 1.

This PR fixes it:

* all the scripts and docs are updated now
* when markdown is updated, the table structure is not broken

(cherry picked from commit 7ede73c)
…ache#43587) (apache#43624)

Breeze sometimes creates "internal" virtualenvs in local ".build"
directory when it needs - for example in order to run k8s tests
or for release management commands.

This PR adds capability to switch breeze to use `uv` instead of
`pip` to install depdendencies in those envs.

You can now switch breeze to use uv by `breeze setup config --use-uv`
and switch back to pip by `breeze setup config --no-use-uv`.

(cherry picked from commit a2a0ef0)
…pache#43607) (apache#43626)

So far `breeze` fully supported only `pipx` installation. For
example it would reinstall itself automatically with pipx if you
attempted to run it from another workspace/checked out repository
of Airflow, and it only provided instructions for pipx.

With this PR:

* the `uv tool` is preferred way to install breeze
* the `pipx` is PSF-governance managed alternative
* breeze will reinstall itself using uv if it has been installed with uv
  before when it is run from a different workspace or different
  airflow repo checked out in another folder

Also documentation is updated to make `uv` the recommended tool and
describing how to install it - with `pipx` provided as an alternative.

Warning is printed in case pre-commit-uv is not installed with the
pre-commit (pre-commit-uv significantly speeds up installation of
the venvs by pre-commit). This warning also provides instructions
how to install it.

(cherry picked from commit ddc5670)
…apache#43683) (apache#43687)

After some checks it turned out that reproducibility of produced
packages depends not only on the build backend configured for the
project but also on the build front-end used - because frontend is
the one to modify meta-data in prepared packages - including the build
tool used, it's version and metadata version supported by the front-end.

That's why in order to maintain reproducibility for anyone who builds
the packages, we have to pin not only the build backend in
pyproject.toml (flit-core) but also build fronted used (flit).

Since package preparation is done with breeze, we can do it by
pinning flit (and just in case also flit-core) so that anyone who
builds specific version of the package will use exactly the same flit
as the person who built the original packages.

This way we will avoid reproducibility problems experienced with 1.5.0
release of FAB.

(cherry picked from commit 18ea01c)
…che#43694) (apache#43695)

When breeze is installed with both - pipx and uv, we do not know
which version is available first on the path and self-upgrading
breeze might not upgrade the one that is first. Therefore we
detect that situation and fail self upgrade with appropriate
instructions what to do (recommending leaving uv as faster)

(cherry picked from commit ccd6586)
…3696)

* Disable XCom list ordering by execution_date

* Update airflow/www/views.py

Co-authored-by: Kaxil Naik <kaxilnaik@gmail.com>

---------

Co-authored-by: Kaxil Naik <kaxilnaik@gmail.com>
(cherry picked from commit c96b618)
… (apache#43715)

Subprocess.run raises FileNotFound when uv or pipx are not installed
at all. This PR will handle it.

(cherry picked from commit ed3accb)
…che#43844) (apache#43851)

* Disable button if link is null or empty

* Fix space

---------

Co-authored-by: Enis Nazif <enis@Eniss-MacBook-Pro.local>
(cherry picked from commit de88182)

Co-authored-by: enisnazif <enisnazif@gmail.com>
(cherry picked from commit 45cbad7)

Co-authored-by: xitep <xitep@users.noreply.github.com>
It was observed that there are moments where the TI tries endpoint returns duplicate
TaskInstance. I have observed this to happen when the TI is in up_for_retry state.

When the TI is in up_for_retry state, we have already recorded the previous try
in TI history and the TI try_number has not incremented at this time, so we must
exclude this recorded TI from the taskinstance tries endpoint. We know the TI because
its state is in up_for_retry, so we filter TIs with up_for_retry state when querying
for the task instance tries.

Closes: apache#41765
(cherry picked from commit 4bc1257)
…et events through str (apache#43922)

this behavior will be removed in airflow 3 as assets have attributes name and uri,
it would be confusing to identify which attribute should be used to filter the right asset
) (apache#44103)

There is an extra layer of protection that code provided by PR
should not be executed in the context of pull_request_target by
running the code only inside docker container. However the
container is build from local sources, so it could contain other
code. We do not allow that by .dockerignore, but the .dockerignore
should not be overrideable from the incoming PR.
(cherry picked from commit 5d6b836)
* Log message source details are grouped (apache#43681)

* Log message source details are grouped
* fix static checks
* fix pytests
* Another pytest fix

---------

Co-authored-by: Majoros Donat (XC-DX/EET2-Bp) <donat.majoros2@hu.bosch.com>
(cherry picked from commit 9d18772)

* Fix pytest

---------

Co-authored-by: majorosdonat <mjd2bp@bosch.com>
* Update v2-10-test constraints

* Bump minimum version of open-telemetry (apache#43809)

The min version of open-telemetry we used was pretty old and that
old open-telemetry had different package structure that caused
an issue with cache invalidation (see apache#43770). Bumping it might
help resolvers in uv and PyPI to avoid downgrading the versions
as well as avoid caching issues in similar scenarios.

---------

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
…er (apache#43611) (apache#44045)

* Ensure priority weight is capped at 32-bit integer to prevent roll-over

* Add newsfragment

* Move range check post type check

* Review feedback - consolidate to single implementation for now

(cherry picked from commit ab529d1)
…pache#43830) (apache#44133)

* Update v1.yaml

these
- get_task_instance_try_details
- get_mapped_task_instance_try_details
- get_task_instance_tries
- get_mapped_task_instance_tries

are actually returning TaskInstanceHistory

* Update v1.yaml

* dummy change

* revert "dummy change"

* Update api-generated.ts

* Update api-generated.ts

* Update api-generated.ts

* Update api-generated.ts

* changes to v1.yaml

* Update api-generated.ts

* removing execution_date

---------

Co-authored-by: kandharvishnuu <148410552+kandharvishnuu@users.noreply.github.com>
(cherry picked from commit 6f02fdb)

Co-authored-by: kandharvishnu <46064835+kandharvishnu@users.noreply.github.com>
dependabot bot and others added 11 commits March 8, 2026 15:59
Bumps the pip-dependency-updates group with 1 update in the / directory: [filelock](https://github.com/tox-dev/py-filelock).


Updates `filelock` from 3.24.3 to 3.25.0
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](tox-dev/filelock@3.24.3...3.25.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-version: 3.25.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: pip-dependency-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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](actions/stale@5bef64f...b5d41d4)

---
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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…pache#63132)

Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 2.0.0 to 2.1.1.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](slackapi/slack-github-action@485a9d4...91efab1)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ates (apache#61091)

Dependabot couldn't find the original pull request head commit, 4b6b551.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3129)

Bumps [actions/github-script](https://github.com/actions/github-script) from 7.1.0 to 8.0.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](actions/github-script@f28e40c...ed59741)

---
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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](actions/checkout@v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Bump 56 npm dependencies in airflow/www (React 18→19, ESLint 9 flat config migration,
  stylelint 13→17, echarts 5→6, framer-motion 6→12, etc.)
- Migrate ESLint from .eslintrc to flat config (eslint.config.mjs) with FlatCompat shim
- Add jest-globals-setup.js for React 19 compatibility
- Update webpack, jest, and alias-rest-types configs for new dependency versions
- Adapt all www source files for React 19 API changes and updated library APIs
- Bump uv from 0.10.7 to 0.10.9 across Dockerfiles, breeze, and CI scripts
- Bump prek from 0.3.2 to 0.3.5 to fix stylelint hook failing to resolve
  additional_dependencies with peer deps
- Update node version from 22.2.0 to 22.13.0 in pre-commit config
- Remove legacy UI/API label checks from selective checks (we only have
  legacy ui)
- Add Apache license header to new eslint.config.mjs
- Update .stylelintrc rules for stylelint 17 compatibility

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.