Topic removal from a category/community
-
Hey rimu@piefed.social question to you about post removal...
If a remote user posts to a local community, and the local mod deletes it (let's say it's spam of off topic), does the local community federate a delete out?
Technically you're not deleting the content, just removing it from the community.
Is there a different action Piefed takes?
-
Hey rimu@piefed.social question to you about post removal...
If a remote user posts to a local community, and the local mod deletes it (let's say it's spam of off topic), does the local community federate a delete out?
Technically you're not deleting the content, just removing it from the community.
Is there a different action Piefed takes?
-
Hey rimu@piefed.social question to you about post removal...
If a remote user posts to a local community, and the local mod deletes it (let's say it's spam of off topic), does the local community federate a delete out?
Technically you're not deleting the content, just removing it from the community.
Is there a different action Piefed takes?
Yes, a Delete activity is sent to all instances with actors that follow the category/community. Those instances then delete their local copy. In Lemmy/PieFed there is no distinction between deletion and removal.
The deletes are soft so it is possible to un-delete by sending an Undo activity. PieFed keeps soft-deleted posts (topics, in NodeBB language) for a few days then after a week deletes the content from the database.
All of these activities are enclosed in an
Announce
and the http POST is signed using the community key. So in a way the content 'belongs' to the community, not to the original author. With that model of ownership the idea of removal redundant - a post without a community is not a post.Tangentially - it would be good to come up with a way to move a topic to another category and federate that so the move can happen on other instances, too. We could go off-piste and create a
Move
activity, or useRemove
(from old topic/comm) followed byAdd
(to new topic/comm) to do the same thing. I feel more inclined to go withMove
as it's a single atomic operation that either succeeds or fails, despite it not being in the spec.The AP spec is so badly stretched by various implementation-specific differences that I don't think it's worth being ideological about adherence to it it anymore.
-
Yes, a Delete activity is sent to all instances with actors that follow the category/community. Those instances then delete their local copy. In Lemmy/PieFed there is no distinction between deletion and removal.
The deletes are soft so it is possible to un-delete by sending an Undo activity. PieFed keeps soft-deleted posts (topics, in NodeBB language) for a few days then after a week deletes the content from the database.
All of these activities are enclosed in an
Announce
and the http POST is signed using the community key. So in a way the content 'belongs' to the community, not to the original author. With that model of ownership the idea of removal redundant - a post without a community is not a post.Tangentially - it would be good to come up with a way to move a topic to another category and federate that so the move can happen on other instances, too. We could go off-piste and create a
Move
activity, or useRemove
(from old topic/comm) followed byAdd
(to new topic/comm) to do the same thing. I feel more inclined to go withMove
as it's a single atomic operation that either succeeds or fails, despite it not being in the spec.The AP spec is so badly stretched by various implementation-specific differences that I don't think it's worth being ideological about adherence to it it anymore.
There are lots of other uses for
Move
. A community whole could move instances, a user could move instances, etc. -
There are lots of other uses for
Move
. A community whole could move instances, a user could move instances, etc.Yeah you're right,
Move
has some prior art for account migrations so it's worth some thinking through.I'd like to work together on this though. I'm working through context ownership and inheritance first, but once that FEP is drafted I can move on to this.
-
Yes, a Delete activity is sent to all instances with actors that follow the category/community. Those instances then delete their local copy. In Lemmy/PieFed there is no distinction between deletion and removal.
The deletes are soft so it is possible to un-delete by sending an Undo activity. PieFed keeps soft-deleted posts (topics, in NodeBB language) for a few days then after a week deletes the content from the database.
All of these activities are enclosed in an
Announce
and the http POST is signed using the community key. So in a way the content 'belongs' to the community, not to the original author. With that model of ownership the idea of removal redundant - a post without a community is not a post.Tangentially - it would be good to come up with a way to move a topic to another category and federate that so the move can happen on other instances, too. We could go off-piste and create a
Move
activity, or useRemove
(from old topic/comm) followed byAdd
(to new topic/comm) to do the same thing. I feel more inclined to go withMove
as it's a single atomic operation that either succeeds or fails, despite it not being in the spec.The AP spec is so badly stretched by various implementation-specific differences that I don't think it's worth being ideological about adherence to it it anymore.
rimu@piefed.social said in Topic removal from a category/community:
> All of these activities are enclosed in an Announce and the http POST is signed using the community key. So in a way the content 'belongs' to the community, not to the original author.Oh that's right! That makes sense. Having the community sign the activity (and the
Announce
wrapper) would effectively differentiate it from a simple author-initiated content deletion.The impetus for this question was that occasionally I will move topics out of a category for being off topic. Federated copies don't see this change reflected, so both Move and Delete are things I want to federate out in lockstep with Piefed and Lemmy.
-
Yes, a Delete activity is sent to all instances with actors that follow the category/community. Those instances then delete their local copy. In Lemmy/PieFed there is no distinction between deletion and removal.
The deletes are soft so it is possible to un-delete by sending an Undo activity. PieFed keeps soft-deleted posts (topics, in NodeBB language) for a few days then after a week deletes the content from the database.
All of these activities are enclosed in an
Announce
and the http POST is signed using the community key. So in a way the content 'belongs' to the community, not to the original author. With that model of ownership the idea of removal redundant - a post without a community is not a post.Tangentially - it would be good to come up with a way to move a topic to another category and federate that so the move can happen on other instances, too. We could go off-piste and create a
Move
activity, or useRemove
(from old topic/comm) followed byAdd
(to new topic/comm) to do the same thing. I feel more inclined to go withMove
as it's a single atomic operation that either succeeds or fails, despite it not being in the spec.The AP spec is so badly stretched by various implementation-specific differences that I don't think it's worth being ideological about adherence to it it anymore.
@rimu Still, I think it would be nice to deprecate
Delete
and slowly migrate toRemove(target: context)
, since both PieFed and Lemmy implement the context collection now.My server rejects
Delete
if its actor is different from object's owner, and I have to treatAnnounce(Delete)
as a special case where the normal processing logic doesn't apply. -
@rimu Still, I think it would be nice to deprecate
Delete
and slowly migrate toRemove(target: context)
, since both PieFed and Lemmy implement the context collection now.My server rejects
Delete
if its actor is different from object's owner, and I have to treatAnnounce(Delete)
as a special case where the normal processing logic doesn't apply.Possibly although the differences of federation between the threadiverse and the rest of the fediverse go way beyond deletes. FEP 1b12 is a whole thing, chipping away at it piece by piece would be slow going.
-
Possibly although the differences of federation between the threadiverse and the rest of the fediverse go way beyond deletes. FEP 1b12 is a whole thing, chipping away at it piece by piece would be slow going.
Personally I think 1b12 doesn't need to be changed or hacked around. It doesn't specifically call for federating out deletes so I'd think any solution we come up with together would work with that FEP, not go against it.
cc silverpill@mitra.social (if your app notifies you of new replies without a direct mention I'll stop tagging you too)
-
Personally I think 1b12 doesn't need to be changed or hacked around. It doesn't specifically call for federating out deletes so I'd think any solution we come up with together would work with that FEP, not go against it.
cc silverpill@mitra.social (if your app notifies you of new replies without a direct mention I'll stop tagging you too)
I also think that backfill will have a side effect of connecting the threadiverse and the rest of the fediverse.
Exposing context collections will mean consumers will be able to see both *verses. Once Mastodon starts consuming them I predict you will start seeing much more engagement from the microblogs.
The same would apply if Piefed or Lemmy begin consuming them as well.
That is an angle I had not even considered until now!