Skip to content
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
  • 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
Brand Logo

fedi wiki

  1. Home
  2. Technical Discussion
  3. Starting on [FEP-ef61] (Portable Objects) in @fedify@hollo.social.

Starting on [FEP-ef61] (Portable Objects) in @fedify@hollo.social.

Scheduled Pinned Locked Moved Technical Discussion
fedifyfedidevfepef61activitypubportableobjects
7 Posts 3 Posters 42 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.
  • hongminhee@hollo.socialH This user is from outside of this forum
    hongminhee@hollo.socialH This user is from outside of this forum
    hongminhee@hollo.social
    wrote on last edited by
    #1

    Starting on FEP-ef61 (Portable Objects) in @fedify@hollo.social. It's a @sovtechfund@mastodon.social milestone due September 30, and the scope is… substantial. Not a lot of runway. Wish me luck.

    #Fedify #FEPef61 #PortableObjects #ActivityPub #fedidev

    thisismissem@activitypub.spaceT 1 Reply Last reply
    0
    • hongminhee@hollo.socialH This user is from outside of this forum
      hongminhee@hollo.socialH This user is from outside of this forum
      hongminhee@hollo.social
      wrote on last edited by
      #2

      Just filed sub-issues for FEP-ef61:

      • #826 Support ap: and ap+ef61: URI schemes in vocabulary codecs
      • #827 Resolve did:key verification methods for Object Integrity Proofs
      • #828 Canonicalize and compare ap:/ap+ef61: URIs
      • #829 Support cryptographic origins for ap:/ap+ef61: URIs
      • #830 FEP-ef61 vocabulary terms
      • #831 SHA-256 digestMultibase helpers for portable media
      • #832 FEP-ef61 proof policy for portable objects
      • #833 Compatible FEP-ef61 identifiers for portable objects
      • #834 Gateway dereferencing for portable vocabulary references
      hongminhee@hollo.socialH 1 Reply Last reply
      0
      • hongminhee@hollo.socialH hongminhee@hollo.social

        Just filed sub-issues for FEP-ef61:

        • #826 Support ap: and ap+ef61: URI schemes in vocabulary codecs
        • #827 Resolve did:key verification methods for Object Integrity Proofs
        • #828 Canonicalize and compare ap:/ap+ef61: URIs
        • #829 Support cryptographic origins for ap:/ap+ef61: URIs
        • #830 FEP-ef61 vocabulary terms
        • #831 SHA-256 digestMultibase helpers for portable media
        • #832 FEP-ef61 proof policy for portable objects
        • #833 Compatible FEP-ef61 identifiers for portable objects
        • #834 Gateway dereferencing for portable vocabulary references
        hongminhee@hollo.socialH This user is from outside of this forum
        hongminhee@hollo.socialH This user is from outside of this forum
        hongminhee@hollo.social
        wrote on last edited by
        #3

        If you're interested in this work you can subscribe umbrella issue #288.

        silverpill@mitra.socialS 1 Reply Last reply
        0
        • hongminhee@hollo.socialH hongminhee@hollo.social

          Starting on FEP-ef61 (Portable Objects) in @fedify@hollo.social. It's a @sovtechfund@mastodon.social milestone due September 30, and the scope is… substantial. Not a lot of runway. Wish me luck.

          #Fedify #FEPef61 #PortableObjects #ActivityPub #fedidev

          thisismissem@activitypub.spaceT This user is from outside of this forum
          thisismissem@activitypub.spaceT This user is from outside of this forum
          thisismissem@activitypub.space
          wrote on last edited by
          #4

          @hongminhee@hollo.social luck wished! Are you going to use more than did:key though?

          1 Reply Last reply
          0
          • hongminhee@hollo.socialH hongminhee@hollo.social

            If you're interested in this work you can subscribe umbrella issue #288.

            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

            @hongminhee

            Subscribed to all of them 😄

            For Fedify, we should treat ap+ef61: as the canonical portable-object scheme going forward

            Why?

            I am open to changing the recommended scheme but my implementation doesn't support ap+ef61 yet.

            There are other options as well: ap+portable, ap+nomad.

            hongminhee@hollo.socialH 1 Reply Last reply
            0
            • silverpill@mitra.socialS silverpill@mitra.social

              @hongminhee

              Subscribed to all of them 😄

              For Fedify, we should treat ap+ef61: as the canonical portable-object scheme going forward

              Why?

              I am open to changing the recommended scheme but my implementation doesn't support ap+ef61 yet.

              There are other options as well: ap+portable, ap+nomad.

              hongminhee@hollo.socialH This user is from outside of this forum
              hongminhee@hollo.socialH This user is from outside of this forum
              hongminhee@hollo.social
              wrote last edited by
              #6

              @silverpill@mitra.social Mostly because ap: is a very broad scheme name.

              If ap: becomes the long-term ActivityPub portable identifier scheme, that is fine, and Fedify should support it. The concern is that FEP-ef61 is still a draft, and making a library emit ap: as the canonical form today can make the current draft semantics look more settled, and more general, than they are.

              ap+ef61: has a narrower meaning: this is the portable-object URI model defined by FEP-ef61. That gives implementations room to experiment with the current DID authority, gateway dereferencing, compatible ID, and proof-policy rules without implicitly claiming the whole ap: scheme for this exact design. It also avoids a possible future conflict if ap: is later standardized with slightly different semantics.

              This is not a strong objection to ap: itself. Fedify should accept ap: because the current FEP requires it, and interoperability with existing implementations matters more than a local naming preference. My current thinking is:

              • accept both ap: and ap+ef61:;
              • canonicalize them through the same comparison algorithm;
              • emit ap+ef61: for newly generated portable IDs while the FEP is still draft, unless the FEP settles on ap: or another scheme;
              • keep this easy to change if the FEP chooses ap:, ap+portable:, ap+nomad:, or something else.

              Between the alternatives, ap+ef61: is precise but tied to the FEP number. ap+portable: or ap+nomad: would be better if the goal is a stable human-readable scheme name. I do not have a strong preference there.

              The main point is that a draft-specific or portable-specific scheme feels safer than treating the generic ap: scheme as permanently settled before the FEP reaches consensus.

              silverpill@mitra.socialS 1 Reply Last reply
              0
              • hongminhee@hollo.socialH hongminhee@hollo.social

                @silverpill@mitra.social Mostly because ap: is a very broad scheme name.

                If ap: becomes the long-term ActivityPub portable identifier scheme, that is fine, and Fedify should support it. The concern is that FEP-ef61 is still a draft, and making a library emit ap: as the canonical form today can make the current draft semantics look more settled, and more general, than they are.

                ap+ef61: has a narrower meaning: this is the portable-object URI model defined by FEP-ef61. That gives implementations room to experiment with the current DID authority, gateway dereferencing, compatible ID, and proof-policy rules without implicitly claiming the whole ap: scheme for this exact design. It also avoids a possible future conflict if ap: is later standardized with slightly different semantics.

                This is not a strong objection to ap: itself. Fedify should accept ap: because the current FEP requires it, and interoperability with existing implementations matters more than a local naming preference. My current thinking is:

                • accept both ap: and ap+ef61:;
                • canonicalize them through the same comparison algorithm;
                • emit ap+ef61: for newly generated portable IDs while the FEP is still draft, unless the FEP settles on ap: or another scheme;
                • keep this easy to change if the FEP chooses ap:, ap+portable:, ap+nomad:, or something else.

                Between the alternatives, ap+ef61: is precise but tied to the FEP number. ap+portable: or ap+nomad: would be better if the goal is a stable human-readable scheme name. I do not have a strong preference there.

                The main point is that a draft-specific or portable-specific scheme feels safer than treating the generic ap: scheme as permanently settled before the FEP reaches consensus.

                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

                @hongminhee

                Okay, this makes sense. I updated my implementation to support ap+ef61 scheme and also updated the FEP:

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

                Both schemes are allowed, but ap is RECOMMENDED. I don't expect the semantics to change. The most controversial part is the authority, which makes 'ap' URIs not compliant with RFC-3986, but I believe that we should push for the standardization of DID authorities. Plain DIDs are easier to read and you can copy-paste them without decoding. As far as I know, #atproto people also don't intend to encode their URI authorities.

                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