Really this just reminds me of why I think that there shouldn’t have been such a reliance on these activities/objects in the DB in the first place. It always struck me as them contorting Postgres from a relational database into a document store. Ideally, all this stuff should have been properly processed on arrival, and the activities stored for analytical/forensic purposes, if not outright discarded.
But all that’s water under the bridge now. Considering this, I think just having transmogrifier differentiate between Pleroma scrobbles and Funkwhale audio blobs, plus whatever else we see down the way, is the better option. It might, however, merit adding an entry in the ActivityPub entry specifying that it’s a Pleroma scrobble to make it particularly easy to differentiate. Something like merging this into it:
{ "pleromaScrobble": true }The reality of ActivityPub is that it’s pretty open-ended, and so the idea that there’s a “proper” use of these types is fairly dubious to begin with. But we’ll see how things hash out.