#Atproto

Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-24

lol, the #atproto fix was easy. Hard part was figuring out why lex-cli stopped running. Luckily Node.js has a debugger (inspector). Long story short, Node looks at "type" in "package.json" to figure out import module type (CJS or ESM). Bleh. I wanted to avoid ".cjs" files, but that's Node for ya. ๐Ÿคฆ

Why is lex-cli failing? exports don't exist for the node build of lexicon. Why not? Long story short, Node.js assumes that .js files in a project of type "module" are ESM NO MATTER WHAT!
2025-06-24

[code talk] #atproto I now have a snapshot dataset of ~4.8M car files - users that hit the new relay since it was started. I rigged up a node cluster (12 workers) that runs through the car files and dumps the follow graph into 12 different CSVs. Throughput bounces btwn 200-400ps

Kuba Suder โ€ข @mackuba.eu on ๐Ÿฆ‹mackuba@martianbase.net
2025-06-23

Hello Mastodon, we now have a live, production, full-network independent #Bluesky AppView :] bsky.app/profile/futur.blue/po #ATProto

Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-23

Oh boy! It's that time! Time again to fix `@atproto/lex-cli`! #atdev #atproto ๐ŸŽ‰

lex-cli doesn't correctly add '.js' file extension to all paths... some paths yes, but not all
Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-23

This is fun, a browser version of the Lexicon schema validation library `@atproto/lexicon`. A little fat at 68k gzipped because of Graphemer and Zod (not Zod Mini), but it should tree-shake away the things you don't use. #atproto #atdev

console snapshot showing that I generate CommonJS and ES Module versions of the node library, but also a standalone javascript library with everything bundled in
Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-23

Another day, another abandoned package now has ES Module support. #atdev #atproto www.npmjs.com/package/@mik...

@mikekasprzak/key-encoder

Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-23

I got started on a standalone refactor of the #atproto TypeScript codebase to support both CommonJS and ES Modules, plus fixes to `@atproto/common-web` to *actually* run in the browser. That required picking-up the Graphemer project to add ES Module and Browser support. github.com/mikekasprzak...

GitHub - mikekasprzak/grapheme...

2025-06-22

Made a post on lemmy about some misconceptions on bluesky.



RE: https://lemmy.dbzer0.com/post/47335289
#bluesky #atproto #fediverse

Ik heb de Bluesky bridge aangezet voor mijn persoonlijke instance, maar ik zie dat ik nog wat technische aanpassingen moet doen. De foto's ed komen nog niet goed mee. Wel cool dat dit kan. Nog even geduld. #BlueskyBridge #Connecting #Activitypub #ATproto

Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-22

Welp, I can't compete with the "stupid world news" that just dropped, but I've opened a draft PR with fixes to allow the Golang lexgen tool to parse Lexicons with arrays of encodings without erroring. ๐Ÿคท #atdev #atproto github.com/bluesky-soci...

lex and lexgen: Allow encoding...

Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-21

Typescript patches needed to support arrays of encodings, AND to elegantly support more than just `application/json` documents over XRPC (i.e. also any `application/*+json` type, such as `application/ld+json` or `application/activity+json`. #atdev #atproto bsky.app/profile/skyw...

RE: https://bsky.app/profile/did:plc:t6xqfwencuwg4sjm5uhloc7r/post/3ls5lidxj752e

2025-06-21

๐Ÿ’Œ Our latest newsletter has been sent!

mailchi.mp/archive/2025-06-19

Read it to learn about:

- ๐Ÿ•๏ธ #DWebCamp Cascadia happening on August 8โ€“10, in Salt Spring Island (Canada)
- ๐Ÿ‡ฎ๐Ÿ‡น The first meeting of the #DWeb Community in Italy
- ๐Ÿ—„๏ธ #Storachaโ€™s launch of bsky.storage
- Upcoming events and opportunities ๐Ÿ‘€

#decentralization #newsletter #Bluesky #ATProto #community

2025-06-21

and more #atproto apps that hold the same function/use should try do this. it's hard because there's a weird scale of either supporting a ton of different app's lexicons hardcoded into your app (messy and possibly hard for UX!) or just being a small atproto photo sharing app that only... ๐Ÿงต

RE: https://bsky.app/profile/did:plc:4hawmtgzjx3vclfyphbhfn7v/post/3ls4644gxoc2l

Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-21

I've added multiple encodings support to lex-cli and xrpc-server. I also fixed a bug that was stopping Content-Type matching with required arguments to fail (such as JSON LD's "profile"), and added some unit tests. I'll submit this as a general PR in the morning. ๐Ÿ˜ด #atproto #atdev #activitypub #pds

3 passing content-types, one failing
2025-06-20

Still not too active on the waffle platform, but anyway. @apps do you think you could add support for #Wafrn in #Fedilab? That would make the client basically #Bluesky compatible, completely bridging the two worlds, lol. Tagging @gabboman for funsies.


##atproto ##activitypub ##fediverse #Wafrn #Fedilab #Bluesky
Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-20

Welp, it looks like I need to add "multiple encodings" support to lex-cli. #atdev #atproto

Instead of a single input encoding, I've provided manyRight now lex-cli expects a string, not an array
Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-20

curl speaking ActivityPub: "Can I follow?" Bluesky PDS: "no" #atproto #atdev

sample inbox rejection using the putInbox method
Make Kasprzak ๐Ÿฆ–๐Ÿdistraction.engineer@bsky.brid.gy
2025-06-20

Well, the good news is I know the internals of `@atproto/xrpc-server` better than I should. ๐Ÿ˜… #atproto #atdev

RE: https://bsky.app/profile/did:plc:svpym4ujks7qxczscyzq7fuy/post/3ls2qrxbuuc2g

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst