Skip to content

Show status while preparing dashboard bundle - #18985

Merged
Karol Zadora-Przylecki (karolz-ms) merged 1 commit into
mainfrom
jamesnk/dashboard-run-bundle-status
Aug 5, 2026
Merged

Show status while preparing dashboard bundle#18985
Karol Zadora-Przylecki (karolz-ms) merged 1 commit into
mainfrom
jamesnk/dashboard-run-bundle-status

Conversation

@JamesNK

Copy link
Copy Markdown
Member

Description

aspire dashboard run could appear idle while the CLI prepared or extracted its bundle. The existing Starting dashboard... status is intentionally scoped to launching the dashboard process, so this change adds a separate delayed status for bundle preparation.

Bundle acquisition now gets a 200 ms grace period. Typical cached acquisition remains quiet, while slower acquisition displays Preparing dashboard bits... until the bundle is ready.

User-facing usage

aspire dashboard run

When bundle preparation takes longer than 200 ms, the CLI now shows:

Preparing dashboard bits...
Starting dashboard...

Screenshots / Recordings

This PR includes UI changes. Please add screenshots or screen recordings so reviewers can evaluate the visual changes without running locally.

  • For before/after comparisons, place them side-by-side or label them clearly.
  • For interactive changes (animations, transitions, new flows), prefer a short screen recording (GIF or video).
  • If you cannot capture visuals now, note what scenario to test and mark this section as TODO.

TODO: Run aspire dashboard run with uncached bundle extraction to capture the delayed preparation status.

Validation:

dotnet test --project tests/Aspire.Cli.Tests/Aspire.Cli.Tests.csproj --no-launch-profile -- --filter-method "*.DashboardRunCommand_BundleAvailableWithinDelay_DoesNotDisplayBundleStatus" --filter-method "*.DashboardRunCommand_BundleUnavailableAfterDelay_DisplaysBundleStatus" --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"

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

Copilot AI balanced review requested due to automatic review settings August 4, 2026 03:38
@github-actions

github-actions Bot commented Aug 4, 2026

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 -- 18985

Or

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

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.

Pull request overview

Adds delayed feedback while aspire dashboard run prepares its bundle, keeping fast cached startup quiet while making slower extraction visible.

Changes:

  • Adds a 200 ms grace period before showing Preparing dashboard bits....
  • Adds localized resource entries for the new status.
  • Adds focused tests and bundle-service test hooks for fast and delayed acquisition.

Reviewed changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/Aspire.Cli/Commands/DashboardRunCommand.cs Adds delayed bundle-preparation status handling.
src/Aspire.Cli/Resources/DashboardCommandStrings.resx Defines the new status text.
src/Aspire.Cli/Resources/DashboardCommandStrings.Designer.cs Exposes the generated resource property.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.cs.xlf Adds the Czech localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.de.xlf Adds the German localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.es.xlf Adds the Spanish localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.fr.xlf Adds the French localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.it.xlf Adds the Italian localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.ja.xlf Adds the Japanese localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.ko.xlf Adds the Korean localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.pl.xlf Adds the Polish localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.pt-BR.xlf Adds the Brazilian Portuguese localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.ru.xlf Adds the Russian localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.tr.xlf Adds the Turkish localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.zh-Hans.xlf Adds the Simplified Chinese localization unit.
src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.zh-Hant.xlf Adds the Traditional Chinese localization unit.
tests/Aspire.Cli.Tests/Commands/DashboardRunCommandTests.cs Tests quiet fast acquisition and visible delayed acquisition.
tests/Aspire.Cli.Tests/Utils/CliTestHelper.cs Adds a callback hook for controlling bundle acquisition in tests.
Files not reviewed (1)
  • src/Aspire.Cli/Resources/DashboardCommandStrings.Designer.cs: Generated file

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Tests selector (audit mode)

The full test matrix and all jobs still run in audit mode. The tests and jobs below are what selective CI would run under enforcement.

2 / 100 test projects · 5 jobs, from 18 changed files.

Selected test projects (2 / 100)

Aspire.Cli.EndToEnd.Tests, Aspire.Cli.Tests

Selected jobs (5)

cli-starter, deployment-e2e, extension-e2e, polyglot, typescript-api-compat


How these were chosen — grouped by what changed

📦 affected project Aspire.Cli
1 test: Aspire.Cli.EndToEnd.Tests

🧪 tests/Aspire.Cli.Tests/Commands/DashboardRunCommandTests.cs (changed test)
1 directly: Aspire.Cli.Tests

🧪 tests/Aspire.Cli.Tests/Utils/CliTestHelper.cs (changed test)
1 directly: Aspire.Cli.Tests

Job reasons

Job Triggered by
cli-starter • affected project Aspire.Cli
• selected test Aspire.Cli.Tests
deployment-e2e affected project Aspire.Cli
extension-e2e src/Aspire.Cli/Commands/DashboardRunCommand.cs, src/Aspire.Cli/Resources/DashboardCommandStrings.Designer.cs, src/Aspire.Cli/Resources/DashboardCommandStrings.resx, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.cs.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.de.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.es.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.fr.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.it.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.ja.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.ko.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.pl.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.pt-BR.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.ru.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.tr.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.zh-Hans.xlf, src/Aspire.Cli/Resources/xlf/DashboardCommandStrings.zh-Hant.xlf, tests/Aspire.Cli.Tests/Commands/DashboardRunCommandTests.cs, tests/Aspire.Cli.Tests/Utils/CliTestHelper.cs
• affected project Aspire.Cli
polyglot affected project Aspire.Cli
typescript-api-compat affected project Aspire.Cli

Selection computed for commit c7418bf.

@github-actions

github-actions Bot commented Aug 4, 2026

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.

@karolz-ms
Karol Zadora-Przylecki (karolz-ms) merged commit bbb47ac into main Aug 5, 2026
678 of 682 checks passed
@karolz-ms
Karol Zadora-Przylecki (karolz-ms) deleted the jamesnk/dashboard-run-bundle-status branch August 5, 2026 17:02
@github-actions github-actions Bot added this to the 13.5 milestone Aug 5, 2026
@aspire-repo-bot

Copy link
Copy Markdown
Contributor

⚠️ Documentation was required for this change, but a docs PR could not be drafted automatically.

Documentation was required for the Preparing dashboard bits... bundle preparation status message added to aspire dashboard run. A docs update to src/frontend/src/content/docs/reference/cli/commands/aspire-dashboard-run.mdx was authored and committed, but the create_pull_request tool failed twice with "Pinned SHA failed to generate patch: ERR_SYSTEM: Git command failed with status 1" — likely due to the shallow clone of release/13.5. The drafted documentation change adds a Bundle preparation status subsection describing the 200 ms grace period, the Preparing dashboard bits... message, and the Starting dashboard... sequence. A maintainer can apply the change manually. Triggered signals: cli_command_file_changed (DashboardRunCommand.cs), cli_resource_strings_changed (DashboardCommandStrings.resx), pr_body_has_user_facing_section, pr_body_has_cli_flag_mention.

See the workflow run for details: https://github.com/microsoft/aspire/actions/runs/31028135749

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants