Skip to content

UI: Show deactivated state for stale DAGs#65214

Merged
pierrejeambrun merged 1 commit intoapache:mainfrom
astronomer:fix/show-deactivated-dag-state-ui
Apr 14, 2026
Merged

UI: Show deactivated state for stale DAGs#65214
pierrejeambrun merged 1 commit intoapache:mainfrom
astronomer:fix/show-deactivated-dag-state-ui

Conversation

@pierrejeambrun
Copy link
Copy Markdown
Member

Re-opening of #64374 (closed unexpectedly by original contributor). Formatting issue fixed.

Summary

When a DAG becomes stale or deactivated, the UI still shows active-oriented controls like the pause toggle, parse action, and next-run information. This change makes the deactivated state explicit by showing a badge and hiding controls that imply the DAG is still schedulable.

Changes

  • DagDeactivatedBadge.tsx — reusable badge component for stale/deactivated DAGs
  • Header.tsx — shows deactivated badge for stale DAGs, hides next-run stat and parse action
  • DagBreadcrumb.tsx — shows deactivated badge instead of pause toggle for stale DAGs
  • DetailsLayout.tsx — removes unnecessary generic type annotations on useLocalStorage
  • dag.json — adds the "Deactivated" i18n label
  • Header.test.tsx — regression test for stale DAG header behavior

Fixes #63800


Was generative AI tooling used to co-author this PR?
  • Yes — Cursor (Claude Opus 4)

Generated-by: Cursor (Claude Opus 4) following the guidelines

When a DAG becomes stale or deactivated, the UI still shows
active-oriented controls like the pause toggle, parse action, and
next-run information. This change makes the deactivated state explicit
by showing a badge and hiding controls that imply the DAG is still
schedulable.

- Add reusable DagDeactivatedBadge component
- Show badge instead of pause toggle for stale DAGs in header and
  breadcrumb
- Hide next-run stat and parse action for stale DAGs
- Add regression test for stale DAG header behavior

Fixes apache#63800
@pierrejeambrun pierrejeambrun added this to the Airflow 3.2.2 milestone Apr 14, 2026
@pierrejeambrun pierrejeambrun added the backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch label Apr 14, 2026
@boring-cyborg boring-cyborg bot added area:translations area:UI Related to UI/UX. For Frontend Developers. translation:default labels Apr 14, 2026
@pierrejeambrun
Copy link
Copy Markdown
Member Author

Screenshot 2026-04-14 at 16 20 03

@pierrejeambrun pierrejeambrun merged commit 2d42641 into apache:main Apr 14, 2026
81 checks passed
@pierrejeambrun pierrejeambrun deleted the fix/show-deactivated-dag-state-ui branch April 14, 2026 14:20
github-actions bot pushed a commit that referenced this pull request Apr 14, 2026
When a DAG becomes stale or deactivated, the UI still shows
active-oriented controls like the pause toggle, parse action, and
next-run information. This change makes the deactivated state explicit
by showing a badge and hiding controls that imply the DAG is still
schedulable.

- Add reusable DagDeactivatedBadge component
- Show badge instead of pause toggle for stale DAGs in header and
  breadcrumb
- Hide next-run stat and parse action for stale DAGs
- Add regression test for stale DAG header behavior

Fixes #63800
(cherry picked from commit 2d42641)

Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
@github-actions
Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-2-test PR Link

pierrejeambrun added a commit that referenced this pull request Apr 14, 2026
When a DAG becomes stale or deactivated, the UI still shows
active-oriented controls like the pause toggle, parse action, and
next-run information. This change makes the deactivated state explicit
by showing a badge and hiding controls that imply the DAG is still
schedulable.

- Add reusable DagDeactivatedBadge component
- Show badge instead of pause toggle for stale DAGs in header and
  breadcrumb
- Hide next-run stat and parse action for stale DAGs
- Add regression test for stale DAG header behavior

Fixes #63800
(cherry picked from commit 2d42641)

Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
vatsrahul1001 pushed a commit that referenced this pull request Apr 15, 2026
When a DAG becomes stale or deactivated, the UI still shows
active-oriented controls like the pause toggle, parse action, and
next-run information. This change makes the deactivated state explicit
by showing a badge and hiding controls that imply the DAG is still
schedulable.

- Add reusable DagDeactivatedBadge component
- Show badge instead of pause toggle for stale DAGs in header and
  breadcrumb
- Hide next-run stat and parse action for stale DAGs
- Add regression test for stale DAG header behavior

Fixes #63800
(cherry picked from commit 2d42641)

Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
vatsrahul1001 pushed a commit that referenced this pull request Apr 15, 2026
When a DAG becomes stale or deactivated, the UI still shows
active-oriented controls like the pause toggle, parse action, and
next-run information. This change makes the deactivated state explicit
by showing a badge and hiding controls that imply the DAG is still
schedulable.

- Add reusable DagDeactivatedBadge component
- Show badge instead of pause toggle for stale DAGs in header and
  breadcrumb
- Hide next-run stat and parse action for stale DAGs
- Add regression test for stale DAG header behavior

Fixes #63800
(cherry picked from commit 2d42641)

Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
vatsrahul1001 pushed a commit that referenced this pull request Apr 15, 2026
When a DAG becomes stale or deactivated, the UI still shows
active-oriented controls like the pause toggle, parse action, and
next-run information. This change makes the deactivated state explicit
by showing a badge and hiding controls that imply the DAG is still
schedulable.

- Add reusable DagDeactivatedBadge component
- Show badge instead of pause toggle for stale DAGs in header and
  breadcrumb
- Hide next-run stat and parse action for stale DAGs
- Add regression test for stale DAG header behavior

Fixes #63800
(cherry picked from commit 2d42641)

Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
vatsrahul1001 pushed a commit that referenced this pull request Apr 15, 2026
When a DAG becomes stale or deactivated, the UI still shows
active-oriented controls like the pause toggle, parse action, and
next-run information. This change makes the deactivated state explicit
by showing a badge and hiding controls that imply the DAG is still
schedulable.

- Add reusable DagDeactivatedBadge component
- Show badge instead of pause toggle for stale DAGs in header and
  breadcrumb
- Hide next-run stat and parse action for stale DAGs
- Add regression test for stale DAG header behavior

Fixes #63800
(cherry picked from commit 2d42641)

Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:translations area:UI Related to UI/UX. For Frontend Developers. backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch translation:default

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deactivating an active DAG has no deactivation indicator in UI

2 participants