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.
  • 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
            • 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.

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

              @mat @thisismissem @eniko The continuous event streams are HTTP. Mine are being proxied through Apache

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

                @mat @thisismissem @eniko The continuous event streams are HTTP. Mine are being proxied through Apache

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

                @mcc @mat @eniko I mean, kinda correct in that WebSockets are tunneled over HTTP, but it's still the WebSocket Protocol that is being used..

                mcc@mastodon.socialM 1 Reply Last reply
                0
                • tylercook@mastodon.gamedev.placeT tylercook@mastodon.gamedev.place

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

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

                  @tylercook Yes, correct. If you already have a setup for hosting Docker containers standing up the PDS is *trivial*. Like, you could do it in under an hour. I don't pay per byte of bandwidth (VPS) but the load from running my PDS has been so low I don't notice it. And if it turns out to be a problem you can migrate out to another PDS.

                  I'm going to DM you a link to a Discord I found helpful when debugging issues with my PDS.

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

                    @mcc @mat @eniko I mean, kinda correct in that WebSockets are tunneled over HTTP, but it's still the WebSocket Protocol that is being used..

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

                    @thisismissem @mat @eniko Okay, yes, that's more accurate.

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

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

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

                      @mcc am having a discussion of this on bsky that is helping to disambiguate :
                      https://bsky.app/profile/futur.blue/post/3lyuzwzb2k226
                      also https://github.com/zeppelin-social/bluesky-appview

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

                        @thisismissem @mat @eniko Okay, yes, that's more accurate.

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

                        @mcc @mat @eniko so yeah, I was more saying PHP and WebSockets isn't likely to be the most pleasant time for someone. (much like Ruby and WebSockets)

                        But yeah, if you're suggesting a sidecar PDS to a wordpress blog that just publishes bluesky posts with a link to the wordpress post, then that'd be relatively simple. It's once you want to go beyond that that things start getting hard.

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

                          @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 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
                          #119
                          @mcc @eniko I kinda feel like giving them the benefit of the doubt. All of these decisions can be explained by their goal of being Twitter 2.0, instant distribution to millions of people, everyone's eyeballs glued to the very latest posts as they continually fly past, desperate to respond in a way that generates traction before the world's attention fades. That's a hard problem to solve! The fact that I can't imagine why I would want it solved for me is not the point.
                          1 Reply Last reply
                          0
                          • mcc@mastodon.socialM mcc@mastodon.social

                            Why does the "relay" matter? Well, because although Bluesky's claim is that moderation is "composable" in their system— that you can choose which moderators to follow— moderation decisions made by Bluesky are hard binding on systems they control. Someone blocked by Bluesky is blocked from the Bluesky appview, their content will get removed from the Bluesky PDS if they were using that. The Bluesky relay censors content that violates the data "schema"; I suspect (?) it enforces moderation also.

                            boris@cosocial.caB This user is from outside of this forum
                            boris@cosocial.caB This user is from outside of this forum
                            boris@cosocial.ca
                            wrote last edited by
                            #120

                            @mcc Content doesn’t get removed from the PDS it would be hidden by labels - accounts do have takedown labels applied.

                            Bluesky operated relay doesn’t censor Lexicons that don’t validate and it doesn’t enforce moderation.

                            For those following along at home the relay costs about $30/month to run for all ~38M accounts worth of content.

                            mcc@mastodon.socialM 1 Reply Last reply
                            0
                            • boris@cosocial.caB boris@cosocial.ca

                              @mcc Content doesn’t get removed from the PDS it would be hidden by labels - accounts do have takedown labels applied.

                              Bluesky operated relay doesn’t censor Lexicons that don’t validate and it doesn’t enforce moderation.

                              For those following along at home the relay costs about $30/month to run for all ~38M accounts worth of content.

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

                              @boris "Content doesn’t get removed from the PDS it would be hidden by labels - accounts do have takedown labels applied." I could be wrong but this seems to be contradicted by actual events over the last two weeks.

                              "Bluesky operated relay doesn’t censor Lexicons that don’t validate" Contradicted by my own testing. Either the relay censors them or the appview does and it comes to the same thing, because when I make 301-character posts even third party tools can't see them.

                              boris@cosocial.caB 1 Reply Last reply
                              0
                              • fleeky@prsm.spaceF fleeky@prsm.space

                                @mcc am having a discussion of this on bsky that is helping to disambiguate :
                                https://bsky.app/profile/futur.blue/post/3lyuzwzb2k226
                                also https://github.com/zeppelin-social/bluesky-appview

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

                                @fleeky As an update, I searched on blacksky.community for "from:me blackbird" and found a post from 2024. So they have some source of older posts.

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

                                  @boris "Content doesn’t get removed from the PDS it would be hidden by labels - accounts do have takedown labels applied." I could be wrong but this seems to be contradicted by actual events over the last two weeks.

                                  "Bluesky operated relay doesn’t censor Lexicons that don’t validate" Contradicted by my own testing. Either the relay censors them or the appview does and it comes to the same thing, because when I make 301-character posts even third party tools can't see them.

                                  boris@cosocial.caB This user is from outside of this forum
                                  boris@cosocial.caB This user is from outside of this forum
                                  boris@cosocial.ca
                                  wrote last edited by
                                  #123

                                  @mcc accounts get taken down! Posts do not / individual posts doesn’t get removed out of the repo (would also break verification of a repo and is detectable)

                                  yes apps all choose their validation (and for that matter strong types). Regardless it’s not the relay that’s doing it if you’d like to be correct about where locus of control is.

                                  mcc@mastodon.socialM 1 Reply Last reply
                                  0
                                  • boris@cosocial.caB boris@cosocial.ca

                                    @mcc accounts get taken down! Posts do not / individual posts doesn’t get removed out of the repo (would also break verification of a repo and is detectable)

                                    yes apps all choose their validation (and for that matter strong types). Regardless it’s not the relay that’s doing it if you’d like to be correct about where locus of control is.

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

                                    @boris "(would also break verification of a repo and is detectable)"

                                    What happens if I delete a post from a repo? If it can't be removed can someone then query the post from my PDS direct and get a copy of the deleted content?

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

                                      @boris "(would also break verification of a repo and is detectable)"

                                      What happens if I delete a post from a repo? If it can't be removed can someone then query the post from my PDS direct and get a copy of the deleted content?

                                      boris@cosocial.caB This user is from outside of this forum
                                      boris@cosocial.caB This user is from outside of this forum
                                      boris@cosocial.ca
                                      wrote last edited by
                                      #125

                                      @mcc Bsky doesn’t have auth on your account and can’t delete individual posts.

                                      The user can delete posts as they like and then it’s truly deleted and can’t be queried.

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

                                        @mcc Blocks are "enforced" at the client level. I know, I know, that probably merits another "oh dear" but that's how Bluesky is doing it. So blacksky.community as a client doesn't do age verification for DMs in the UK, or block access to Mississippi.

                                        Takedowns by contrast are at the AppView and someties PDS level.

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

                                        @jdp23 Rudy says they're appview and also client. https://bsky.app/profile/rude1.blacksky.team/post/3lyvbqh3m3s2e

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

                                          As an update since posting the above thread I have received replies from two people, one saying I am underestimating the level of stack coverage Blacksky has, another saying I am overestimating it.

                                          The stack is just so tall! There are *so many* layers in this protocol's model. And it seems like every single one of them is an opportunity to introduce censorship

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

                                          Update: Rudy who operates blacksky.community responded to this thread on bluesky. Above I said I wasn't clear on how independent Blacksky was of the Bluesky infra. His answer is "completely". They run their own relay (which scrapes PDSes itself), the relay feeds into their own appview, the appview feeds into their own client. https://bsky.app/profile/rude1.blacksky.team/post/3lyv5rwpc722c

                                          And since they bridge end-to-end, in my Hypothetical Example above, they *could* choose to make different moderation decisions from Bluesky PBC.

                                          wotsac@mastodon.socialW cypherhippie@chaos.socialC mattsheffield@mastodon.socialM mcc@mastodon.socialM 4 Replies 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