activitypub icon indicating copy to clipboard operation
activitypub copied to clipboard

6.11 Delivery Ambiguity

Open cjslep opened this issue 7 years ago • 9 comments

6.11 Delivery may not be phrased in its intended manner:

Federated servers MUST perform delivery on all Activities posted to the outbox according to outbox delivery.

I interpret it as:

Federated servers [MUST perform delivery] on all Activities posted to the outbox [and it MUST be done] according to outbox delivery.

Which puts it at odds with 6.9 Block Activity:

Servers SHOULD NOT deliver Block Activities to their object.

And at odds with 7.5 Follow Activity:

Servers MAY choose to not explicitly send a Reject in response to a Follow, though implementors ought to be aware that the server sending the request could be left in an intermediate state.

I realize there's a lot of ambiguity in that single sentence in 6.11 so for my particular implementation, I assume that 6.9 and 7.5 are meant to be exceptions to the MUST in 6.11.

cjslep avatar Feb 15 '18 21:02 cjslep

Yes, they're meant to be exceptions. I guess we should think about adding this to errata @cwebber?

strugee avatar Feb 15 '18 22:02 strugee

I can prepare a PR, we could discuss it on the next CG telecon

strugee avatar Feb 15 '18 22:02 strugee

Whoops, I assumed we did the same thing as AS2 but I just noticed errata is on the wiki. Shall I just add it then? AFAICT we're just clarifying that requirements are relaxed which the WG has never had problems doing

strugee avatar Feb 15 '18 22:02 strugee

Where is this errata available? When I go to https://www.w3.org/wiki/ActivityPub_errata I see only an empty page.

cjslep avatar Apr 21 '18 11:04 cjslep

That's the right place to add Errata, we just haven't added any yet :)

The expected behavior is really, the server MUST deliver messages posted to outbox according to the mechanisms described in outbox delivery, but the server MAY decide to filter outgoing messages if appropriate for reasons such as abuse mitigation, etc.

That's not great wording, but I think it's the intended effect. Thoughts?

cwebber avatar Apr 24 '18 14:04 cwebber

How about something like:

Federated servers intending to deliver an Activity posted to the outbox MUST deliver by using the mechanisms described in outbox delivery.

This gives the Federated server the liberty of intending to not deliver an Activity.

cjslep avatar May 03 '18 18:05 cjslep

I've added a proposed erratum with the following text:

Section 6.11 should read, Federated servers SHOULD perform delivery on all Activities posted to the outbox according to outbox delivery. Servers MAY filter activities for privacy, abuse mitigation, or other reasons.

I believe this qualifies as an erratum because although section 6.11 uses the term MUST for this requirement, there are as @cjslep has pointed out, several reasons called out in the rest of the spec that a server might not perform delivery. Sections B.6 (Spam), B.7 (Federation denial-of-service) are also examples of where a server may not deliver activities.

I'm going to ask for the community group's input to see if this erratum makes sense for us to include.

evanp avatar Jul 12 '23 15:07 evanp

This issue has been mentioned on SocialHub. There might be relevant details there:

https://socialhub.activitypub.rocks/t/socialcg-hybrid-meeting-during-tpac-2023/3498/2

ap-socialhub avatar Sep 12 '23 06:09 ap-socialhub

Seems to have been resolved but this issue was never closed: https://www.w3.org/wiki/ActivityPub_errata

trwnh avatar Aug 02 '24 17:08 trwnh