Moving contexts (aka topics/threads) between audiences (aka categories/communities) should be something that can be communicated outward.
NodeBB is experimenting with using the Move activity to communicate this to other instances.
When a context is moved from one audience to another, the object and all of its descendants go with it. This is communicated with a Move activity with the resolvable context as object, and with origin and target referring to the outgoing and incoming audience, respectively.
An example Move:
{
@context: <... snipped>,
id: "https://activitypub.space/topic/123#activity/move/1761362910015",
type: "Move",
actor: "https://activitypub.space/uid/1",
to: ["https://www.w3.org/ns/activitystreams#Public"],
cc: [
"https://activitypub.space/category/1/followers",
"https://activitypub.space/category/2/followers",
],
object: "https://activitypub.space/topic/1",
origin: "https://activitypub.space/category/1",
target: "https://activitypub.space/category/2",
}
The object https://activitypub.space/topic/1 doesn't necessarily mean anything to most implementors, so unless the object domain is yours, you are expected to resolve it to find the root object (and associated context if necessary.)
Would adding a new property like contextRoot pointing to the root-level object be useful for implementors?
If target is null, theoretically this could signify the removal of a context from its audience. null values are apparently a no-no in AP so Remove activity is recommended instead.
rimu@piefed.social and nutomic@lemmy.ml melroy@kbin.melroy.org I wanted to ping you all as I am interested in your feedback as I move toward drafting this FEP.