Inbox resolution for ActivityPub outbox delivery

235 views Asked by At

Anyone experienced with the ActivityPub protocol who can clarify something for me? For server-server federation (S2S), what's the correct delivery logic when something is addressed to a remote followers collection?

7.1 of the ActivityPub spec says:

The inbox is determined by first retrieving the target actor's JSON-LD representation and then looking up the inbox property. If a recipient is a Collection or OrderedCollection, then the server MUST dereference the collection (with the user's credentials) and discover inboxes for each item in the collection

But that seems like it would incur a ridiculous number of GET requests to the remote server: one to get the JSON-LD for the Collection, then one for each item in the collection to retrieve its JSON-LD. It's even worse if the remote Collection is paged.

7.1.1 of the spec says (emphasis mine):

When objects are received in the outbox (for servers which support both Client to Server interactions and Server to Server Interactions), the server MUST target and deliver to: The to, bto, cc, bcc or audience fields if their values are individuals or Collections owned by the actor.

This appears to contradict 7.1, when it says the server must dereference everything.

Can anyone explain what I'm missing?

0

There are 0 answers