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

NodeBB

  1. Home
  2. Technical Discussion
  3. FEP-49eb: Batched Inbox Delivery

FEP-49eb: Batched Inbox Delivery

Scheduled Pinned Locked Moved Technical Discussion
fedidevfepactivitypubfep49eb
1 Cross-posts 7 Posts 3 Posters 8 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.
  • maddyunderstars@aus.socialM This user is from outside of this forum
    maddyunderstars@aus.socialM This user is from outside of this forum
    maddyunderstars@aus.social
    wrote last edited by
    #1

    RE: https://aus.social/@maddyunderstars/117127750677454333

    FEP-49eb: Batched Inbox Delivery

    I've wanted batched inboxes for a while, and so here's a FEP for how you might do that.

    My big problems with this currently are:
    - The `object` of the `Add` is a `Collection`, which would usually mean to add the collection obviously, but here we add the collection's items. It's like this because we need to add some metadata such as start time and ordering, and we can't edit the activities themselves because then the proofs fail when those extra properties are removed when forwarding to other servers. Further, editing the activities might lead to conflicts, and using a prefixed prop like 'fep-49eb:ordering` just leaks that batching was used if forwarding was to happen without removal
    - The capability discovery here is annoying I think. I didn't want to add a new `batched` inbox property on actors because then it's completely incompatible with multibox, and I want multibox to remain optional here too.

    https://codeberg.org/MaddyUnderStars/fep/src/branch/feat/fep-49eb/fep/49eb/fep-49eb.md

    #fedidev #fep #activitypub #fep49eb

    rimu@piefed.socialR silverpill@mitra.socialS 2 Replies Last reply
    0
    • maddyunderstars@aus.socialM maddyunderstars@aus.social

      RE: https://aus.social/@maddyunderstars/117127750677454333

      FEP-49eb: Batched Inbox Delivery

      I've wanted batched inboxes for a while, and so here's a FEP for how you might do that.

      My big problems with this currently are:
      - The `object` of the `Add` is a `Collection`, which would usually mean to add the collection obviously, but here we add the collection's items. It's like this because we need to add some metadata such as start time and ordering, and we can't edit the activities themselves because then the proofs fail when those extra properties are removed when forwarding to other servers. Further, editing the activities might lead to conflicts, and using a prefixed prop like 'fep-49eb:ordering` just leaks that batching was used if forwarding was to happen without removal
      - The capability discovery here is annoying I think. I didn't want to add a new `batched` inbox property on actors because then it's completely incompatible with multibox, and I want multibox to remain optional here too.

      https://codeberg.org/MaddyUnderStars/fep/src/branch/feat/fep-49eb/fep/49eb/fep-49eb.md

      #fedidev #fep #activitypub #fep49eb

      rimu@piefed.socialR This user is from outside of this forum
      rimu@piefed.socialR This user is from outside of this forum
      rimu@piefed.social
      wrote last edited by
      #2

      See also https://codeberg.org/fediverse/fep/src/branch/main/fep/1a11/fep-1a11.md

      maddyunderstars@aus.socialM 1 Reply Last reply
      0
      • rimu@piefed.socialR rimu@piefed.social

        See also https://codeberg.org/fediverse/fep/src/branch/main/fep/1a11/fep-1a11.md

        maddyunderstars@aus.socialM This user is from outside of this forum
        maddyunderstars@aus.socialM This user is from outside of this forum
        maddyunderstars@aus.social
        wrote last edited by
        #3

        @rimu Thanks. Since FEP-1a11 documents PieFed behaviour and only addresses Likes/Dislikes/Undo in FEP-1b12 Groups, I figured a new FEP would be useful. This one is for any activity to any actor(s)

        1 Reply Last reply
        0
        • maddyunderstars@aus.socialM maddyunderstars@aus.social

          @rimu Thanks. Since FEP-1a11 documents PieFed behaviour and only addresses Likes/Dislikes/Undo in FEP-1b12 Groups, I figured a new FEP would be useful. This one is for any activity to any actor(s)

          rimu@piefed.socialR This user is from outside of this forum
          rimu@piefed.socialR This user is from outside of this forum
          rimu@piefed.social
          wrote last edited by
          #4

          Cool. Yep.

          1 Reply Last reply
          0
          • ? [[global:guest]] crossposted this topic to General Discussion
          • maddyunderstars@aus.socialM maddyunderstars@aus.social

            RE: https://aus.social/@maddyunderstars/117127750677454333

            FEP-49eb: Batched Inbox Delivery

            I've wanted batched inboxes for a while, and so here's a FEP for how you might do that.

            My big problems with this currently are:
            - The `object` of the `Add` is a `Collection`, which would usually mean to add the collection obviously, but here we add the collection's items. It's like this because we need to add some metadata such as start time and ordering, and we can't edit the activities themselves because then the proofs fail when those extra properties are removed when forwarding to other servers. Further, editing the activities might lead to conflicts, and using a prefixed prop like 'fep-49eb:ordering` just leaks that batching was used if forwarding was to happen without removal
            - The capability discovery here is annoying I think. I didn't want to add a new `batched` inbox property on actors because then it's completely incompatible with multibox, and I want multibox to remain optional here too.

            https://codeberg.org/MaddyUnderStars/fep/src/branch/feat/fep-49eb/fep/49eb/fep-49eb.md

            #fedidev #fep #activitypub #fep49eb

            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 last edited by
            #5

            @maddyunderstars

            The object of the Add is a Collection, which would usually mean to add the collection obviously

            You can introduce a new activity type, which will have different semantics.

            e.g. DeliverBatch

            -----

            startTime: The creation time of the chronologically first activity in this batch.

            I suggest clarifying what "creation time" means. Is it the value of the published property of an activity?

            Delivery

            The Add activity in the example does not have the id, actor and to properties, which are usually required.

            Processing

            Should receiving servers add Add activities to inbox collections?

            @technical-discussion

            maddyunderstars@aus.socialM 1 Reply Last reply
            0
            • silverpill@mitra.socialS silverpill@mitra.social

              @maddyunderstars

              The object of the Add is a Collection, which would usually mean to add the collection obviously

              You can introduce a new activity type, which will have different semantics.

              e.g. DeliverBatch

              -----

              startTime: The creation time of the chronologically first activity in this batch.

              I suggest clarifying what "creation time" means. Is it the value of the published property of an activity?

              Delivery

              The Add activity in the example does not have the id, actor and to properties, which are usually required.

              Processing

              Should receiving servers add Add activities to inbox collections?

              @technical-discussion

              maddyunderstars@aus.socialM This user is from outside of this forum
              maddyunderstars@aus.socialM This user is from outside of this forum
              maddyunderstars@aus.social
              wrote last edited by
              #6

              @silverpill @technical-discussion I would like a new activity type, but I wanted it to be compatible with multibox which uses Add. Although it doesn't allow for collections as their objects, so maybe a custom type is fine...?

              I left `id`, `actor`, and `to` out because multibox also omits them. Additionally, batches don't have much use outside their POST request, so giving them a resolvable ID isn't super useful, and deduplication can be done per activity instead. Since the activities could be addressed to anyone and be created by anyone, `to` and `actor` dont have singular values either. Although I do realise now that omitting `actor` makes it incompatible with FEP-2277...

              Good point on startTime/endTime. I'll clarify that tomorrow.

              No, receiving servers should not add `Add` activities to their inboxes.

              silverpill@mitra.socialS 1 Reply Last reply
              0
              • maddyunderstars@aus.socialM maddyunderstars@aus.social

                @silverpill @technical-discussion I would like a new activity type, but I wanted it to be compatible with multibox which uses Add. Although it doesn't allow for collections as their objects, so maybe a custom type is fine...?

                I left `id`, `actor`, and `to` out because multibox also omits them. Additionally, batches don't have much use outside their POST request, so giving them a resolvable ID isn't super useful, and deduplication can be done per activity instead. Since the activities could be addressed to anyone and be created by anyone, `to` and `actor` dont have singular values either. Although I do realise now that omitting `actor` makes it incompatible with FEP-2277...

                Good point on startTime/endTime. I'll clarify that tomorrow.

                No, receiving servers should not add `Add` activities to their inboxes.

                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 last edited by
                #7

                @maddyunderstars An activity without id and actor can't be authenticated:

                - The receiving server can't use the HTTP signature because it can't check Key.owner == Activity.actor when there is no actor.
                - The receiving server can't verify activity by fetching it from the origin, because there is no id

                Maybe this batch-Add activity is a special activity that differs from all other activities and should be unwrapped without authentication? In my opinion, the case for such "special activity" is not sufficiently strong.

                @technical-discussion

                1 Reply Last reply
                0

                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                With your input, this post could be even better 💗

                Register Login
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

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