This is a discussion thread for the proposed FEP-7458: Using the replies collection.
Please use this thread to discuss the proposed FEP and any potential problems
or improvements that can be addressed.
Summary
Replies are not defined in ActivityPub, as there are no specified side effects for simply encountering objects or activities with inReplyTo set. Most current implementations implicitly reconstruct replies at consumption time, and may silently and implicitly maintain the replies collection at the producer’s side. This FEP provides guidance for explicitly using the replies collection, and explicitly managing it.
I really like this. I’d like to see two additions, however.
Accept and Reject with the reply as the object and the replies collection as the target is another way to represent this activity It might be good to either consider it as an alternative, or mention why Add/Remove is better.
manuallyApprovesReplies might be a useful flag for an account, to show why the replies collection might not be updating automatically.
Accept/Reject doesn’t have the same semantics of Add/Remove, so that’s why I went with Add/Remove. There may still be potential for dual-typing as AddToReplies and so on, but for that I’d point toward FEP-0391 as that expands upon this one.
Quick summary of that one:
When an activity that has a side effect of adding something to a special collection is received, you respond with an Add that is attributedTo the activity with the side effect.
When you receive an activity that is attributedTo one of your activities, you Update your activity to include the received activity as the result of your activity.
If your activity was a Create, then:
if the target of the stamp was context, then Update the object to add a contextProof.
if the target of the stamp was inReplyTo.replies, then Update the object to add an inReplyToProof.
Given that, I’m still thinking about whether to have a manuallyManagesReplies property (or similar) in this FEP or the other FEP. I am leaning toward this one.
Definition of Accept: “Indicates that the actor accepts the object. The target property can be used in certain circumstances to indicate the context into which the object has been accepted.”
Accepting a submission for a collection is an intended use for this Activity type.
Unfortunately Reject is less clear: " Indicates that the actor is rejecting the object. The target and origin typically have no defined meaning." That said, I think using target similarly to Accept for this use would be fine.
I think the big question is if an Object with inReplyTo is being submitted for inclusion in replies. I’d say yes.