30 Commits
Author SHA1 Message Date
junv 5a0d5ed8e0 Update 2025-11-07 15:51:01 +11:00
junv b2e35d5c95 Update db to postgres 2025-11-07 15:38:11 +11:00
junv 29d966f8c8 Add time consuming debugging logs 2025-11-07 15:38:11 +11:00
junv 6ce2b9e397 Improve performance 2025-11-07 14:58:43 +11:00
junv 036cb513f8 Update download from search 2025-11-07 14:44:31 +11:00
junv fb8b83657a Update download logic to include artist name 2025-11-07 13:57:07 +11:00
junv 0a4ead5462 Update download logic 2025-11-07 13:23:33 +11:00
junv 2bbf7e823d Fix error 2025-11-07 13:03:50 +11:00
junv 36e9f17268 Fix db lock error 2025-11-07 12:28:28 +11:00
junv 5d18d58df6 Update 2025-11-02 23:11:05 +11:00
junv 325be8487e UI update 2025-10-31 22:58:26 +11:00
junv 6f9596be4a Update scan logic 2025-10-31 22:03:02 +11:00
junv cdacd40793 up 2025-10-31 15:14:52 +11:00
junv 337b231385 Update public api 2025-10-31 14:32:42 +11:00
junv 8678cb3d7f Update 2025-10-31 13:55:38 +11:00
junv 484d74d249 Update style 2025-10-31 13:02:54 +11:00
junv 3fb7510f9f Update artist songs 2025-10-31 12:34:39 +11:00
junv b0c35fb1e3 fix: Replace spaces with underscores in artist image filenames 2025-10-31 12:12:05 +11:00
junv 06ade07c72 feat: Add manual artist photo refresh button
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
2025-10-31 12:03:45 +11:00
junv 2f986515ac Update song picking logic 2025-10-31 11:55:29 +11:00
junv ba8a6ec8a1 Update auto download 2025-10-31 09:51:59 +11:00
junv f7e4686816 Implement the following:* Search function should time out in 1 min if something goes wrong
* 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
2025-10-31 09:17:44 +11:00
junv 53044cc301 Expire shared song link 2025-10-30 23:52:36 +11:00
junv c93fb5ffa7 add func to share music 2025-10-30 23:50:11 +11:00
junv 2ba4ff3113 Fix docker 2025-10-30 22:54:20 +11:00
junv 9c6ed82a56 add db migration 2025-10-30 22:35:02 +11:00
junv 574d0c7ffd Update 2025-10-30 16:32:04 +11:00
junv 58ef625bd8 Update style 2025-10-30 16:19:01 +11:00
junv b3bb5668b7 Now it can download , play add to playlist, artist list page 2025-10-30 15:10:03 +11:00
junv 3d2e95e858 First version works! 2025-10-30 14:45:41 +11:00