Skip to content

refactor(ui-react): migrate AsyncValue to bui - #1996

Merged
marians merged 1 commit into
mainfrom
migrate-async-value-to-bui
Jul 24, 2026
Merged

refactor(ui-react): migrate AsyncValue to bui#1996
marians merged 1 commit into
mainfrom
migrate-async-value-to-bui

Conversation

@marians

@marians marians commented Jul 24, 2026

Copy link
Copy Markdown
Member

What does this PR do?

Migrates the shared AsyncValue component (@giantswarm/backstage-plugin-ui-react) from MUI v4 to bui (@backstage/ui) — the next component flagged for migration in the ui-react Storybook.

The loading state previously used a MUI v4 Box wrapping a @backstage/core-components Progress bar. It now renders a bui Skeleton. This removes the component's last MUI v4 / core-components dependencies, moving its Storybook migration status from mixedbui.

The public props are unchanged (value, isLoading, errorMessage, children, renderError, renderNotAvailable, height); height now sets the skeleton's height (default 24). No caller passes height, so every existing use is behavior-preserving in layout.

What is the effect of this change to users?

While an async value is loading, the placeholder is now a bui Skeleton shimmer instead of a thin progress bar. Same vertical footprint, so no layout shift. Visible in the Cluster/Deployment About cards and the Flux GitOps card.

How does it look like?

Verified in the ui-react Storybook (Components/AsyncValue) and in the running app on the Cluster detail → Overview About card (loading skeleton renders per field before values resolve).

Any background context you can provide?

Part of the ongoing MUI v4 → bui migration of the shared ui-react library; migration status is tracked per component in Storybook.

Do the docs need to be updated?

No.

Should this change be mentioned in the release notes?

  • A changeset describing the change and affected packages was added. (more info)

@marians
marians requested a review from a team as a code owner July 24, 2026 16:04
Replace the MUI v4 `Box` + `@backstage/core-components` `Progress` loading
bar with a bui (`@backstage/ui`) `Skeleton`. Public props are unchanged; the
`height` prop now sets the skeleton height (default 24). Update the Storybook
migration status to `bui`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@marians
marians force-pushed the migrate-async-value-to-bui branch from 148cdc4 to f1e2ac0 Compare July 24, 2026 16:30
@marians
marians merged commit ef01d42 into main Jul 24, 2026
12 checks passed
@marians
marians deleted the migrate-async-value-to-bui branch July 24, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant