Skip to content

Update Fluent UI to v5 RTM - #20527

Merged
James Newton-King (JamesNK) merged 5 commits into
mainfrom
update-fluentui-v5-rtm
Sep 28, 2026
Merged

James Newton-King (JamesNK) merged 5 commits into
mainfrom
update-fluentui-v5-rtm

Conversation

@JamesNK

@JamesNK James Newton-King (JamesNK) commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

Description

Updates Microsoft Fluent UI Blazor Components and Icons to the 5.0.0 RTM release.

Fluent UI v5 RTM replaces the single-column GridItemsProviderRequest.SortByColumn and SortByAscending members with the SortColumns collection. The dashboard's in-memory grid provider and resource grid now consume the new representation while preserving their existing single-column sorting behavior. Focused tests were updated to exercise the RTM API.

The RTM AppBar renders its overflow trigger as a native button. Its height, width, icon alignment, and hover styling now match the navigation toggle and other rail items, using the theme-aware hover surface and brand icon color in light and dark themes.

Page-state updates now persist browser session state before navigating. If the Blazor circuit has already disconnected, the expected JSDisconnectedException is ignored and navigation is skipped instead of producing an unhandled RemoteNavigationManager failure.

User-facing usage

The dashboard AppBar overflow button now spans the navigation rail while keeping its icon aligned with the navigation toggle in expanded and collapsed layouts. Dashboard navigation also shuts down cleanly when a browser disconnects during a pending page-state update.

Screenshots / Recordings

Light theme Dark theme
Expanded AppBar in light theme Expanded AppBar in dark theme

Validation:

  • Repository restore
  • Dashboard component test project build
  • 53 focused dashboard grid and resources tests
  • Focused normal, deferred, and disconnected-circuit mobile navigation tests (5 test cases)
  • Windows x64 Native AOT dashboard publish
  • Release dashboard build
  • Playwright verification of AppBar overflow width, height, icon alignment, hover, and focus states in expanded and collapsed layouts and light and dark themes

Fixes # (issue)

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 20527

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 20527"

@github-actions

This comment has been minimized.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

The Fluent UI RTM update affects the entire dashboard UI and warrants final human validation despite the focused tests and AOT publish.

Review effort: Balanced
Findings: None

What changed in this PR

Updates Fluent UI Blazor components and icons to v5 RTM while adapting dashboard sorting to the new API.

Changes:

  • Updates Fluent UI packages to 5.0.0.
  • Migrates grid sorting to SortColumns.
  • Updates focused sorting tests.
File Description
Directory.Packages.props Updates Fluent UI packages to RTM.
AspireFluentDataGrid.cs Reads the primary sort descriptor.
Resources.razor.cs Detects sorting through SortColumns.
AspireFluentDataGridTests.cs Updates provider sorting tests.
ResourcesTests.cs Updates resource-grid sorting coverage.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

This comment has been minimized.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

A major dashboard UI dependency update warrants final human validation of runtime and browser behavior.

Review effort: Balanced
Findings: None

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The migration consistently preserves single-column sorting behavior and includes focused regression coverage.

Review effort: Balanced
Findings: None

@github-actions

This comment has been minimized.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

The grid provider regresses from a no-op to an exception when a selected column has no sorting rule.

Review effort: Balanced
Findings: None

Previously missed (1)

In code that hasn't changed since last review

Medium severity Avoid throwing when the selected column lacks SortBy

src/​Aspire.Dashboard/​Components/​Controls/​Grid/​AspireFluentDataGrid.cs:81

Preserve the previous no-op behavior when the selected column has no SortBy. The old switch returned items for a null sort, while this new switch falls into _ and throws. Fluent UI's request sorting also skips unsortable columns, and SortByColumnAsync can still place such a column in SortColumns.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

Tests selector

Selects the full PR test matrix + all PR-gated jobs (ALL) — a rule matching 'Directory.Packages.props' selects ALL


Selection computed for commit 55ff9a0.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The Fluent UI migration is consistent with the RTM API and the behavioral changes have focused regression coverage.

Review effort: Balanced
Findings: None

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

This was referenced Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants