[EPIC] Audio metadata update
This issue will help keep a track of the progress made around the awaited "metadata update" feature.
Related issue: #556 (closed), #504 (closed), #metadata
Use case
As a user, when I upload a file, I want to be able to update track information (adding an album cover, fixing a typo in the title, linking to third-party services, etc.)
As an admin, I want to be able to perform at least the same operations.
Constraints
- Update should be broadcasted over federation, to keep consistency
- Think about permissions. Not everyone can perform a metadata update on any entity. We'll probably limit this to instance admins and first uploaders of an artist/album/track
- Implement this in small, backward compatible chunks to avoid the Big Long Lived Branch
™️ problem
Associated tasks
-
Have a system-wide actor that can act on any object from the same instance (!577 (merged)) -
API/UI for metadata update (tracks done via !621 (merged), albums via !722 (merged)), artists via !722 (merged)) -
Store updates history to keep a record of editions on any given entity (!621 (merged)) -
Serve Upload, Track, Album, Artist ActivityPub representations (!632 (merged)) -
Broadcast/handle updates on federation (!713 (merged)) -
Logic to refetch remote entities (!723 (merged)) -
Federate Update on Track, Album and Artist (via !612 (merged), !721 (merged)) -
Admin UI to update and delete music entities (!715 (merged)) -
Admin UI to manage libraries and uploads (!724 (merged))
As you can see, the problem is complex, but it's possible to make small, iterative progress. Let's do this!