Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
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
We Distribute
  1. Home
  2. Technical Discussion
  3. I would like to give an update on "federation" on Bluesky.

I would like to give an update on "federation" on Bluesky.

Scheduled Pinned Locked Moved Technical Discussion
171 Posts 49 Posters 4.5k 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.
  • lrhodes@merveilles.townL lrhodes@merveilles.town

    @trwnh @mat @mcc @alter_kaker @esoteric_programmer Yeah, my understanding a while back was that the canonical location is defined by reference to the DID address. The way, you can still have a canonical address even if the originating account shifts to a new address. That prevents the old PDS from retaining authority. But so much has changed since I firmed that understanding that I wasn't sure whether or not it had changed. (One would hope the procedures for determining canonicity wouldn't change.)

    trwnh@mastodon.socialT This user is from outside of this forum
    trwnh@mastodon.socialT This user is from outside of this forum
    trwnh@mastodon.social
    wrote last edited by
    #93

    @lrhodes @mat @mcc @alter_kaker @esoteric_programmer """fun""" fact btw: canonicity of at:// uri is different depending on whether you use the did or dns as the authority. so at://atproto.com has different properties than at://did:plc:ewvi7nxzyoun6zhxrhs64oiz -- the former will break if the dns handle ever changes, and the latter is supposed to be used whenever canonical references are needed. but guess which one gets exposed to user-facing stuff? that's right, did is backend, dns is frontend.

    E 1 Reply Last reply
    0
    • erincandescent@akko.erincandescent.netE erincandescent@akko.erincandescent.net

      @mcc @trwnh @ikuturso @jrose But the problem is that did:plc by definition always points to Bluesky’s DID repo.

      trwnh@mastodon.socialT This user is from outside of this forum
      trwnh@mastodon.socialT This user is from outside of this forum
      trwnh@mastodon.social
      wrote last edited by
      #94

      @erincandescent @ikuturso @mcc @jrose yep, did:plc is equivalent to did:web:plc.directory (which is equivalent to https://plc.directory)

      it's basically dns all over again, but in a different format (did documents instead of resource records). plc.directory is basically the authoritative nameserver.

      1 Reply Last reply
      0
      • mcc@mastodon.socialM mcc@mastodon.social

        If you sign up with https://blacksky.community you get:

        - Blacksky's "appview"/web frontend
        - Optionally, Blacksky's PDS
        - Blacksky's moderation layer (and you can optionally enable Bluesky's too)

        Almost-complete independence! What I'm not clear on is to whether, or to what degree Blacksky relies on Bluesky's "relay":

        fleeky@prsm.spaceF This user is from outside of this forum
        fleeky@prsm.spaceF This user is from outside of this forum
        fleeky@prsm.space
        wrote last edited by
        #95

        @mcc nothing is stopping blue sky from blocking the h other two instances right ? Also is it not the case that black sky has an incomplete view of the entire atmosphere like only a few days so it's still dependent on blue sky due to the high cost of infra for being able to contain that entire view ?

        mcc@mastodon.socialM 1 Reply Last reply
        0
        • fleeky@prsm.spaceF fleeky@prsm.space

          @mcc nothing is stopping blue sky from blocking the h other two instances right ? Also is it not the case that black sky has an incomplete view of the entire atmosphere like only a few days so it's still dependent on blue sky due to the high cost of infra for being able to contain that entire view ?

          mcc@mastodon.socialM This user is from outside of this forum
          mcc@mastodon.socialM This user is from outside of this forum
          mcc@mastodon.social
          wrote last edited by
          #96

          @fleeky 1. Correct
          2. I don't know

          fleeky@prsm.spaceF 1 Reply Last reply
          0
          • trwnh@mastodon.socialT trwnh@mastodon.social

            @lrhodes @mat @mcc @alter_kaker @esoteric_programmer """fun""" fact btw: canonicity of at:// uri is different depending on whether you use the did or dns as the authority. so at://atproto.com has different properties than at://did:plc:ewvi7nxzyoun6zhxrhs64oiz -- the former will break if the dns handle ever changes, and the latter is supposed to be used whenever canonical references are needed. but guess which one gets exposed to user-facing stuff? that's right, did is backend, dns is frontend.

            E This user is from outside of this forum
            E This user is from outside of this forum
            esoteric_programmer@social.stealthy.club
            wrote last edited by
            #97

            @trwnh @lrhodes @mat @mcc @alter_kaker I thought @user.domain.tld is just a way to point to @did:plc:blahblahblah, the same way we do with webfinger over here. Wouldn't this difference in the protocol make an impersonation attack more possible?

            trwnh@mastodon.socialT 1 Reply Last reply
            0
            • E esoteric_programmer@social.stealthy.club

              @trwnh @lrhodes @mat @mcc @alter_kaker I thought @user.domain.tld is just a way to point to @did:plc:blahblahblah, the same way we do with webfinger over here. Wouldn't this difference in the protocol make an impersonation attack more possible?

              trwnh@mastodon.socialT This user is from outside of this forum
              trwnh@mastodon.socialT This user is from outside of this forum
              trwnh@mastodon.social
              wrote last edited by
              #98

              @esoteric_programmer @lrhodes @mat @mcc @alter_kaker you are *supposed* to "convert" the user.domain.tld to did:plc:blah, but you can still construct references against user.domain.tld. but you're not supposed to. but every user-facing component only shows you the user.domain.tld instead of the did:plc:blah, so if you're just copying from your address bar, you are going to get the "wrong" identifier most likely.

              it has the exact same properties as letting a dns name lapse and get reassigned.

              1 Reply Last reply
              0
              • mcc@mastodon.socialM mcc@mastodon.social

                @eniko the advantage is the data is yours and you can recover it later if Bluesky goes berserk. This is a mild advantage but in keeping with the mild advantages operating a PDS is also a mild imposition. It's practically a git repo with a weird frontend. I'm not saying self host but if people are starting to host alternate bluesky bits, this is the most likely thing for someone to alternate host (because it is the least demanding thing) so it's the most likely option to appear.

                mat@friendica.exon.nameM This user is from outside of this forum
                mat@friendica.exon.nameM This user is from outside of this forum
                mat@friendica.exon.name
                wrote last edited by
                #99
                @mcc @eniko The part I was hoping for was an AT plugin for Friendica (or Wordpress) that turns my instance into a PDS. It sounds like you'd still need an account on either bluesky or blacksky though, which is sad. But that way I keep my single identity, and conversations wouldn't be completely split between the two networks. I'm just missing an architecture diagram that shows at which points it plugs into the bluesky tower.
                mcc@mastodon.socialM 1 Reply Last reply
                0
                • mcc@mastodon.socialM mcc@mastodon.social

                  @tylercook like, absurdly easy. Do you know Docker or any Docker-like system?

                  tylercook@mastodon.gamedev.placeT This user is from outside of this forum
                  tylercook@mastodon.gamedev.placeT This user is from outside of this forum
                  tylercook@mastodon.gamedev.place
                  wrote last edited by
                  #100

                  @mcc I do, yeah. So it's just one part of the stack. The complicated parts come later, eh?

                  mcc@mastodon.socialM 1 Reply Last reply
                  0
                  • mat@friendica.exon.nameM mat@friendica.exon.name
                    @mcc @eniko The part I was hoping for was an AT plugin for Friendica (or Wordpress) that turns my instance into a PDS. It sounds like you'd still need an account on either bluesky or blacksky though, which is sad. But that way I keep my single identity, and conversations wouldn't be completely split between the two networks. I'm just missing an architecture diagram that shows at which points it plugs into the bluesky tower.
                    mcc@mastodon.socialM This user is from outside of this forum
                    mcc@mastodon.socialM This user is from outside of this forum
                    mcc@mastodon.social
                    wrote last edited by
                    #101

                    @mat @eniko There is already such a Wordpress plugin that publishes to ActivityPub. I believe publishing a Wordpress or other blog as a PDS would be even easier than ActivityPub. All the ATP single-link APIs are very simple and almost even well documented. So the fact this sort of thing (PDS frontend to legacy data source like Wordpress) does not exist is I think a testament to the fact most people in a position to create such things take a look at, and cannot see the benefit of, ATProto interop

                    mcc@mastodon.socialM mat@friendica.exon.nameM 2 Replies Last reply
                    0
                    • mcc@mastodon.socialM mcc@mastodon.social

                      @mat @eniko There is already such a Wordpress plugin that publishes to ActivityPub. I believe publishing a Wordpress or other blog as a PDS would be even easier than ActivityPub. All the ATP single-link APIs are very simple and almost even well documented. So the fact this sort of thing (PDS frontend to legacy data source like Wordpress) does not exist is I think a testament to the fact most people in a position to create such things take a look at, and cannot see the benefit of, ATProto interop

                      mcc@mastodon.socialM This user is from outside of this forum
                      mcc@mastodon.socialM This user is from outside of this forum
                      mcc@mastodon.social
                      wrote last edited by
                      #102

                      @mat @eniko Another thing to note. Posts on ATProto are 300 characters. The entire system is set up to mark "schema invalid" and wholly censor any post which is more than 300 characters. So what you'd have to do is put a 270 character summary of your post, plus a link to your real wordpress, into the PDS. (It's not a schema violation to contain *extra* data, so you could include a "full-text" field in the post blob, but no system in existence could read it— not even yours, you'd be publish-only)

                      mcc@mastodon.socialM 1 Reply Last reply
                      0
                      • mcc@mastodon.socialM mcc@mastodon.social

                        @mat @eniko Another thing to note. Posts on ATProto are 300 characters. The entire system is set up to mark "schema invalid" and wholly censor any post which is more than 300 characters. So what you'd have to do is put a 270 character summary of your post, plus a link to your real wordpress, into the PDS. (It's not a schema violation to contain *extra* data, so you could include a "full-text" field in the post blob, but no system in existence could read it— not even yours, you'd be publish-only)

                        mcc@mastodon.socialM This user is from outside of this forum
                        mcc@mastodon.socialM This user is from outside of this forum
                        mcc@mastodon.social
                        wrote last edited by
                        #103

                        @mat @eniko So at that point, barring building an entire alternate Bluesky-like system for reading longposts— a system which would be redundant when ActivityPub exists— you're not mirroring your WordPress on Bluesky, rather you're using Bluesky as a funny kind of RSS feed, posting a short announcement of each post there… at which point, isn't it easier to just link your WordPress to a *regular* bluesky account, and use the API to auto-post summary+announcements for new posts?

                        Am I making sense?

                        mat@friendica.exon.nameM 1 Reply Last reply
                        0
                        • mcc@mastodon.socialM mcc@mastodon.social

                          @mat @eniko There is already such a Wordpress plugin that publishes to ActivityPub. I believe publishing a Wordpress or other blog as a PDS would be even easier than ActivityPub. All the ATP single-link APIs are very simple and almost even well documented. So the fact this sort of thing (PDS frontend to legacy data source like Wordpress) does not exist is I think a testament to the fact most people in a position to create such things take a look at, and cannot see the benefit of, ATProto interop

                          mat@friendica.exon.nameM This user is from outside of this forum
                          mat@friendica.exon.nameM This user is from outside of this forum
                          mat@friendica.exon.name
                          wrote last edited by
                          #104

                          @mcc @eniko There are WP AT crosspost-style plugins. If you're crossposting to Bluesky from WP then you probably care about your data sovereignty. I think the demand is there if a developer took on the task. Perhaps genuine WP AP integration only exists because Matthias is so committed.

                          The difference between Wordpress and Friendica is that WP doesn't really require two-way communication. And that's what I don't get. I know how my posts get sent to the relay, but where are replies to those posts coming from in this setup?

                          thisismissem@hachyderm.ioT mcc@mastodon.socialM 2 Replies Last reply
                          0
                          • mcc@mastodon.socialM mcc@mastodon.social

                            @mat @eniko So at that point, barring building an entire alternate Bluesky-like system for reading longposts— a system which would be redundant when ActivityPub exists— you're not mirroring your WordPress on Bluesky, rather you're using Bluesky as a funny kind of RSS feed, posting a short announcement of each post there… at which point, isn't it easier to just link your WordPress to a *regular* bluesky account, and use the API to auto-post summary+announcements for new posts?

                            Am I making sense?

                            mat@friendica.exon.nameM This user is from outside of this forum
                            mat@friendica.exon.nameM This user is from outside of this forum
                            mat@friendica.exon.name
                            wrote last edited by
                            #105
                            @mcc @eniko Crossed the threads a bit, but OK, I forgot about how Bluesky can't do long-form text. Sigh.
                            1 Reply Last reply
                            0
                            • mat@friendica.exon.nameM mat@friendica.exon.name

                              @mcc @eniko There are WP AT crosspost-style plugins. If you're crossposting to Bluesky from WP then you probably care about your data sovereignty. I think the demand is there if a developer took on the task. Perhaps genuine WP AP integration only exists because Matthias is so committed.

                              The difference between Wordpress and Friendica is that WP doesn't really require two-way communication. And that's what I don't get. I know how my posts get sent to the relay, but where are replies to those posts coming from in this setup?

                              thisismissem@hachyderm.ioT This user is from outside of this forum
                              thisismissem@hachyderm.ioT This user is from outside of this forum
                              thisismissem@hachyderm.io
                              wrote last edited by
                              #106

                              @mat @mcc @eniko I think you'd be hard pressed to implement AT Proto in PHP tbh..

                              mat@friendica.exon.nameM thisismissem@hachyderm.ioT 2 Replies Last reply
                              0
                              • mat@friendica.exon.nameM mat@friendica.exon.name

                                @mcc @eniko There are WP AT crosspost-style plugins. If you're crossposting to Bluesky from WP then you probably care about your data sovereignty. I think the demand is there if a developer took on the task. Perhaps genuine WP AP integration only exists because Matthias is so committed.

                                The difference between Wordpress and Friendica is that WP doesn't really require two-way communication. And that's what I don't get. I know how my posts get sent to the relay, but where are replies to those posts coming from in this setup?

                                mcc@mastodon.socialM This user is from outside of this forum
                                mcc@mastodon.socialM This user is from outside of this forum
                                mcc@mastodon.social
                                wrote last edited by
                                #107

                                @mat @eniko "but where are replies to those posts coming from in this setup?"

                                Short version: "You can't get them"

                                Long version: Currently the only ways to get replies to a post published in your Bluesky PDS are

                                - Run a "relay". This means (this is not a joke) receiving from Bluesky PBC a copy of literally every post made in the network, and filtering for ones that @ you.

                                - Log in to bsky.app (or a clone like blacksky) with your PDS username and password, and look in the notifications tab.

                                mcc@mastodon.socialM 1 Reply Last reply
                                0
                                • mcc@mastodon.socialM mcc@mastodon.social

                                  @mat @eniko "but where are replies to those posts coming from in this setup?"

                                  Short version: "You can't get them"

                                  Long version: Currently the only ways to get replies to a post published in your Bluesky PDS are

                                  - Run a "relay". This means (this is not a joke) receiving from Bluesky PBC a copy of literally every post made in the network, and filtering for ones that @ you.

                                  - Log in to bsky.app (or a clone like blacksky) with your PDS username and password, and look in the notifications tab.

                                  mcc@mastodon.socialM This user is from outside of this forum
                                  mcc@mastodon.socialM This user is from outside of this forum
                                  mcc@mastodon.social
                                  wrote last edited by
                                  #108

                                  @mat @eniko Now, that last thing is possible, and even easy. But at that point it's really, super unclear *why* you would architect your Wordpress server to *be* a PDS, rather than running the regular PDS software on the same box, and having the Wordpress server post to it from time to time using the external API. It's extra work, but there's no obvious advantage and there's barely even a difference.

                                  mcc@mastodon.socialM 1 Reply Last reply
                                  0
                                  • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

                                    @mat @mcc @eniko I think you'd be hard pressed to implement AT Proto in PHP tbh..

                                    mat@friendica.exon.nameM This user is from outside of this forum
                                    mat@friendica.exon.nameM This user is from outside of this forum
                                    mat@friendica.exon.name
                                    wrote last edited by
                                    #109

                                    @mcc @thisismissem @eniko ...and that reminds me of another thing!

                                    In the spec it says "In addition to regular HTTP API endpoints, atproto supports continuous event streams." And indeed, implementing the event stream seems hard. But HTTP APIs don't sound hard. So... do PDS's have to implement both? It sounds like they don't.

                                    thisismissem@hachyderm.ioT mcc@mastodon.socialM 2 Replies Last reply
                                    0
                                    • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

                                      @mat @mcc @eniko I think you'd be hard pressed to implement AT Proto in PHP tbh..

                                      thisismissem@hachyderm.ioT This user is from outside of this forum
                                      thisismissem@hachyderm.ioT This user is from outside of this forum
                                      thisismissem@hachyderm.io
                                      wrote last edited by
                                      #110

                                      @mat @mcc @eniko you could probably take the bluesky-social/pds repo, and add in endpoints that a wordpress plugin would call to automatically create records in it for social posts, if you just wanna distribute out a app.bsky.feed.post for each wordpress post.

                                      That'd be pretty easy to do.

                                      1 Reply Last reply
                                      0
                                      • mcc@mastodon.socialM mcc@mastodon.social

                                        @mat @eniko Now, that last thing is possible, and even easy. But at that point it's really, super unclear *why* you would architect your Wordpress server to *be* a PDS, rather than running the regular PDS software on the same box, and having the Wordpress server post to it from time to time using the external API. It's extra work, but there's no obvious advantage and there's barely even a difference.

                                        mcc@mastodon.socialM This user is from outside of this forum
                                        mcc@mastodon.socialM This user is from outside of this forum
                                        mcc@mastodon.social
                                        wrote last edited by
                                        #111

                                        @mat @eniko Isn't it convenient that Bluesky has architected an "open" system where the solution to every problem turns out to be "use Bluesky", and any other solution requires fighting incredible gravity?

                                        mat@friendica.exon.nameM 1 Reply Last reply
                                        0
                                        • mat@friendica.exon.nameM mat@friendica.exon.name

                                          @mcc @thisismissem @eniko ...and that reminds me of another thing!

                                          In the spec it says "In addition to regular HTTP API endpoints, atproto supports continuous event streams." And indeed, implementing the event stream seems hard. But HTTP APIs don't sound hard. So... do PDS's have to implement both? It sounds like they don't.

                                          thisismissem@hachyderm.ioT This user is from outside of this forum
                                          thisismissem@hachyderm.ioT This user is from outside of this forum
                                          thisismissem@hachyderm.io
                                          wrote last edited by
                                          #112

                                          @mat @mcc @eniko yeah, because you need sync, afaik. https://atproto.com/specs/sync

                                          1 Reply Last reply
                                          0
                                          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