fix: handle stale avatar URLs with auto-refresh from Bluesky (#749)
when avatar images fail to load (404), the profile page now:
1. shows a placeholder silhouette immediately (good UX)
2. calls POST /artists/{did}/refresh-avatar to fetch fresh URL from Bluesky
3. updates the database and re-renders with the new avatar
this fixes broken avatars for users who changed their Bluesky avatar
but haven't logged in since - the DB gets fixed automatically when
anyone visits the profile.
extends the onerror fallback pattern from TrackItem/TrackInfo (0a4d1c1)
to the user profile page.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
authored by