home.social

#c2s — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #c2s, aggregated by home.social.

  1. Drafting a proposal to add API support in #Fedify for the ActivityPub Media Upload extension, the SocialCG-incubated #C2S companion that lets clients upload media via a dedicated endpoints.uploadMedia endpoint, separate from the outbox.

    The sketched API mirrors the outbox listeners shipped in Fedify 2.2: setMediaUploader(path, callback) paired with .authorize(). Return a vocab.Object for 201 Created, or a URL for 202 Accepted.

    This is still an early design draft. Feedback on the shape, semantics, and edge cases is very welcome:

    https://github.com/fedify-dev/fedify/issues/754

    #ActivityPub #Fedify #fediverse #fedidev

  2. 8.1.0 — By the Numbers

    ActivityPub for WordPress 8.1.0 is here. A new Fediverse statistics feature leads the release: a dashboard widget, monthly and annual email reports, and a shareable stats block with sharepic. Alongside it, an experimental ActivityPub API that lets third-party Fediverse apps post to your blog, Starter Pack imports in the Pixelfed and Mastodon formats, and richer EXIF metadata for photographers via the Vernissage namespace.

    activitypub.blog/2026/04/22/8-

  3. 8.1.0 — By the Numbers

    ActivityPub for WordPress 8.1.0 is here. A new Fediverse statistics feature leads the release: a dashboard widget, monthly and annual email reports, and a shareable stats block with sharepic. Alongside it, an experimental ActivityPub API that lets third-party Fediverse apps post to your blog, Starter Pack imports in the Pixelfed and Mastodon formats, and richer EXIF metadata for photographers via the Vernissage namespace.

    activitypub.blog/2026/04/22/8-

  4. 8.1.0 — By the Numbers

    ActivityPub for WordPress 8.1.0 is here. A new Fediverse statistics feature leads the release: a dashboard widget, monthly and annual email reports, and a shareable stats block with sharepic. Alongside it, an experimental ActivityPub API that lets third-party Fediverse apps post to your blog, Starter Pack imports in the Pixelfed and Mastodon formats, and richer EXIF metadata for photographers via the Vernissage namespace.

    activitypub.blog/2026/04/22/8-

  5. 8.1.0 — By the Numbers

    ActivityPub for WordPress 8.1.0 is here. A new Fediverse statistics feature leads the release: a dashboard widget, monthly and annual email reports, and a shareable stats block with sharepic. Alongside it, an experimental ActivityPub API that lets third-party Fediverse apps post to your blog, Starter Pack imports in the Pixelfed and Mastodon formats, and richer EXIF metadata for photographers via the Vernissage namespace.

    activitypub.blog/2026/04/22/8-

  6. 8.1.0 — By the Numbers

    ActivityPub for WordPress 8.1.0 is here. A new Fediverse statistics feature leads the release: a dashboard widget, monthly and annual email reports, and a shareable stats block with sharepic. Alongside it, an experimental ActivityPub API that lets third-party Fediverse apps post to your blog, Starter Pack imports in the Pixelfed and Mastodon formats, and richer EXIF metadata for photographers via the Vernissage namespace.

    activitypub.blog/2026/04/22/8-

  7. @steve @hongminhee

    I mentioned this thread in the #ActivityPub #C2S tracking issue. I think there's a fundamental risk that C2S is going sideways because of misconceptions between devs on where things are / should be headed.

    codeberg.org/fediverse/delight

  8. Is there a #python module for #activitypub #c2s I can use for a silly idea? My search engine foo seems to suggest rather No, but maybe you know one 😉
  9. Today @kopper shared a post on the fediverse titled how to not regret c2s, and I found it genuinely interesting to read, even if I'm not sure its proposed architecture actually solves what it sets out to solve.

    The author's frustration with naïve #C2S implementations is well-founded. Slapping an #ActivityPub facade onto an existing Mastodon-like server and calling it C2S doesn't buy you much—you end up with the rigidity of a bespoke API without any of the interoperability C2S is supposed to offer. The “JSON-LD flavored Mastodon API” framing is apt.

    The proposed solution is to split responsibility more aggressively: the C2S server should be nearly stateless and dumb, storing ActivityPub objects without interpreting them, while a separate “client” layer handles indexing, timelines, moderation, and exposes its own API to the frontend running on the user's device. It's a clean separation of concerns on paper.

    But here's what bothers me. When you map this architecture onto familiar terms, it looks roughly like this:

    • C2S server ≈ a database (PostgreSQL, say)
    • “Client” ≈ an application server (Mastodon, Misskey)
    • “Frontend” ≈ the actual client app on your phone

    That's not a new architecture. That's just the current architecture with the labels shifted. The interesting question is which interface gets standardized, and the author's answer is the one between the C2S server and the “client” layer—the bottom boundary.

    The problem is that what people actually want from C2S is to connect any frontend to any server. The portability they're after lives at the top boundary, between the frontend and whatever is behind it. But the author explicitly argues against standardizing that layer: “we don't really need a standardized api,” they write, leaving each client free to expose whatever API it likes.

    Which means frontends remain locked to specific clients, just as Mastodon apps are locked to the Mastodon API today. The interoperability promise of C2S—log in to any server with any app—isn't actually delivered. It's been pushed one layer down, out of reach of the end user.

    There's real value in the post's thinking about data hosting vs. interpretation, and about the security implications of servers that understand too much. But as an answer to the question C2S is supposed to answer, I'm not convinced.

    #fedidev #fediverse

  10. Recently, there was a discussion about generic #ActivityPub servers. Several people claimed that they were working on one, but it turned out that their "generic" servers only support activities defined in the ActivityPub specification. Such a server shouldn't be called generic. It is not difficult to build, neither it is an interesting concept because competing protocols (e.g. Nostr) already offer much more.

    I've been writing a #FEP that describes how to build a real generic server. It is not finished yet, but I feel like now is a good time to publish it:

    FEP-fc48: Generic ActivityPub server

    This kind of server:

    - Can process any object type, and can process non-standard activities like EmojiReact.
    - Compatible with FEP-ae97 clients.
    - Does not require JSON-LD.

    I attempted to implement it when I was researching security properties of FEP-ae97 API: https://codeberg.org/silverpill/fep-ae97-server. Back then I didn't know what to do with side effects, but now I think that we can simply force clients to specify them.

    Special thanks to @mariusor and @trwnh for their input.

    #C2S

  11. The intro to HDA (Hypermedia-Driven Applications) I've been raving about today seems relevant to the ongoing discussions about C2S APIs for the fediverse, especially the proliferation of the monolithic server+web-app antipattern. I've started a SH topic on it;

    socialhub.activitypub.rocks/t/

    But SH seems like a ghost town ATM. Tried to post on ActivityPub.space but their interface hates my mobile browser (Fennec from F-Droid) 🤷‍♂️

    #FediDevs #ActivityPub #C2S

  12. ActivityPub client developer experience is something like this.

    Building a coherent feed with stateful objects requires comparing an Activity from the inbox, with what’s in your outbox.

    #ActivityPub #c2s #DevEx

  13. Have I already mentioned that the “Show thread” request is slowly driving me crazy?

    #c2s #activityPub #fep7888

  14. I opened a issue in the swicg ActivityPub API repo about a gap i keep running into: how does a C2S client access server-local metadata about foreign objects?

    Thread collections, read status, notifications — your server knows things about remote objects that the client needs, but AP has no vocabulary for it.

    github.com/swicg/activitypub-a

    #ActivityPub #Fediverse #C2S

    @evanprodromou

  15. @django @evan @liaizon

    Hey, this is great. It is so nice to see the uptick of interest in the #C2S part of #ActivityPub. Very uplifting and gives me hope for the future of #fediverse.

    I really liked your #FOSDEM presentation, and thank you for mentioning my humble list. They are just notes atm, but I will try to keep them up-to-date. I just made a bunch of updates..

    codeberg.org/fediverse/delight

    Would love to hear more on what are the particular plans and goals for your project in the near future?

  16. @kopper @nelson

    This is marvelous. I wasn't aware of your project, but now I am and added it to the #ActivityPub #C2S tracking list.

    I've also lined up #Outpost for inclusion on the delightful #fediverse curated lists at delightful.coding.social

  17. Bring it on!

    #ActivityPub Social API is getting a lot of attention and traction on the implementation side! 🎉

    Join the fun, in this area where there's a fine future for the #fediverse social networking.

    Some new updates to the list of client-to-server #C2S parts of the AP open standard:

    codeberg.org/fediverse/delight

    Added the projects of @kopper and a new C2S article by @django

  18. thanks to the awesome support of @steve and @mariusor the #WordPress #ActivityPub #C2S API support is quite solid now.

    It is possible to publish a new post, comment to posts and other comments and to follow others.

    github.com/Automattic/wordpres

  19. @i47i @HolosSocial @apps

    PS. I track a list of #ActivityPub #C2S implementations and didn't add #Holos till now. If I should add it, pleas let me know, or comment directly to the issue.

    codeberg.org/fediverse/delight

  20. Roadmap 2026 — Charting the stars of the open social web

    The 2026 roadmap focuses on making WordPress easier to discover and interact with across the Fediverse. Key areas include better search and recommendations through FASP support, Starter Packs to help users find communities, a more interactive Reader with reactions and replies, direct messages, and client-to-server APIs. Alongside these, we’ll continue improving interoperability, long-form publishing, and overall federation features.

    activitypub.blog/2026/02/11/ro

  21. I started adding #C2S #proxy_url support for #GoActivityPub services and it looks like it's easier than I imagined it initially.

    On the server side, implementing the proxyURL handler doesn't need any new additions as it shares 90% code with other handlers that return #ActivityPub objects.

    On the client side, I'm creating a new http.RoundTripper that can use the proxyURL transparently for the caller.

    As a developer in your client code you only do a regular request for a remote URL, and the round-tripper handles the proxying part transparently if it has all the available bits: a server that supports proxyURL and a valid OAuth2 session towards that server.

  22. 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

    fosdem.org/2026/schedule/event

    #c2s #fosdem #fediverse #ActivityPub

  23. @mapache Nice, I'm adding this to my growing list of features possible for servers supporting the Client to Server API 😉

    #c2s #socialweb #fosdem

  24. deep dive into the oauth RFCs this morning ☕

    #c2s

  25. What does an ActivityPub client look like when the server does NOT support the `proxyUrl` endpoint?

    Imagine having to visually parse a URL to guess who a post is from...

    #ActivityPub #c2s

  26. @steffen @feb

    /
    @crossgolf_rebel @fasnix @wuffel
    Was ist mit Euch?

    Es kann ganz allgemein im w3 "Big Blue Button" starten [Nutzende, Entwickelnde, Fördernde egal] und bei Interesse könnten wir dann taskforces bilden.
    #fediverse #activitypub #interop #c2s
    Würde dann 1 Aufruf starten …
    policy wie immer, be excellent, no nazis und so :)

  27. Multiple attachments in #AndStatus implemented in v.52.00, currently in Beta github.com/andstatus/andstatus
    Showing multiple attachments in incoming notes should work for all Social networks.
    But sending, for now, was implemented only for #Mastodon (tested to work)
    and for #ActivitiPub #C2S (needs fixes for image posting yet... see git.pleroma.social/pleroma/ple )
    @lanodan @kaniini