Fix dashboard graph rendering for multi-path icons - #19579
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19579Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19579" |
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. 8 / 102 test projects · 4 jobs, from 2 changed files. Selected test projects (8 / 102)
Selected jobs (4)
How these were chosen — grouped by what changed🔧 📦 affected project 🧪 Job reasons
Selection computed for commit |
There was a problem hiding this comment.
Pull request overview
Fixes Graph view crashes caused by Fluent UI icons containing multiple sibling SVG paths.
Changes:
- Parses icon content as an SVG fragment and combines path data.
- Adds regression tests for single-path and multi-path icons.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
src/Aspire.Dashboard/Model/ResourceGraph/ResourceGraphMapper.cs |
Supports compound icon paths. |
tests/Aspire.Dashboard.Tests/Model/ResourceGraphMapperTests.cs |
Tests both icon shapes. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
PR Testing ReportPR Information
Artifact Version Verification
Changes AnalyzedFiles Changed
Change Categories
Test Scenarios ExecutedScenario 1: Reproduce the bug before the fixObjective: Prove the PR base has the exact failure reported in issue #19489. Coverage Type: Regression baseline Status: PASS - bug reproduced. Steps:
Observed: The test failed at This matches the issue stack trace and confirms the base code cannot parse the icon assigned by Evidence:
Scenario 2: Validate the post-fix mapperObjective: Confirm the PR handles both existing single-path icons and Coverage Type: Focused unit regression Status: PASS Steps:
Observed: All 9 focused tests passed, including the single-path and three-path icon cases. Evidence:
Scenario 3: Render
|
| Scenario | Status | Notes |
|---|---|---|
| Pre-fix reproduction | PASS | Exact multiple root elements exception reproduced |
| Post-fix mapper tests | PASS | 9/9 focused tests passed |
| Dashboard Graph view | PASS | All 3 nodes rendered, including blobs |
| Repeated navigation/details | PASS | Circuit remained responsive |
Overall Result
PR VERIFIED
The bug reproduces on the PR base and is fixed at the PR head in both focused mapper coverage and a real dogfood Dashboard browser scenario.
|
/backport to release/13.5 |
|
Started backporting to |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
Description
The Dashboard Graph view crashes when an AppHost uses
AddBlobsbecause itsDocumentMultipleicon contains multiple sibling SVG paths, while the graph mapper expects one XML root.This parses Fluent UI icon content as an SVG fragment and combines each path's data into one compound SVG path, preserving the existing graph DTO and JavaScript rendering contract.
User-facing usage
AppHosts with Azure Blob resources can switch to Graph view without breaking the dashboard circuit:
Targeted
ResourceGraphMapperTestscover both single-path icons and the multi-pathDocumentMultipleicon.Fixes: #19489
Checklist
<remarks />and<code />elements on your triple slash comments?