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: '#activity/remove/',
type: 'Remove',
actor: '',
to: [],
ccL [,
object: '',
origin: '',
}
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.