Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • 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

FòrumCAT

  1. Home
  2. ActivityPub Protocol
  3. FEP-4f05: Soft Deletion

FEP-4f05: Soft Deletion

Scheduled Pinned Locked Moved ActivityPub Protocol
8 Posts 4 Posters 6 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.
  • devnull@socialhub.activitypub.rocksD This user is from outside of this forum
    devnull@socialhub.activitypub.rocksD This user is from outside of this forum
    devnull@socialhub.activitypub.rocks
    wrote on last edited by
    #1

    Hi all,

    Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

    https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

    devnull@socialhub.activitypub.rocksD silverpill@mitra.socialS julian@community.nodebb.orgJ thisismissem@socialhub.activitypub.rocksT 4 Replies Last reply
    0
    • devnull@socialhub.activitypub.rocksD devnull@socialhub.activitypub.rocks

      Hi all,

      Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

      https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

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

      @Claire, in Feb 2002, you created a topic where you mentioned soft deletes. While this isn't strictly related to Undo(Delete), this FEP recommends thinking of a received Delete as an instruction to invalidate the cache, and re-fetch, which would give you a better answer as to how to handle the received Delete or Undo(Delete).

      Perhaps this might help.

      1 Reply Last reply
      0
      • devnull@socialhub.activitypub.rocksD devnull@socialhub.activitypub.rocks

        Hi all,

        Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

        https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

        silverpill@mitra.socialS This user is from outside of this forum
        silverpill@mitra.socialS This user is from outside of this forum
        silverpill@mitra.social
        wrote on last edited by
        #3

        >Request the object (via its id) from the origin server directly

        Couldn't Delete activity itself indicate the type of operation?

        For example, if Delete contains embedded Tombstone, then treat it as a soft delete. Otherwise, treat it as a hard delete.

        >The Forums and Threaded Discussions Task Force (ForumWG) has identified a common nomenclature when referring to organized objects in a threaded discussion model.

        I find this nomenclature a bit confusing. Commented on the linked issue.

        devnull@socialhub.activitypub.rocksD 1 Reply Last reply
        0
        • silverpill@mitra.socialS silverpill@mitra.social

          >Request the object (via its id) from the origin server directly

          Couldn't Delete activity itself indicate the type of operation?

          For example, if Delete contains embedded Tombstone, then treat it as a soft delete. Otherwise, treat it as a hard delete.

          >The Forums and Threaded Discussions Task Force (ForumWG) has identified a common nomenclature when referring to organized objects in a threaded discussion model.

          I find this nomenclature a bit confusing. Commented on the linked issue.

          devnull@socialhub.activitypub.rocksD This user is from outside of this forum
          devnull@socialhub.activitypub.rocksD This user is from outside of this forum
          devnull@socialhub.activitypub.rocks
          wrote on last edited by
          #4

          The assumption is that the object is not embedded. If it is, then it stands to reason that the embedded object can be used as is. I'll call it out in that section, thanks.

          1 Reply Last reply
          0
          • devnull@socialhub.activitypub.rocksD devnull@socialhub.activitypub.rocks

            Hi all,

            Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

            https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

            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

            @rimu@piefed.social I noticed today that PieFed supports the concept of soft deletes:

            7b0318bb-2838-4675-b53e-28e6904ebf45-image.png

            Perhaps this FEP would be of interest to you.

            1 Reply Last reply
            0
            • devnull@socialhub.activitypub.rocksD devnull@socialhub.activitypub.rocks

              Hi all,

              Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

              https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

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

              What would happen if you receive a Delete for an object that you believe to have been soft deleted, but now it shows up as an object instead of a Tombstone? Like, it was undeleted by the time you receive the Delete or something?

              Likewise, you receive an Undo(Delete) and when you fetch the referenced object, it returns back a Tombstone instead of the object?

              It'd be good to document those cases, because I think the answers are:

              • If you receive a Delete and the object returns an object, not a 410 / 404 or Tombstone, then you discard the Delete
              • If you receive an Undo(Delete) and the object returns a 404, 410 or Tombstone, then you discard the Undo(Delete)
              julian@community.nodebb.orgJ 1 Reply Last reply
              0
              • thisismissem@socialhub.activitypub.rocksT thisismissem@socialhub.activitypub.rocks

                What would happen if you receive a Delete for an object that you believe to have been soft deleted, but now it shows up as an object instead of a Tombstone? Like, it was undeleted by the time you receive the Delete or something?

                Likewise, you receive an Undo(Delete) and when you fetch the referenced object, it returns back a Tombstone instead of the object?

                It'd be good to document those cases, because I think the answers are:

                • If you receive a Delete and the object returns an object, not a 410 / 404 or Tombstone, then you discard the Delete
                • If you receive an Undo(Delete) and the object returns a 404, 410 or Tombstone, then you discard the Undo(Delete)
                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
                #7

                Hi Emelia, thanks for the second pair of eyes on this.

                I will amend the FEP with those behaviours. It makes sense that no action be taken if the backreference check fails.

                Secondly, on re-read of my own FEP it is unclear that a backreference call is to be made, so I will need to make it clearer as well.

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

                  Hi Emelia, thanks for the second pair of eyes on this.

                  I will amend the FEP with those behaviours. It makes sense that no action be taken if the backreference check fails.

                  Secondly, on re-read of my own FEP it is unclear that a backreference call is to be made, so I will need to make it clearer as well.

                  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
                  #8

                  I have amended the FEP with an "Unexpected Responses" section.

                  Of note, it's less so that you discard the activity, but since you already made the request, you may as well go through with what you received back.

                  So if you get a Delete and a backreference shows the object alive and well, then just process it as an Update if you so wish.

                  https://codeberg.org/fediverse/fep/pulls/665/files

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


                  • Login

                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • World
                  • Users
                  • Groups