Skip to content

[✨ Triage] dotnet/aspire#11727 by JamesNK - Refactor IconResolver to not be static, add to DI, and log when icon isn ... #1549

@MihuBot

Description

@MihuBot

Triage for dotnet/aspire#11727.
Repo filter: area-dashboard issues.
MihuBot version: 554101.
Ping MihaZupan for any issues.

This is a test triage report generated by AI, aimed at helping the triage team quickly identify past issues/PRs that may be related.
Take any conclusions with a large grain of salt.

Tool logs
dotnet/aspire#11727: Refactor IconResolver to not be static, add to DI, and log when icon isn't found by JamesNK
[Tool] Searching for IconResolver dependency injection, IconResolver static, dashboard icon logging, dashboard icon not found, inject ILogger IconResolver (IncludeOpen=True, IncludeClosed=True, IncludeIssues=True, IncludePullRequests=True, Repository=dotnet/aspire)
[Tool] Found 56 issues, 185 comments, 40 returned results (11492 ms)

Here are related issues and discussions for issue #11727: "Refactor IconResolver to not be static, add to DI, and log when icon isn't found":


1. PR #10767 (July 2025) - Add more icons to dashboard property values

  • Summary: This PR, authored by JamesNK, adds more icons to the dashboard details view. While it doesn't directly address the static nature or DI of IconResolver, it shows active work on icon management and rendering in the dashboard. There is no discussion about refactoring IconResolver itself, but it demonstrates ongoing improvements to icon usage.
  • Relevance: Shows recent changes to icon handling in the dashboard, but does not address DI or logging for missing icons.

2. Issue #484 (October 2023) - use icons for service status in dashboard

  • Summary: This issue discusses replacing text with icons for service status in the dashboard. The conversation covers icon choices, accessibility, and implementation details. The solution was implemented and closed in January 2024.
  • Relevance: Focuses on icon usage, not on the implementation or DI of IconResolver.

3. Issue #1384 (December 2023) - Review use of icons throughout the dashboard

  • Summary: This issue suggests adding icons to various parts of the dashboard UI and discusses extensibility for future resource types. There is a mention of making the icon system more flexible, possibly by allowing the backend to provide icon data.
  • Relevance: Discusses extensibility and flexibility of icon usage, which is related to the motivation for refactoring IconResolver, but does not discuss DI or logging.

4. PR #10762 (July 2025) - Exe, ext service, + param icon updates for dashboard resource view + graph

  • Summary: Updates the icons used for different resource types in the dashboard. There is discussion about icon choices and extensibility, but no mention of how icons are resolved or injected.
  • Relevance: Shows ongoing icon improvements, but not about DI or logging for missing icons.

5. Issue #2816 (March 2024) - Dashboard "Removed" state still shows green status

  • Summary: Discussion about icon and status handling for removed resources. Davidfowl mentions that the dashboard currently does too much and suggests protocol changes to let the resource server control the icon.
  • Relevance: Touches on architectural concerns about icon resolution, hinting at a need for refactoring, but not specifically about DI or logging.

6. PR #2944 (March 2024) - Make HostNameResolver internal

  • Summary: Makes HostNameResolver internal and static, with a comment that there's no reason to ever create one of these. This is the opposite of the proposed change for IconResolver, but shows related architectural decisions.
  • Relevance: Highlights a pattern of static utility classes, which the new issue seeks to change for IconResolver.

7. [General Logging Improvements in Dashboard]

  • PR #3523 (April 2024) - Flow dashboard logs through the app host's logger
    Link
    • Summary: This PR enhances dashboard logging by subscribing to logs from dashboard resources and printing them to the console, using DI for ILoggerFactory. There is discussion about which log levels to use and the importance of logging warnings and errors.
    • Relevance: Shows recent work on logging in the dashboard and use of DI for loggers, which is directly relevant to injecting ILogger into IconResolver for logging missing icons.

8. Issue #602 (October 2023) - Add logging to Dashboard

  • Summary: Requests improved logging for dashboard background threads. The discussion is about general logging, not specifically about icon resolution, but it shows ongoing interest in better diagnostics and logging in the dashboard.
  • Relevance: General dashboard logging improvements, not specific to icons.

9. Issue #2816 (March 2024) - Dashboard "Removed" state still shows green status

  • Summary: Discussion about how the dashboard determines which icon to show for a resource state. Davidfowl suggests the dashboard should do less and let the resource server control the icon, indicating a desire to refactor how icons are resolved.
  • Relevance: Indicates architectural concerns that may motivate refactoring IconResolver.

Summary

  • There is no existing issue or PR that directly addresses refactoring IconResolver to be non-static, adding it to DI, or logging when an icon isn't found.
  • There is active work on icon usage and improvements in the dashboard, with several PRs and issues discussing icon choices, extensibility, and UI design.
  • Logging improvements in the dashboard have been made recently, with DI and ILogger usage being discussed and implemented in other areas.
  • There are architectural discussions about moving away from static utility classes in some cases, but also examples where static/internal is preferred.

Conclusion:
Issue #11727 is a new proposal. It is consistent with recent trends in the repository (improving logging, using DI, and making the dashboard more flexible/extensible), but it is not a duplicate and has not been addressed elsewhere. The most relevant prior work is in general dashboard logging improvements and ongoing icon extensibility discussions.


No further related issues or direct duplicates found.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions