[Dashboard] Mark historical resource states and endpoint links as snapshots
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 991
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 196
Description
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Describe the bug
After selecting a completed run, resources still display states such as `Running`, and their previous endpoint URLs remain normal clickable links. Mutation commands are disabled, but the state and links do not communicate that they are historical snapshots.
The old endpoint may be offline or later reused by another process.
### Expected Behavior
Historical resource states and URLs should be clearly identified as snapshots. Historical endpoint values should not appear equivalent to currently active endpoints.
### Steps To Reproduce
1. Start an AppHost and note a running resource and its endpoint.
2. Stop the AppHost normally, then start it again.
3. Select the completed run from the Dashboard run selector.
4. The resource still displays `Running`, and the old endpoint remains an active link.
### Exceptions (if any)
N/A
### Aspire doctor output
```plain
Aspire CLI 13.6.0-pr.18924.g5ee63941
Windows 10.0.26200
```
### Anything else?
Related to #18924. Source: `src/Aspire.Dashboard/Components/Controls/ResourceDetails.razor:267-310` and `src/Aspire.Dashboard/Model/ResourceMenuBuilder.cs:148-200`. Reproduced in the real Dashboard and still present on current `main`.
Contributor guide
Research direction
Start with src/Aspire.Dashboard/Components/Controls/ResourceDetails.razor:267-310 and src/Aspire.Dashboard/Model/ResourceMenuBuilder.cs:148-200. Reproduce the issue by selecting a completed run after restarting the AppHost, then trace how resource states and endpoint values are presented. Done means historical states are marked as snapshots and historical endpoint values no longer appear as active clickable links.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- devtools, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100