Lemmy.World
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
Rimu@piefed.social to ActivityPub@community.nodebb.orgEnglish · 4 months ago

Protocol handler?

message-square
message-square
23
link
fedilink
1
message-square

Protocol handler?

Rimu@piefed.social to ActivityPub@community.nodebb.orgEnglish · 4 months ago
message-square
23
link
fedilink

I’m going to register a protocol handler, so links to anywhere on the fedi will be opened in the user’s home instance.

https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler

Has anyone already done this and if so what was the prefix you used? We might as well all use the same thing. I’m thinking web+fedi.

alert-triangle
You must log in or # to comment.
  • evan@activitypub.space
    link
    fedilink
    arrow-up
    1
    ·
    3 months ago

    [email protected] I’ve been using web+acct for the acct URI format.

    https://en.wikipedia.org/wiki/Acct_URI_scheme

  • julian@community.nodebb.org
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    [email protected] interesting idea… I know Evan has some thoughts about this as part of his ActivityPub HTML discovery project

    https://swicg.github.io/activitypub-html-discovery/

    I am not sure why they did not settle on protocol handlers but I’ve tagged him for comment

    [email protected] [email protected]

    • julian@community.nodebb.org
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      The concept sounds excellent, although there is fairly limited mobile support.

      Since NodeBB is an installable PWA it would be definitely nice to have it supported there as well.

      • Tim Chambers@indieweb.social
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        @julian I write about this here: near zero mobile browser support but strong desktop browser support- and I suggest a JavaScript fallback for the others …. https://www.timothychambers.net/2025/06/24/the-seven-deadly-fediverse-ux.html

        • Rimu@mastodon.nzoss.nz
          link
          fedilink
          arrow-up
          2
          ·
          4 months ago

          @tchambers @julian @silverpill I put together a prototype, using web+ap.

          Here’s a video demo - https://peertube.wtf/w/r8M4KpS6yLd9H2r2oPAs9M

          The workflow is a wee bit clunky, with the browser popping up things more than I’d like, but it works.

          • new smitten@key.portend.place
            link
            fedilink
            arrow-up
            1
            ·
            4 months ago

            This is so great, I feel like whenever this idea comes up it’s just so difficult to explain to people what it would feel like to use. (and why it’s helpful!)

            You talked about changing the address yourself in the browser bar which is already easier than loading up your home server and going through the step to lookup. For me what excited me about this idea was that people could be displaying the links in pages. You often see it with a socials section at the bottom of someone’s blog, they link to their profile on their server when what I want them to link to is their profile with the web+ap protocol.

            But this leads to another big UX problem, the links are useless if you don’t have a handler registered. There is no fallback mechanism your browser will just ask you what you want to open it with and have an empty list of suggestions. So I think it would need to have a recognizable way to be communicated to the user, a consistent icon for the link and a memorable name because only people who knew they set up a handler would want them.

            @[email protected] @[email protected] @[email protected] @[email protected]

            • julian@community.nodebb.org
              link
              fedilink
              arrow-up
              1
              ·
              4 months ago

              [email protected] might I suggest appropriating the ActivityPub logo? For lack of a better option.

              There’s the “networked nodes” fediverse logo but it really loses its effect when made small.

              • new smitten@key.portend.place
                link
                fedilink
                arrow-up
                2
                ·
                4 months ago

                @[email protected] I agree, that was what I ended up using in the akkoma prototype

          • silverpill@mitra.social
            link
            fedilink
            arrow-up
            1
            ·
            4 months ago

            @rimu @tchambers @julian

            Neat.

            @smitten_ Check it out

          • julian@community.nodebb.org
            link
            fedilink
            arrow-up
            1
            ·
            4 months ago

            [email protected] what happens if a browser that doesn’t understand protocol handlers encounters this scheme?

        • new smitten@key.portend.place
          link
          fedilink
          arrow-up
          1
          ·
          4 months ago

          @[email protected] @[email protected] You’re absolutely right about the mobile browsers sadly, but support on mobile apps is good. The UX there is better than it is on desktop browsers too, because it can be registered in the app manifest and doesn’t require complicated approval and handler selection flows. People are also more familiar with links that look a certain way opening in their related app, it’s just that they expect the behavior at the host level instead of the protocol level.

  • Die4Ever@retrolemmy.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 months ago

    It’s a good idea, but fedi is maybe too broad to be useful? I wouldn’t want a Lemmy post to open in Mastodon, and pretty sure opening a Mastodon post in Lemmy is impossible unless the post was directed to a community.

    web+threadiverse could solve that issue but that’s kinda hacky. Maybe the real solution is to improve Lemmy and Mastodon so that they are capable of doing these things decently.

    I was actually thinking of making a browser extension that handles this instead. Each Fediverse software could write something to window.fediverse or something like that, with tags for group support or micro blogging. The extension could have methods to infer these values for existing platforms. But the extension could give a dialog box to redirect, based on your preferred instances for certain tags.

  • Evan Prodromou@cosocial.ca
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    @rimu web+acct

    • Die4Ever@retrolemmy.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      What does acct stand for?

      • Evan Prodromou@cosocial.ca
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        @Die4Ever

        https://datatracker.ietf.org/doc/html/rfc7565

  • silverpill@mitra.social
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    @rimu

    web+ap, which was proposed by Fedilink authors. To my knowledge, it is the most widely adopted proposal

    https://web.archive.org/web/20250402041648/https://fedilinks.org/

    (the main site seems to be offline now)

    cc @SoniEx2

    • julian@community.nodebb.org
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      Are there implementors of web+ap? I’d be interested in adopting.

      I assume the fallback behaviour is to just assume https?

      • silverpill@mitra.social
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        @julian Fedilinks website lists 3 MastoAPI clients, but the list is incomplete. I saw Fedilinks being mentioned in changelogs of other clients too.

        There was also an Akkoma PR, it was closed by the author: https://akkoma.dev/AkkomaGang/akkoma/pulls/589. I don’t quite understand the reasoning, perhaps @smitten could clarify.

        • julian@community.nodebb.org
          link
          fedilink
          arrow-up
          1
          ·
          4 months ago

          The PR comments suggest that making the various changes to the backend were too large to justify, and a front-end only approach would be preferred? [email protected]

          It raises a good point though, where if you serve web+ap://, it’s not understood by clients that are not aware of this scheme. If there were a way a client could communicate whether there is a protocol handler registered, then the server could tailor its response.

          • new smitten@key.portend.place
            link
            fedilink
            arrow-up
            1
            ·
            4 months ago

            Glad to see more people having this idea! The problems we ran into were in helping the browser understand the address and know where to forward. Each server implements lookup routes differently, so there’s not necessarily a generic path that you can trust is available on https on the person’s home server, even if you know their home server origin. So in some ways the feature should be offered by your home server software, maybe offering a website that does the handler registration to its known lookup/redirect address.

            But that is limiting in a few ways. It’s a lot of extra steps for each person to do (browsers’ default UI for registering protocols is not obvious or easy). It doesn’t carry over to different devices, and if you have more than one home server in some way, you are back dealing with that not-great browser UI to pick which handler you want.

            In general people are more accustomed to registering protocols to apps they have installed, especially phone apps. It’s much easier to register them there and you don’t have to have approval flow UI, but taking that approach moves this whole served handler route out of the backend again, so we have to start thinking more along the lines of web+ap-compatible servers that handler clients know how to call or bounce to.

            @[email protected] @[email protected] @[email protected] @[email protected]

            • new smitten@key.portend.place
              link
              fedilink
              arrow-up
              1
              ·
              4 months ago

              Also I want to highlight this excellent comment by Yumechi about fingerprinting and de-anonymization risks.

              https://socialhub.activitypub.rocks/t/fep-07d7-a-custom-url-scheme-and-web-based-protocol-handlers-for-linking-to-activitypub-resources/3588/53

              @[email protected] @[email protected] @[email protected] @[email protected]

              • silverpill@mitra.social
                link
                fedilink
                arrow-up
                1
                ·
                4 months ago

                @smitten_ Do you know what is the status of Fedlilinks? Has it been abandoned?
                FEP-07d7 was withdrawn, and other proposals have even less support than these two.

                @SoniEx2 @julian @rimu @activitypub

  • mimic_kry@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    Too soo-…wait what fucking year is it

ActivityPub@community.nodebb.org

activitypub@community.nodebb.org

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: [email protected]

Focused discussion related to ActivityPub integration in NodeBB

Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 1 user / day
  • 11 users / week
  • 16 users / month
  • 32 users / 6 months
  • 1 local subscriber
  • 0 subscribers
  • 17 Posts
  • 53 Comments
  • Modlog
  • mods:
  • UI: 0.19.15-5-g3ad4d1d2
  • BE: 0.19.15-4-g508853653
  • Modlog
  • Legal
  • Instances
  • Docs
  • Code
  • join-lemmy.org