







Why (@why.bsky.team)
↩️ reply to Why (@why.bsky.team): We wanted to design things so you could hypothetically run your own pds that comes online only once a week to send its content to the network and still have that be meaningful participation
snarfed/arroba
Python implementation of Bluesky PDS and AT Protocol, including repo, MST, and sync XRPC methods
app.bsky.actor.searchActorsTypeahead | Bluesky
*This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.*

app.bsky.actor.getProfile | Bluesky
*This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually proxied via the user's PDS, using service proxy headers. Authenticated requests can be used for both public and non-public endpoints.*

app.bsky.notification.getPreferences | Bluesky
*This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.*

Tweets 2 Bsky | BlueAT Network - A Bluesky PDS
BlueAT Network offers a service no other PDS ever has, X Account mirroring.

Appendix:Xanadu - AT Protocol Paper Errata and Details
A description of known problems in Bluesky PBC's paper, "Bluesky and the AT Protocol: Usable Decentralized Social Media", as well as notes on terminology changes and how Bluesky's implementation differs from that described in the paper.
Permission sets for bsky launched sometime early this year (and still have issues github.com/bluesky-social/atproto/issues…, github.com/bluesky-social/atproto/discus…). XRPC scopes were earlier, but as far as user communication goes it's not any better. Requesting one XRPC scope still looks scary for end users.
Blacksky was one of the 1st PDSs to allow open sign ups We are also now the largest PDS deployment that doesn't run any of bsky's code Sorry for the turbulence. It was the one-time price to pay for being able to build features like private accounts or sign-in via phone number w/o waiting on Bluesky
Is there a good write up anywhere on the sort of app design of Bluesky, with the frontend client and the PDS proxying requests. I'm curious about whether other approaches were considered, why this approach was chosen, how a relatively snappy experience was accomplished, anything related to that!
I think I found an issue with the existing Bluesky OAuth permission sets @matthieu.bsky.team @bnewbold.net: github.com/bluesky-social/atproto/issues…. The XRPC endpoints specified in `authViewAll` are inconsistent about aud. Minimal repro here. tangled.org/tylerjfisher.com/repro-bluesk… Might be doing something wrong, lmk!
Bluesky permission sets require inconsistent aud parameter · Issue #4850 · bluesky-social/atproto
github.comAnyone know why Bluesky is so poorly integrated into @ifttt.bsky.social? A bookmark trigger seems pretty obvious. Something for @mu.social?
when proxying requests to feedgens the client will add an x-bsky-topics header to the request with the users selected topics of interest and it expects the PDS to forward that header on to the feedgen this also plays into a larger issue of what exactly service proxying entails being very ambiguous
The frustrating thing about this is that when you "Login with Bluesky", you're not even actually logging in with Bluesky The App. You may be using a Bluesky PBC-hosted PDS, but it has nothing to do with @bsky.app, other than it's the PDS you're assigned when you create an account on their client.
If I may, @palle.eurosky.social didn't vibe-code anything. He simply set up two browser windows side-by-side and accessed the firehose for #WSocial (pds.wsocial.network) and #Eurosky (eurosky.social) via pdsls.dev, having them run simultaneously. I've been doing this too! The difference is shocking