Backend changes:
- Add POST /artists/refresh endpoint to force fetch from remote APIs
- Bypasses cache and fetches fresh artist photo from Deezer/MusicBrainz
- Automatically downloads and caches the image locally
- Returns updated artist info immediately
Frontend changes:
- Add refresh button (RefreshCw icon) next to Back button
- Shows spinning animation while refreshing
- Uses mutation with optimistic update to query cache
- Toast notification on success/failure
- Button disabled during refresh
User flow:
1. Click refresh button on artist detail page
2. Backend fetches fresh data from remote APIs
3. Image is downloaded and cached
4. Artist info updates automatically on page
5. Success toast shown
* Add function tofull-size current playing song through a button in the bottom control panel
* Add an API also a feature in the home page, to allow user type a song name, then create a backend job to auto search and download song in the background, when pick the song from the results, put the result into priority candicdate if the name either has “official song” or “官方”, if the same exact song has been downloaded before, then just put the job as pending to confirm, and let user to confirm, once user confirmed, then the system can download the duplicate song, we need to persist the those jobs, if a job fails, then we mark it failed, and user can retry it later through UI, also add an summary about how to trigger this function through API
* Add API keys section in settings, so we need to evaluate api keys for public APIs
* Now we only put the auto search and download song into the pubic API
* Add feature in search to search artist, which would return all the matched artists,
* Add sort feature to the artists and library page, like the one we have in playlist detail page
* By default sort the song in the library page by added at desc