Problem
Custom provider icons render inconsistently across the dashboard. Usage topology and combo/model UI can fall back to provider-id initials like OP or AN, while provider pages use hardcoded compatible-provider initials like OC / AC.
Scope
This issue tracks part 1: make custom provider fallback icons deterministic and consistent without adding network/favicon logic.
Acceptance criteria
- Add one shared resolver for provider icon fallback text and color.
- Built-in providers keep their existing text icon/color behavior.
- OpenAI-compatible providers use display-name initials with
#10A37F.
- Anthropic-compatible providers use display-name initials with
#D97757.
- Unknown providers fall back safely to provider-id initials and gray.
- Providers list/detail, Usage topology, Combo edit, and Add Model modal all use the same resolver.
- No favicon fetching, API endpoint, DB migration, dependency, or generic compatible-provider PNG behavior change.
- Unit tests cover resolver behavior.
Connected PR
Notes
This is part 1 of the custom provider icon cleanup. Part 2 can explore optional favicon discovery and caching.
Problem
Custom provider icons render inconsistently across the dashboard. Usage topology and combo/model UI can fall back to provider-id initials like
OPorAN, while provider pages use hardcoded compatible-provider initials likeOC/AC.Scope
This issue tracks part 1: make custom provider fallback icons deterministic and consistent without adding network/favicon logic.
Acceptance criteria
#10A37F.#D97757.Connected PR
Notes
This is part 1 of the custom provider icon cleanup. Part 2 can explore optional favicon discovery and caching.