Hoezen en playlists reisden nog niet mee
Robin, na de vorige ronde: "de audio tracks hadden images, die zijn niet
meegegaan, de playlists zijn ook nog niet meegegaan via peer to peer."
Allebei terecht, en de eerste is dezelfde fout als bij de audio zelf, een laag
hoger. cover_url ging wel mee als STRING en het bestand niet. Dus kwam een
nummer aan met een verwijzing naar een plaatje dat er niet was: precies de
halve waarheid die deze hele reeks moest opruimen, en ik liep er zelf opnieuw
in.
De playlists gingen wel via de zip en niet via de ophaalknop. Die liep de
tracks-collectie af en de playlist-collectie niet, en dan heb je alle muziek
en geen enkele plaat. De volgorde staat nergens anders.
Wat er nog meer boven kwam bij het naspelen: over AP komt de duur als
ISO-8601 ("PT212S") binnen en de database wil seconden, en de artiest zit in
summary, niet in een artist-veld. Zonder die twee kwamen nummers naamloos en
zonder duur aan.
En de bronkant moest ook hier open: playlistOpenTracks filtert op fedi_open,
dus de doel-actor kreeg een plaat met gaten. Nu geldt daar dezelfde regel als
bij de outbox en de tracks.
Bewezen op twee draaiende instanties, 3 nummers met hoes plus een plaat in de
volgorde c-a-b:
peer to peer mp3 2503b, hoes 74b, artiest, duur, plaat C -> A -> B
zip idem, plus kind=album
Changed files:
src/services/ArchiveExportService.js
- hoesToevoegen(): de BYTES van een hoes in het archief, voor tracks en
playlists, met shaer:coverFile ernaast
src/services/ArchiveImportService.js
- hoesTerug(): de hoes op schijf en cover_url daarheen; geen bestand betekent
geen cover_url, liever niets dan een img die 404't
src/services/MigrationService.js
- de ingest haalt de hoes op uit icon/image, ONDERTEKEND
- de playlists erbij, met hun volgorde en een kaart bron-URI -> nieuw id
- duurSeconden(): PT212S naar 212; artiest uit summary
src/services/music/index.js
- playlistOpenTracks({ alles }) voor de doel-actor van een Move
src/routes/activitypub.js
- de playlist-route geeft die doel-actor de volledige plaat
remarks: over AP komt kind (album/playlist) niet mee, want de AP-collectie
draagt dat veld niet; via de zip wel. Klein verschil, apart te repareren als het
hindert.
-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>