[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!