Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6.11 Delivery Ambiguity #297

Open
cjslep opened this issue Feb 15, 2018 · 8 comments
Open

6.11 Delivery Ambiguity #297

cjslep opened this issue Feb 15, 2018 · 8 comments

Comments

@cjslep
Copy link

cjslep commented Feb 15, 2018

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.

@strugee
Copy link

strugee commented Feb 15, 2018

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

@strugee
Copy link

strugee commented Feb 15, 2018

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

@strugee
Copy link

strugee commented Feb 15, 2018

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

@cjslep
Copy link
Author

cjslep commented Apr 21, 2018

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

@cwebber
Copy link
Collaborator

cwebber commented Apr 24, 2018

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?

@cjslep
Copy link
Author

cjslep commented May 3, 2018

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.

@evanp
Copy link
Collaborator

evanp commented Jul 12, 2023

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.

@ap-socialhub
Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants