Skip to content

Improve display of Urls in main dashboard grid. - #20892

Draft
Alex Crome (afscrome) wants to merge 1 commit into
microsoft:mainfrom
afscrome:claude/endpoint-ui-display-format-3032c7
Draft

Alex Crome (afscrome) wants to merge 1 commit into
microsoft:mainfrom
afscrome:claude/endpoint-ui-display-format-3032c7

Conversation

@afscrome

@afscrome Alex Crome (afscrome) commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Fixes #11604, based on some of the feedback on this.

The Urls column showed each URL's full address as its link text. For *.dev.localhost URLs, such as http://my-resource-myapphost.dev.localhost:62482, that takes up almost all of the column, and when a resource has several endpoints the links all look alike so you can't tell which is which.

Links now read http (62482): the endpoint name and port. The port is kept because it is useful when troubleshooting, and the full address is still what you get on click or hover. Display text set by the app host (WithUrlForEndpoint, WithUrl(..., displayText)) still takes priority, and URLs that don't belong to an endpoint still show their address.

The +N overflow popover has room for more, so each entry there reads label: address (the label being the display text, or the endpoint name) and nothing is lost. The resource details URLs table always shows the real address in its Address column. The aspire-dashboard resource no longer has its own special link text and looks like every other resource.

To see it, run the Stress playground and look at the url-endpoint-showcase resource.

Screenshots:

Before:
Truncation could often leave you with a lot of "duplicate" urls, with their differences hidden behidn the fold. You'd often only get a single url, even if you have multiple endpoints.
image

image image

After:

On the dashboard grid, we now display {displayText ?? endpointName} ({port}). This gets you the most critical information, in a fairly dense form, such that you can now see a few different endpoints without having to go to the more link. The view more link also shows both the display text and the raw url if you want easy access to hte raw url.
image

image

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
  • Does the change require an update in our Aspire docs?

🤖 Generated with Claude Code

@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 -- 20892

Or

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

@afscrome Alex Crome (afscrome) changed the title Default endpoint URL display text to "{endpoint-name} ({port})" Show endpoint name and port in the dashboard Urls column Oct 10, 2026
@afscrome Alex Crome (afscrome) changed the title Show endpoint name and port in the dashboard Urls column Improve display of Urls in main dashboard grid. Oct 10, 2026
@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.

@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.

Fixes microsoft#11604. With multiple endpoints on a resource,
showing the full URL as the link text gives no indication of which
endpoint is which, and takes up excessive space when endpoints only
differ by port. As a compromise between showing the full URL and just
the endpoint name, default the display text to "{endpoint-name}
({port})" (e.g. "http (12345)") - callers can still override it via
WithUrlForEndpoint/WithUrlDisplayName.

Also:
- Removes the aspire-dashboard resource's special-cased "Dashboard
  (http)" display text so it follows the same new default as every
  other resource.
- Shows "{label}: {address}" in the Urls column's overflow popover
  (label is the display text, else the endpoint name, omitted if
  neither), since it isn't space-constrained the way the inline chips
  are. Only the address is the link; the label is plain text.
- Renders every URL address as a link, including for schemes that
  aren't browsable such as tcp://.
- In the resource details URLs table, the Address column always shows
  the real address (previously non-browsable URLs showed their display
  text) and the Text column is no longer a link.
- Adds a stress playground showcase (AddUrlEndpointShowcaseResources)
  covering default/customized endpoints, URLs without an endpoint, and
  URLs pointing at another resource's endpoint, for both a clickable
  (http) and non-clickable (tcp) protocol.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@afscrome
Alex Crome (afscrome) force-pushed the claude/endpoint-ui-display-format-3032c7 branch from dfeb504 to dd3a75a Compare October 11, 2026 07:55
@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 branch has not been deployed

No deployments
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.

Urls column on dashboard is not helpful with multiple endpoints.

1 participant