We have to go back #activitypub #c2s
c2s
If I wanted to mess around with ActivityPub c2s clients what's a server I can host that has support for it?
I've been thinking about client-server interactions in the #fediverse. #ActivityPub #C2S isn't widely used, and most clients rely on Mastodon-compatible APIs instead.
What if we created a new standardized API based on GraphQL + Relay for client-server communication, while keeping ActivityPub for server-to-server federation?
The Mastodon-compatible API lacks formal schema definitions for code generation and type checking, which hurts developer productivity. And ActivityPub C2S is honestly too cumbersome to use directly from client apps.
#GraphQL would give us type safety, efficient data fetching (only get what you need), and the ability to evolve the API without breaking clients. #Relay's features for pagination, caching, and optimistic updates seem perfect for social apps.
Would this be valuable to our community? What challenges do you see? How might we handle backward compatibility? And should this be formalized as an FEP?
Curious what others think about this approach.
My fosdem talk is up!
I make a case for more platforms to support the ActivityPub client API, and how we should look beyond microblogging for future growth of the ‘verse
https://fosdem.org/2026/schedule/event/QK7XSV-activitypub-c2s/
ActivityPub client development is coming along!
AP platform developers be warned, I be opening issues in your repo soon.
(digital) doodling a little
I tried to implement the "standard" ActivityPub #C2S API in Mitra.
It's an interesting exercise, but I am not sure if I'll ever enable it by default. Permitting clients to publish arbitrary JSON is equivalent to allowing them to publish unsanitized HTML. This may be acceptable if you're an admin on a single-user instance, but it is a really stupid thing to do when there are multiple users.
Although it might be possible to validate activities using strict JSON schemas, that would require a lot of work. You may as well create your own API that will have none of those issues.
FEP-ae97 API is also tricky to implement, but at least it offers a genuine advantage over regular REST APIs: nomadic identity. Also, its security is more straightforward because portable actors and objects are namespaced by DIDs.
FediCon / FOSSY
Excited for FediCon 26!
I’ll be giving a talk about the ActivityPub API
My talk will explore the challenges of building a general-purpose client using ActivityPub’s Client API.
https://2026.fossy.ca/schedule/presentation/460