⁂ Article
Context removal from an audience
This is an extension of the discussion from Topic removal from a category/community.
In it, @rimu@piefed.social shared the Lemmy federation primer which details that Delete(Object)
is federated whenever a post is removed from a community.
I needed a way to communicate when a topic/context (not the top-level post) is removed from a category/audience, but is not deleted. You might ask — how is removing a context different from deleting it?
This is an extension of the discussion from Topic removal from a category/community.
In it, @rimu@piefed.social shared the Lemmy federation primer which details that Delete(Object)
is federated whenever a post is removed from a community.
I needed a way to communicate when a topic/context (not the top-level post) is removed from a category/audience, but is not deleted. You might ask — how is removing a context different from deleting it? In this case, a removed context still exists and is still resolvable. A context can removed from an audience in NodeBB.
Note that Lemmy and Piefed don't have a concept of an audience-less context, so if a context is removed from an audience, it would simply be deleted. No additional logic required.
Anyhow — when a topic is moved into Uncategorized (which is a catch-all bucket for... you guessed it, uncategorized content), NodeBB will federate a Remove
. It looks something like this:
{
id: '<context url>#activity/remove/<timestamp>',
type: 'Remove',
actor: '<actor url>',
to: [<public collection...>],
ccL [<audience followers>,
object: '<context url>',
origin: '<audience url>',
}
This is live on activitypub.space
already.
This goes hand-in-hand with topic moving, which would follow similar mechanisms, except it'd be a Move
instead of a Remove
.
I will likely write an FEP with technical details for both Remove
and Move
, and will include existing behaviours (Delete(Object)
) as well.