this is gonna sound ridiculous but you can do activitypub over activitypub, and in fact you might want to — okay hear me out.
-
this is gonna sound ridiculous but you can do activitypub over activitypub, and in fact you might want to — okay hear me out. the real problem is that there’s no clear boundaries on what a server might do versus what a client might do. this means that for anything the server can’t do, the client might do the same thing but in a roundabout way. example: a client can Create a Collection and manually Add to it while handling a Follow activity. this is in effect a client-managed followers collection
-
this is gonna sound ridiculous but you can do activitypub over activitypub, and in fact you might want to — okay hear me out. the real problem is that there’s no clear boundaries on what a server might do versus what a client might do. this means that for anything the server can’t do, the client might do the same thing but in a roundabout way. example: a client can Create a Collection and manually Add to it while handling a Follow activity. this is in effect a client-managed followers collection
this becomes useful for allowing the outside world to Follow any object, even ones that the server doesn’t directly manage. really, the missing abstraction here is the concept of things being “server-managed”. by default, an AP server can manage followers collections for you, the actor. but it might not auto-track every single created object by those actors; it might only track one level of children. in other words, the Service tracks a Person, but the Person can manually track a Conversation…
-
this becomes useful for allowing the outside world to Follow any object, even ones that the server doesn’t directly manage. really, the missing abstraction here is the concept of things being “server-managed”. by default, an AP server can manage followers collections for you, the actor. but it might not auto-track every single created object by those actors; it might only track one level of children. in other words, the Service tracks a Person, but the Person can manually track a Conversation…
the hard part is knowing where to send any given activity. we might say that if an inbox isn’t present directly on an object with followers, then we MAY recurse up through attributedTo until we find something with an inbox. then we send the Follow to that parent inbox. crucially, the only thing we care about is the presence of the followers collection— it doesnt matter who exactly is managing it. it could be done on the server, or it could be done via a client. regardless, the actor is doing it.