Post

implementing atproto oauth got me dizzzyyy 😵‍💫 because gleam supports two targets with different concurrency methods the preferred approach is "sans-io" where the api doesnt perform async operations directly but instead exposes functions to construct requests, decode responses, etc...

1 repost28 likes

this isn't the worst but for a multi-step flow like oauth its a little trickty to get something nice. then throw in the fact that all crypto in js is async and we're really fighting to get an api that feels nice to use 😭

I've been relearning gleam and trying to learn atproto (beyond just the high-level concepts) by trying my hand at writing a PDS and its so much! and the specs can be so vague! (I'm not very far along, I've got like, a mostly working CAR parser)