fix(app): fallback to synthetic icon for unknown provider IDs by rexdotsh · Pull Request #15295 · anomalyco/opencode
Issue for this PR
Closes #15294
Type of change
- Bug fix
- New feature
- Refactor / code improvement
- Documentation
What does this PR do?
In the web UI, ProviderIcon previously required an exact IconName match, if the provider ID wasn't in the sprite sheet, the <use> reference pointed to nothing and rendered blank space.
This moves the fallback logic into ProviderIcon itself so it resolves unknown IDs to "synthetic" internally. This also removes the duplicate icon() helper functions and as IconName casts scattered across consumers.
How did you verify your code works?
Tested locally with a custom provider not in the icon set, synthetic fallback icon now renders instead of blank space.
Screenshots / recordings
| Before | After |
|---|---|
![]() |
![]() |
Checklist
- I have tested my changes locally
- I have not included unrelated changes in this PR
PS: Thanks for building and maintaining OpenCode! Been using it as my primary agent for forever now, ran into this issue while building my own manager/proxy for OAuth accounts for OpenCode, (backed by models.dev!)

