Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure activities are deleted when requested #159

Closed
fauno opened this issue Nov 8, 2023 · 9 comments · Fixed by hyphacoop/social.distributed.press#84
Closed

Ensure activities are deleted when requested #159

fauno opened this issue Nov 8, 2023 · 9 comments · Fixed by hyphacoop/social.distributed.press#84
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@fauno
Copy link
Collaborator

fauno commented Nov 8, 2023

We were talking with a client and the first thing they asked is if they would be able to remove activities after publication.

So far we are sending Delete activities when a post is removed, and the Social Inbox has been relaying them to followers, but what happens when an actor stops following? Shouldn't the Social Inbox send Delete activities to the instances too?

Also how are Delete activities distributed across non-following instances? For instance, if I don't follow a site hosted by the Social Inbox, but I read a thread and my instance completes the thread by fetching the activity from the site.

@fauno
Copy link
Collaborator Author

fauno commented Nov 8, 2023

Same for Actors, how can we remove them?

@gobengo
Copy link

gobengo commented Nov 13, 2023

I think you can't guarantee to the client that everything will be deleted everywhere even on remote instances. All you can do is delete on your end, consider serving a tombstone that the thing was deleted on your end, and a 'best effort' of sending Deletes.

what happens when an actor stops following?

up to you

Shouldn't the Social Inbox send Delete activities to the instances too?

sure, that sounds like a nice thing to do. I don't think you're required to send things to non-followers though.

Also how are Delete activities distributed across non-following instances?

generally activitypub doesn't define how to distribute across non-following instances I think

Same for Actors, how can we remove them?

I don't think you can remove them from remote instances, but you can always send a Delete activity wherever you want, you just can't force the receiver to process it any sort of way esp if they aren't following you. But for any object whose id is a URL you control, you can serve whatever you want incl a 404.

@fauno
Copy link
Collaborator Author

fauno commented Nov 14, 2023

Thanks @gobengo!

@RangerMauve is it possible for the Social Inbox to relay Delete activities to all instances previously following their Actor? The idea would be to ask instances to remove cached activities even if they're not being notified of new activities, because they don't follow the Actor anymore, but potentially got notified of older activities.

@RangerMauve
Copy link
Contributor

We should track not just followers, but all folks you interacted with
This can be at a new route beside /v1/:account/followers like /v1/:account/interactions.

then when doing a delete (or anything else) we can cc this collection and send it to all those instances.

@fauno
Copy link
Collaborator Author

fauno commented Jan 4, 2024

We talked it could be an append-only collection of shared inboxes hyphacoop/social.distributed.press#32 so we can address all known instances

@fauno
Copy link
Collaborator Author

fauno commented Jan 4, 2024

I'm thinking maybe we scope it as a FEP?

@RangerMauve
Copy link
Contributor

RangerMauve commented Jan 9, 2024

see hyphacoop/social.distributed.press#84 (comment)

  • Add a new AccountListStore to the ActorStore under "interacted"
  • In the inbox, track replies/followers and add them to the interacted store
  • Add new endpoint under /v1/:actor/interacted which returns the list of interacted peers
  • In the outbox detect when the interacted store is CC'd in the activity, and send the activity to all listed users instead of the followers list
  • Add endpoint to client API
  • Add unit tests for the HTTP API
  • Update Jekyll plugin with a delete command which uses this new field
  • Final testing

@fauno
Copy link
Collaborator Author

fauno commented Jan 11, 2024

We agreed today to push this to next milestone!

@fauno fauno added documentation Improvements or additions to documentation enhancement New feature or request labels Apr 25, 2024
@RangerMauve RangerMauve transferred this issue from hyphacoop/social.distributed.press Apr 30, 2024
@sutty-coop sutty-coop moved this from Todo to In Progress in Distributed Press Organizing Jul 10, 2024
@sutty-coop sutty-coop moved this from In Progress to Todo in Distributed Press Organizing Jul 18, 2024
@sutty-coop
Copy link
Collaborator

We have to find someone who can do this issue, if Nula cannot work on it now @sutty-coop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

5 participants