w3c / activitypub

http://w3c.github.io/activitypub/
Other
1.21k stars 77 forks source link

Replies handling missing in Create Activity #374

Closed HelgeKrueger closed 12 months ago

HelgeKrueger commented 1 year ago

Concerns 7.2 Create Activity. In particular

Receiving a Create activity in an inbox has surprisingly few side effects;

This glosses over that a Create of an Object having inReplyTo set, should result in said Object being added to the replies collection.

This issue makes reply behavior basically unspecified as far as I can tell.

bobwyman commented 1 year ago

I believe it would be wrong to require that receipt of any Object containing an inReplyTo MUST result in modification to the referenced Object. It is better to leave this as an implementation option.

A few considerations:

trwnh commented 1 year ago

I believe it would be wrong to require that receipt of any Object containing an inReplyTo MUST result in modification to the referenced Object. It is better to leave this as an implementation option.

all other language regarding side effects is a SHOULD, so i don't see why this would be a hard requirement unlike everything else

bobwyman commented 1 year ago

all other language regarding side effects is a SHOULD, so i don't see why this would be a hard requirement unlike everything else

Fair point. I shouldn't have assumed you meant "MUST." But, I still think that even "SHOULD" may be too strong in this specific case. It may be best to simply say "MAY," and describe the common expected side effects.

This business of having "Reply" be a privileged type of reference to an Object has bothered me for some time. One problem is that posts that include links to other Objects are often not listed as Replies to those objects even when their intent is clearly to be a reply. Along the same lines, while one can easily find stuff that was explicitly produced as a "reply," there is normally no way for a user to "Find all posts that include links to this Object." This is, of course, one of the reasons that some people have objected to "Quote Posts" which can be implemented in such a way that it is functionally a "reply" to some post but is hidden from the author of the post replied to.

Had I been writing the AP spec, I would have argued that rather than specifically privileging Replies, we should support W3C Annotations and define a type of annotation which is a reply. Then, all references to URL's, whether or not they were for AP Objects, would be encoded as Annotations. Clients could then present all references, perhaps with different treatments for various kinds of Annotations. I would also extend the normal or default "Search" capability to not only search for tags, but also Annotations. (Note: This is now supported by Twitter. You can search for any URL to see posts that refer to it.) Such an ability to find all references to, or annotations of, an object is very useful for journalists and others who wish to see how others react to content they produce.

trwnh commented 1 year ago

describe the common expected side effects.

isn't this what a SHOULD does/means?

One problem is that posts that include links to other Objects are often not listed as Replies to those objects even when their intent is clearly to be a reply.

personally i hold the view that this is up to the authorial intent. if you want it to be included in the replies collection, you use inReplyTo. if you don't, you can use a plain link in the content. in the same way that you could use a mention or you could use a plain name reference. colloquially, this is known as a "subpost". similarly, you could include something in attachment or you could insert a link in the content. and so on.

all references to URL's, whether or not they were for AP Objects, would be encoded as Annotations

you could do this right now with tag and Link; i imagine you could also use tag and Annotation if you really wanted to?

I would also extend the normal or default "Search" capability to not only search for tags, but also Annotations. (Note: This is now supported by Twitter. You can search for any URL to see posts that refer to it.) Such an ability to find all references to, or annotations of, an object is very useful for journalists and others who wish to see how others react to content they produce.

the more powerful you make the search against more detailed metadata, the more likely it is that people will start intentionally authoring worse metadata in order to get around search. likewise: popularize search against the full-text of the content, and people will start degrading the fidelity of their text.


in any case, i think the main focus of this issue is clear: replies is given some credence in the callout box for "ghost replies", but that's it -- the side effects are not defined anywhere, nor is the word "replies" used anywhere else in the spec.

evanp commented 1 year ago

We expanded the primer with a page on threading. This covers how and when to add to replies. How and when to manage replies is spread across AP and AS2, and can be hard to understand. Pulling the documentation into a single primer page will hopefully help.

trwnh commented 1 year ago

one thing i'd like to leave as a comment here -- this isn't strictly limited to Create, and it technically happens whenever you process the object, not the activity. this may be due to a Create, an Add, a manual fetch, a webmention, or some other thing altogether. it is probably best practice to do it at time-of-Create by delivering the Create to the author, but there are reasons for not wanting to do this.

evanp commented 1 year ago

@trwnh can you update the Primer article too, please?

trwnh commented 1 year ago

@evanp I don't seem to be able to login to the wiki.

evanp commented 12 months ago

I incorporated @trwnh 's comment. This has been pending for weeks, so I'm closing it now.