Skip to content
  • Categories
  • Recent
  • Popular
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB-ActivityPub Bridge Test Instance

  1. Home
  2. Categories
  3. General Discussion
  4. AP Test (community.nodebb.org)
  5. Handling "410 Gone" when retrieving an actor

Handling "410 Gone" when retrieving an actor

Scheduled Pinned Locked Moved AP Test (community.nodebb.org)
activitypub
5 Posts 3 Posters 61 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • julian@community.nodebb.orgJ This user is from outside of this forum
    julian@community.nodebb.orgJ This user is from outside of this forum
    julian@community.nodebb.org
    wrote on last edited by
    #1

    Sometimes when NodeBB attempts to retrieve a remote user, it will encounter the HTTP status code 410 Gone, which I take to mean that the user has been deleted from the origin server.

    I mostly see it from spam accounts that were deleted, but I could potentially see that returned if users manually delete their own accounts.

    The easy way forward here would be to see this and immediately delete all content I have locally for that user... all posts we have cached, the local profile, etc.

    Downside is it could mean good conversations could suddenly have a hole in them when the account is deleted. We actually circumvent this in NodeBB by not allowing the user to one-click purge all of their content; an administrator is usually involved in the process.

    But as always, different implementers might mean different things with 410 Gone, so I hesitate and wonder whether the simple path is the right path...

    trwnh@socialhub.activitypub.rocksT beaware@social.beaware.liveB 2 Replies Last reply
    0
    • julian@community.nodebb.orgJ julian@community.nodebb.org

      Sometimes when NodeBB attempts to retrieve a remote user, it will encounter the HTTP status code 410 Gone, which I take to mean that the user has been deleted from the origin server.

      I mostly see it from spam accounts that were deleted, but I could potentially see that returned if users manually delete their own accounts.

      The easy way forward here would be to see this and immediately delete all content I have locally for that user... all posts we have cached, the local profile, etc.

      Downside is it could mean good conversations could suddenly have a hole in them when the account is deleted. We actually circumvent this in NodeBB by not allowing the user to one-click purge all of their content; an administrator is usually involved in the process.

      But as always, different implementers might mean different things with 410 Gone, so I hesitate and wonder whether the simple path is the right path...

      trwnh@socialhub.activitypub.rocksT This user is from outside of this forum
      trwnh@socialhub.activitypub.rocksT This user is from outside of this forum
      trwnh@socialhub.activitypub.rocks
      wrote on last edited by
      #2

      You could do what Reddit does and just leave the posts up but pointing to a tombstone user. If you've ever seen a post attributed to [deleted] then you know what I'm talking about.

      The problem with that is it possibly (probably¿) violates social expectations around what an account deletion does. Arguably this could be solved by an extension property or type like "DeleteAllCreatedObjects" or whatever. But some implementations might not be able to do that because they don't keep track of objects by who created them. The other option is to support deleting multiple objects at a time? This stuff is best-effort, though, so it might fail for some of the objects.

      julian@community.nodebb.orgJ 1 Reply Last reply
      0
      • julian@community.nodebb.orgJ julian@community.nodebb.org

        Sometimes when NodeBB attempts to retrieve a remote user, it will encounter the HTTP status code 410 Gone, which I take to mean that the user has been deleted from the origin server.

        I mostly see it from spam accounts that were deleted, but I could potentially see that returned if users manually delete their own accounts.

        The easy way forward here would be to see this and immediately delete all content I have locally for that user... all posts we have cached, the local profile, etc.

        Downside is it could mean good conversations could suddenly have a hole in them when the account is deleted. We actually circumvent this in NodeBB by not allowing the user to one-click purge all of their content; an administrator is usually involved in the process.

        But as always, different implementers might mean different things with 410 Gone, so I hesitate and wonder whether the simple path is the right path...

        beaware@social.beaware.liveB This user is from outside of this forum
        beaware@social.beaware.liveB This user is from outside of this forum
        beaware@social.beaware.live
        wrote on last edited by
        #3

        @julian in my opinion, even if it's interesting conversations or useful information, it's not "yours" to keep.🤷‍♂️

        I'd say if it was requested to be deleted, the honorable thing would be to honor that request.

        julian@community.nodebb.orgJ 1 Reply Last reply
        0
        • beaware@social.beaware.liveB beaware@social.beaware.live

          @julian in my opinion, even if it's interesting conversations or useful information, it's not "yours" to keep.🤷‍♂️

          I'd say if it was requested to be deleted, the honorable thing would be to honor that request.

          julian@community.nodebb.orgJ This user is from outside of this forum
          julian@community.nodebb.orgJ This user is from outside of this forum
          julian@community.nodebb.org
          wrote on last edited by
          #4

          @BeAware@social.beaware.live well, the funny thing about that is... if I request the user and get a 410 Gone, it doesn't mean they requested their account be deleted. It just means the account is no longer there; literally "Gone". It is a safe assumption, but the usual expectation would be I receive a Delete(Note) on all of their content and then Delete(User).

          Whole thing could be a nothingburger, because I think almost all of the times I encounter a 410, the remote user never actually existed on my instance to begin with.

          1 Reply Last reply
          0
          • trwnh@socialhub.activitypub.rocksT trwnh@socialhub.activitypub.rocks

            You could do what Reddit does and just leave the posts up but pointing to a tombstone user. If you've ever seen a post attributed to [deleted] then you know what I'm talking about.

            The problem with that is it possibly (probably¿) violates social expectations around what an account deletion does. Arguably this could be solved by an extension property or type like "DeleteAllCreatedObjects" or whatever. But some implementations might not be able to do that because they don't keep track of objects by who created them. The other option is to support deleting multiple objects at a time? This stuff is best-effort, though, so it might fail for some of the objects.

            julian@community.nodebb.orgJ This user is from outside of this forum
            julian@community.nodebb.orgJ This user is from outside of this forum
            julian@community.nodebb.org
            wrote on last edited by
            #5

            @trwnh@socialhub.activitypub.rocks said in Handling "410 Gone" when retrieving an actor:

            You could do what Reddit does and just leave the posts up but pointing to a tombstone user. If you've ever seen a post attributed to [deleted] then you know what I'm talking about.

            Yes, this makes sense. It's coming into clearer focus why account and content deletions are so noisy in ActivityPub, since each deletion of a user's content needs to be federated before the account can be deleted.

            In absence of anything more explicit (like your aforementioned DeleteAllCreatedObjects), that's all we have to explicitly signal full account and content deletion.

            I think we'll go ahead with that. NodeBB already does display something like [deleted] (we show "A Former User"), and we also save the old user id as a reference in case it needs to be cleaned up.

            That'll work, thank you for your input a!

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Login or register to search.
            Powered by NodeBB Contributors
            • First post
              Last post
            0
            • Categories
            • Recent
            • Popular