fix(17-02): fix cover art replace and remove
Three issues fixed:
1. asBytes() helper for []interface{} → []byte conversion — same
float64 deserialization issue as numeric fields. Cover art data
from the frontend arrives as []interface{} of float64, not []byte.
2. DB sync for cover art — was a placeholder no-op. Now saves image
to covers cache dir (content-hash dedup + thumbnail generation),
upserts cover_art row, and updates release_groups.cover_art_id.
Clear sets cover_art_id to NULL on linked release groups.
3. Frontend ReadFile returns base64 string (Go []byte JSON encoding),
not number[]. Decode with atob() before creating Uint8Array for
preview blob URL.
This commit is contained in:
@@ -96,7 +96,7 @@ func applyCoverArtChanges(tag *id3v2.Tag, changes TagChanges) {
|
||||
|
||||
apicID := tag.CommonID("Attached picture")
|
||||
|
||||
data, isBytes := val.([]byte)
|
||||
data, isBytes := asBytes(val)
|
||||
if isBytes && len(data) > 0 {
|
||||
tag.DeleteFrames(apicID)
|
||||
tag.AddAttachedPicture(id3v2.PictureFrame{
|
||||
|
||||
Reference in New Issue
Block a user