[EPIC] Audio metadata update
This issue will help keep a track of the progress made around the awaited "metadata update" feature.
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.
- 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
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!