Skip to content

Conversation

@pierrejeambrun
Copy link
Member

@pierrejeambrun pierrejeambrun commented Jan 8, 2026

Remove some unnecessary code so React Plugins can directly inherit the Chakra Theme for Airflow Core without duplicating or copy pasting any core theme.

Now in local development, we use Chakra default theme (black).
Screenshot 2026-01-08 at 10 37 35

When loaded into airflow, nothing changes, theme is smooth and consistent:
Screenshot 2026-01-08 at 10 37 01

Also importantly this fixes an issue where the 'plugin theme' when loaded would override the core theme. (which is not what we want). This was an issue for instance if I customized my core theme via the api.theme config option, then loading the plugin would restore back the Airflow Core UI default theme that was hard copy/pasted into plugins.

Now with a custom core theme, the UI and plugins are correctly customized:
Screenshot 2026-01-08 at 10 51 58

@boring-cyborg boring-cyborg bot added area:dev-tools area:UI Related to UI/UX. For Frontend Developers. backport-to-v3-1-test Mark PR with this label to backport to v3-1-test branch labels Jan 8, 2026
@pierrejeambrun pierrejeambrun added this to the Airflow 3.2.0 milestone Jan 8, 2026
@pierrejeambrun pierrejeambrun force-pushed the inherit-core-theme-in-react-plugins branch from 35a87a7 to b9e612d Compare January 8, 2026 10:01
Copy link
Contributor

@bbovenzi bbovenzi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call!

@bbovenzi bbovenzi merged commit 3e57f1e into apache:main Jan 8, 2026
79 checks passed
@bbovenzi bbovenzi deleted the inherit-core-theme-in-react-plugins branch January 8, 2026 20:39
@github-actions
Copy link

github-actions bot commented Jan 8, 2026

Backport failed to create: v3-1-test. View the failure log Run details

Status Branch Result
v3-1-test Commit Link

You can attempt to backport this manually by running:

cherry_picker 3e57f1e v3-1-test

This should apply the commit to the v3-1-test branch and leave the commit in conflict state marking
the files that need manual conflict resolution.

After you have resolved the conflicts, you can continue the backport process by running:

cherry_picker --continue

stegololz pushed a commit to stegololz/airflow that referenced this pull request Jan 9, 2026
pierrejeambrun added a commit to astronomer/airflow that referenced this pull request Jan 12, 2026
@pierrejeambrun
Copy link
Member Author

Manual backport #60405

pierrejeambrun added a commit that referenced this pull request Jan 12, 2026
@jscheffl
Copy link
Contributor

If I apply this change on Edge provider plugin, does this break compatibility with Airflow <3.1.6? Or is it backwards-compatible?

ephraimbuddy pushed a commit that referenced this pull request Jan 13, 2026
@pierrejeambrun
Copy link
Member Author

This is backward compatible. (I mean nothing breaks):

  • Old provider on new core -> working, provider will read it's local theme which is the one from airflow core
  • new provider on old core -> provider will try to look at the core provided theme, not finding it and default to its local theme (which is the chakra UI default one, which will look a bit different). If we want to make that full compatible we need to keep the full theme around. But I think it's a lot of work to maintain for really small gain.

PR here for edge provider:
#60417

ephraimbuddy pushed a commit that referenced this pull request Jan 14, 2026
ephraimbuddy pushed a commit that referenced this pull request Jan 16, 2026
ephraimbuddy added a commit that referenced this pull request Jan 29, 2026
ephraimbuddy added a commit that referenced this pull request Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools area:UI Related to UI/UX. For Frontend Developers. backport-to-v3-1-test Mark PR with this label to backport to v3-1-test branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants