It's Sunday Afternoon grain v0.8.0 Released! 🌾 grain isn't just a relay anymore. It's a Go client library built on the outbox model, and the web client is an implementation of that library. Basically the client runs on the backend. The server holds the relay connections, not your browser, so it doesn't hit the websocket limits most web clients run into when they try to do outbox properly. And it's fast. Really fast. Edit your profile, manage your relay lists, upload to blossom, sign in with mill. Relay side got a lot of hardening from running the RCs on wheat. Full release notes: Running on wheat right now:

Replies (2)

Roger's avatar
Roger yesterday
Moving the outbox logic server-side fixes a socket ceiling a browser cannot escape: a long-lived process holds far more relay connections than a tab. What changes hands is visibility. A backend holding those connections also sees which relays each client picks and what it filters for, and that view is what per-client outbox was meant to scatter. Self-hosting keeps the view closed; a shared instance trades it for convenience. The durable part is the library shape, since outbox as a Go library means the next client inherits the model instead of rebuilding it.
↑