#fedify — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #fedify, aggregated by home.social.
-
I can't explain how excited I am to be able to speak with @[email protected] tomorrow, May 27th at 14:00 US Eastern time (UTC-4).
If you don't know Evan, he is co-editor of ActivityPub, the W3C standard for decentralized social networking used by platforms such as #Mastodon , #Bonfire , #GoToSocial , #Peertube , #Owncast , #Loops , #PixelFed , #Emissary , #Fedify , #FlohMarkt , #Lemmy , #Piefed , #WriteFreely , #Friendica , #GNUSocial , #Threads , #NodeBB , #Funkwhale , #Gancio , #Mobilizon , #BookWyrm , and MANY MANY MANY MORE + whatever YOU create next!
I've been speaking with folks and they've given him a very special nickname. You'll have to tune in tomorrow of catch the #VOD to catch it.
#livestream stream.firesidefedi.live
#vodcast tubefree.org/@firesidefedi
Or follow everything directly with @[email protected] and @[email protected]
And follow @[email protected] for listings of future episodes!
-
I can't explain how excited I am to be able to speak with @[email protected] tomorrow, May 27th at 14:00 US Eastern time (UTC-4).
If you don't know Evan, he is co-editor of ActivityPub, the W3C standard for decentralized social networking used by platforms such as #Mastodon , #Bonfire , #GoToSocial , #Peertube , #Owncast , #Loops , #PixelFed , #Emissary , #Fedify , #FlohMarkt , #Lemmy , #Piefed , #WriteFreely , #Friendica , #GNUSocial , #Threads , #NodeBB , #Funkwhale , #Gancio , #Mobilizon , #BookWyrm , and MANY MANY MANY MORE + whatever YOU create next!
I've been speaking with folks and they've given him a very special nickname. You'll have to tune in tomorrow of catch the #VOD to catch it.
#livestream stream.firesidefedi.live
#vodcast tubefree.org/@firesidefedi
Or follow everything directly with @[email protected] and @[email protected]
And follow @[email protected] for listings of future episodes!
-
I can't explain how excited I am to be able to speak with @[email protected] tomorrow, May 27th at 14:00 US Eastern time (UTC-4).
If you don't know Evan, he is co-editor of ActivityPub, the W3C standard for decentralized social networking used by platforms such as #Mastodon , #Bonfire , #GoToSocial , #Peertube , #Owncast , #Loops , #PixelFed , #Emissary , #Fedify , #FlohMarkt , #Lemmy , #Piefed , #WriteFreely , #Friendica , #GNUSocial , #Threads , #NodeBB , #Funkwhale , #Gancio , #Mobilizon , #BookWyrm , and MANY MANY MANY MORE + whatever YOU create next!
I've been speaking with folks and they've given him a very special nickname. You'll have to tune in tomorrow of catch the #VOD to catch it.
#livestream stream.firesidefedi.live
#vodcast tubefree.org/@firesidefedi
Or follow everything directly with @[email protected] and @[email protected]
And follow @[email protected] for listings of future episodes!
-
I can't explain how excited I am to be able to speak with @[email protected] tomorrow, May 27th at 14:00 US Eastern time (UTC-4).
If you don't know Evan, he is co-editor of ActivityPub, the W3C standard for decentralized social networking used by platforms such as #Mastodon , #Bonfire , #GoToSocial , #Peertube , #Owncast , #Loops , #PixelFed , #Emissary , #Fedify , #FlohMarkt , #Lemmy , #Piefed , #WriteFreely , #Friendica , #GNUSocial , #Threads , #NodeBB , #Funkwhale , #Gancio , #Mobilizon , #BookWyrm , and MANY MANY MANY MORE + whatever YOU create next!
I've been speaking with folks and they've given him a very special nickname. You'll have to tune in tomorrow of catch the #VOD to catch it.
#livestream stream.firesidefedi.live
#vodcast tubefree.org/@firesidefedi
Or follow everything directly with @[email protected] and @[email protected]
And follow @[email protected] for listings of future episodes!
-
I can't explain how excited I am to be able to speak with @[email protected] tomorrow, May 27th at 14:00 US Eastern time (UTC-4).
If you don't know Evan, he is co-editor of ActivityPub, the W3C standard for decentralized social networking used by platforms such as #Mastodon , #Bonfire , #GoToSocial , #Peertube , #Owncast , #Loops , #PixelFed , #Emissary , #Fedify , #FlohMarkt , #Lemmy , #Piefed , #WriteFreely , #Friendica , #GNUSocial , #Threads , #NodeBB , #Funkwhale , #Gancio , #Mobilizon , #BookWyrm , and MANY MANY MANY MORE + whatever YOU create next!
I've been speaking with folks and they've given him a very special nickname. You'll have to tune in tomorrow of catch the #VOD to catch it.
#livestream stream.firesidefedi.live
#vodcast tubefree.org/@firesidefedi
Or follow everything directly with @[email protected] and @[email protected]
And follow @[email protected] for listings of future episodes!
-
The Programmer’s Fulcrum: 15 May, 2026This article originally appeared on The Fulcrum.
Welcome to this week’s The Programmer’s Fulcrum.
It’s your weekly curation of the essential news in the Open Media Network and Fediverse development communities with a focus on devastating big tech via Techno Anarchism.
As usual, we aim to provide actionable content you can use to destroy Techno Feudalism each week. It has the additional […]
https://newsletter.mobileatom.net/the-programmers-fulcrum-15-may-2026/ #ActivityPub #AI #ATProto #Beehiv #Buttondown #CastLab #Codeberg #CSS #Drupal #Elefeed #Emacs #Ente #FDroid #Faircamp #Fcast #Fedify #FediLab #FediProfile #fediverse #ForgeCMS #Forgejo #freebsd #Ghost #git #GitLab #Holos #HTML #HTTP #IndieWeb #javascript #LibreOffice #Librewolf #Linux #Mastodon #Matrix #MicroBlog #Movim #OMN #pckt #Pica #PostmarketOS #PureBlog #RSS #Silex #Snac #Substack #WebComponents #Webrings #WordPress #xPrivo #xWiki -
The Programmer’s Fulcrum: 15 May, 2026This article originally appeared on The Fulcrum.
Welcome to this week’s The Programmer’s Fulcrum.
It’s your weekly curation of the essential news in the Open Media Network and Fediverse development communities with a focus on devastating big tech via Techno Anarchism.
As usual, we aim to provide actionable content you can use to destroy Techno Feudalism each week. It has the additional […]
https://newsletter.mobileatom.net/the-programmers-fulcrum-15-may-2026/ #ActivityPub #AI #ATProto #Beehiv #Buttondown #CastLab #Codeberg #CSS #Drupal #Elefeed #Emacs #Ente #FDroid #Faircamp #Fcast #Fedify #FediLab #FediProfile #fediverse #ForgeCMS #Forgejo #freebsd #Ghost #git #GitLab #Holos #HTML #HTTP #IndieWeb #javascript #LibreOffice #Librewolf #Linux #Mastodon #Matrix #MicroBlog #Movim #OMN #pckt #Pica #PostmarketOS #PureBlog #RSS #Silex #Snac #Substack #WebComponents #Webrings #WordPress #xPrivo #xWiki -
The Programmer’s Fulcrum: 15 May, 2026This article originally appeared on The Fulcrum.
Welcome to this week’s The Programmer’s Fulcrum.
It’s your weekly curation of the essential news in the Open Media Network and Fediverse development communities with a focus on devastating big tech via Techno Anarchism.
As usual, we aim to provide actionable content you can use to destroy Techno Feudalism each week. It has the additional […]
https://newsletter.mobileatom.net/the-programmers-fulcrum-15-may-2026/ #ActivityPub #AI #ATProto #Beehiv #Buttondown #CastLab #Codeberg #CSS #Drupal #Elefeed #Emacs #Ente #FDroid #Faircamp #Fcast #Fedify #FediLab #FediProfile #fediverse #ForgeCMS #Forgejo #freebsd #Ghost #git #GitLab #Holos #HTML #HTTP #IndieWeb #javascript #LibreOffice #Librewolf #Linux #Mastodon #Matrix #MicroBlog #Movim #OMN #pckt #Pica #PostmarketOS #PureBlog #RSS #Silex #Snac #Substack #WebComponents #Webrings #WordPress #xPrivo #xWiki -
The Programmer’s Fulcrum: 15 May, 2026This article originally appeared on The Fulcrum.
Welcome to this week’s The Programmer’s Fulcrum.
It’s your weekly curation of the essential news in the Open Media Network and Fediverse development communities with a focus on devastating big tech via Techno Anarchism.
As usual, we aim to provide actionable content you can use to destroy Techno Feudalism each week. It has the additional […]
https://newsletter.mobileatom.net/the-programmers-fulcrum-15-may-2026/ #ActivityPub #AI #ATProto #Beehiv #Buttondown #CastLab #Codeberg #CSS #Drupal #Elefeed #Emacs #Ente #FDroid #Faircamp #Fcast #Fedify #FediLab #FediProfile #fediverse #ForgeCMS #Forgejo #freebsd #Ghost #git #GitLab #Holos #HTML #HTTP #IndieWeb #javascript #LibreOffice #Librewolf #Linux #Mastodon #Matrix #MicroBlog #Movim #OMN #pckt #Pica #PostmarketOS #PureBlog #RSS #Silex #Snac #Substack #WebComponents #Webrings #WordPress #xPrivo #xWiki -
The Programmer’s Fulcrum: 15 May, 2026This article originally appeared on The Fulcrum.
Welcome to this week’s The Programmer’s Fulcrum.
It’s your weekly curation of the essential news in the Open Media Network and Fediverse development communities with a focus on devastating big tech via Techno Anarchism.
As usual, we aim to provide actionable content you can use to destroy Techno Feudalism each week. It has the additional […]
https://newsletter.mobileatom.net/the-programmers-fulcrum-15-may-2026/ #ActivityPub #AI #ATProto #Beehiv #Buttondown #CastLab #Codeberg #CSS #Drupal #Elefeed #Emacs #Ente #FDroid #Faircamp #Fcast #Fedify #FediLab #FediProfile #fediverse #ForgeCMS #Forgejo #freebsd #Ghost #git #GitLab #Holos #HTML #HTTP #IndieWeb #javascript #LibreOffice #Librewolf #Linux #Mastodon #Matrix #MicroBlog #Movim #OMN #pckt #Pica #PostmarketOS #PureBlog #RSS #Silex #Snac #Substack #WebComponents #Webrings #WordPress #xPrivo #xWiki -
This is the CUTEST kawaii Ai-chan (藍(あい)"Ai" is a normal female Japanese name meaning "Indigo" both the color and the plant; "Ai"-chan, the mascot of Misskey, has nothing to do with Large Language Models) I have ever seen from a technical literature titled like "Practical Fedify: An Introduction to ActivityPub Microblog Development"! I even see other mascots in the Fediverse too, like Don the Mastodon and that Blue Dinosaur mascot of Fedify (I don't know its name).
Huge thanks to @[email protected] https://hollo.social/@hongminhee for their work on authoring this amazing book and developing Fedify itself! And if you can read Japanese and are interested in Fedify and ActivityPub Development, then definitely check this one out! You can pre-order the book on Amazon Japan → https://amzn.asia/d/0hQSKBmI #Fedify (The book will be printed on May 22) -
내 웹사이트를 연합우주에 붙여 보았습니다
ActivityPub와 Fedify로 개인 웹사이트를 Fediverse에 연결하고 댓글과 반응을 주고받게 만든 기록입니다.https://changkyun.kim/blog/2026-05/08-activitypub-fediverse-site
-
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.uploadMediaendpoint, separate from the outbox.The sketched API mirrors the outbox listeners shipped in Fedify 2.2:
setMediaUploader(path, callback)paired with.authorize(). Return avocab.Objectfor201 Created, or aURLfor202 Accepted.This is still an early design draft. Feedback on the shape, semantics, and edge cases is very welcome:
-
Unless something comes up, #Fedify 2.2.0 will be released today.
-
If you'd like to preview the #tutorial I'm writing on building a small federated image sharing service, similar to @pixelfed, with @fedify and @nuxt, here it is:
https://pr-731-0.fedify.pages.dev/tutorial/content-sharing
If you'd like to give feedback after reading it, please leave a comment on the following PR:
-
If you'd like to preview the #tutorial I'm writing on building a small federated image sharing service, similar to @pixelfed, with @fedify and @nuxt, here it is:
https://pr-731-0.fedify.pages.dev/tutorial/content-sharing
If you'd like to give feedback after reading it, please leave a comment on the following PR:
-
Honestly, I don't really care what strategy other #ActivityPub implementations follow to comply with the spec. (I solved it in #Fedify by just using a proper JSON-LD processor.) It's just a bit annoying that I always send valid JSON-LD documents, but whenever I encounter an interoperability bug where the other side can't process them, I'm the one who has to send them a patch to fix it. 😩
-
If you'd like to preview the #tutorial I'm writing on building a small #threadiverse software with #Fedify, here it is:
https://pr-710.fedify.pages.dev/tutorial/threadiverse
If you'd like to give feedback after reading it, please leave a comment on the following PR:
-
Writing a #Fedify tutorial on creating #threadiverse software…
-
Maybe I should add @fedify to https://pages.casa/ ??
But what this couple would improve, compare to a #gotosocial instance ? -
We're working on a new #tutorial for #Fedify: Building a Federated Blog with Astro!
It walks you through creating a hybrid blog—static Markdown posts powered by #Astro content collections, with #ActivityPub federation layered on top. By the end, your blog will be followable from Mastodon, send
Create/Update/Deleteactivities when you publish or edit posts, and display #fediverse replies as comments.Preview the draft here: https://d180af62.fedify.pages.dev/tutorial/astro-blog.
We'd love your feedback—especially if you spot anything incorrect, unclear, or missing. Please leave comments on the GitHub PR #695 or issue #691.
-
Naru, the Korean version of #Neocities, reportedly added an #ActivityPub implementation in just an hour using #Fedify. If you also want to implement ActivityPub quickly, give Fedify a try!
https://hackers.pub/@jihyeok/019da3d9-45b8-7629-96a8-b26bd62867c2
-
I need to double check my own tags.pub integration based on how it integrate with Wordpress, I think the relay part is what I’m missing
🔖 https://activitypub.blog/2026/04/02/discover-more-of-the-fediverse-with-tags-pub/🔗 https://rmendes.net/bookmarks/2026/04/02/discover-more-of-the-fediverse
-
Building NewsDiff: Tracking How News Changes After Publication
NewsDiff — a self-hosted news article diff tracker inspired by three dead projects (newsdiffs, diffengine, NYTdiff). -
Building NewsDiff: Tracking How News Changes After Publication
NewsDiff — a self-hosted news article diff tracker inspired by three dead projects (newsdiffs, diffengine, NYTdiff). -
Building NewsDiff: Tracking How News Changes After Publication
NewsDiff — a self-hosted news article diff tracker inspired by three dead projects (newsdiffs, diffengine, NYTdiff). -
Building NewsDiff: Tracking How News Changes After Publication
NewsDiff — a self-hosted news article diff tracker inspired by three dead projects (newsdiffs, diffengine, NYTdiff). -
Building NewsDiff: Tracking How News Changes After Publication
NewsDiff — a self-hosted news article diff tracker inspired by three dead projects (newsdiffs, diffengine, NYTdiff). -
Started laying out a rough plan for implementing FEP-ef61: Portable Objects in #Fedify—server-independent #ActivityPub identities backed by #DIDs, multi-server replication, and client-side signing. It's going to be a long road (13 tasks across 5 phases, with a few open questions that need answering before we even begin), but I think it's worth doing right.
https://github.com/fedify-dev/fedify/issues/288#issuecomment-3971459585
-
I wish #git, #forges could go #fediverse.
It would help so much. I would then not have to create bundles of accounts just to raise and issue or a pr. That would also help me explore and get a lot of things in one place, theoretically speaking.
#wishlist #freedomtech #fedify -
If you see this post, please interact with it with a reply or like, I will then be able to retrieve your interaction to my blog/AP fedify instance and then I will test replying to your reply to demo threaded reply backfilled to my site
You can also comment using IndieAuth/indieweb if your site support it ! -
I wish I could use IndiePass to connect to my Fedify/Indiekit ActivityPub server so to have a unified publishing/reading experience for both Indieweb and ActivityPub
right now I have this but only on the browser
-
So, an interesting issue came up in the #Fedify repo that I've been thinking about: #629.
You know how every #fediverse server uses
schema:PropertyValuein actorattachmentfor profile metadata fields (like “Website”, “GitHub”, etc.)? Turns out, strict #AS2 validators like browser.pub reject it, because the AS2 spec saysattachmentshould only containObjectorLink—andPropertyValueis a schema.org type, not an Activity Streams 2.0 type.The thing is, we can't just drop the type like we did with
Endpoints(#576), because Mastodon and others rely on seeing"type": "PropertyValue"to render profile fields. But at the same time, it's technically not spec-compliant.I'm leaning towards writing a #FEP to formalize this existing practice rather than trying to invent a new type (like
toot:PropertyValueextendingObject), which would be a nightmare to migrate across the whole fediverse.What do you all think? Has anyone else run into this? Would love to hear thoughts from implementers and spec folks.
#fedidev #ActivityPub #ActivityStreams #ActivityStreams2 #AS2 #PropertyValue
-
Just had to add a workaround to #Fedify for
http://joinmastodon.org/ns, a JSON-LD context URL that has never actually served a JSON-LD document. Mastodon has always inlined the term definitions, but some implementations put it as a bare URL in their@context, so Fedify's JSON-LD processor tries to fetch it and gets a404 Not Found. Now Fedify ships a bundled copy of a context that never existed in the first place. -
I have deeply mixed feelings about #ActivityPub's adoption of JSON-LD, as someone who's spent way too long dealing with it while building #Fedify.
Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the
@contextright. Naturally, mistakes creep in.But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.
Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.
To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.
Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.
-
素晴らしい :clapping:
新しい分散/連合型SNS「Pulsate」を開発している - /dev/sdR2 https://laminne.hatenablog.jp/entry/2025/01/17/190000
-
CW: 关于联邦软件——hollo的消极吐槽(梦话)——很一般、很普通
hollo......如果用过botkit,那差不多就相当于用过hollo了 (
虽然也是和 #gotosocial 一样的“单”用户实例;
但是gotosocial,只是推荐单用户;
而hollo,应该是一个管理员,可以创建多个账户,比如这个@[email protected] ,还可以创建 @[email protected] ;
创建多账户上这一点要比botkit更好?botkit是一域名一机器人的,就像 @mybot 和 @drawbot
Gotosocial还是要比Hollo完善许多,Gotosocial在功能上不比mastodon差多少,hollo就算了
总的来说吧,单用户不推荐自托管fedify-dev/hollo,如果想搭建机器人,可以用fedify-dev/botkit介绍 #Hollo。Hollo 是一款支持 #ActivityPub 的单用户微型博客软件。虽然它只针对单一用户,但它也支持为不同主题创建和运行多个账户。
它是无头的,意味着你可以使用现有的 #Mastodon 客户端应用,配合其兼容 Mastodon 的 API。它与猛犸象在特征上几乎相当。Mastodon 的两个大区别是你可以在帖子内容中使用 #Markdown,并且可以引用其他帖子。
哦,Hollo 是用 #Bun 和 #Fedify 构建的。
https://github.com/dahlia/hollo
#fedidev这里也确实提到了“虽然它只针对单一用户,但它也支持为不同主题创建和运行多个账户”
hollo最近发了一个投票:Hollo 一直都是无头的——没有内置前端,只有一个兼容 Mastodon 的 API。你自己选客户。这正是重点。
但我们一直在想:如果 Hollo 发布自己的网页前端会怎样?Mastodon 兼容的 API 会保留,所以你当前的客户端设置不会改变。这只是多了一个选择。
你会用吗?你要我怎么夸你呢?占用1.4GB内存......还是“创建fediverse账户变得非常简单低成本吗?”
Links:
https://hollo.social/@hollo
https://github.com/fedify-dev/botkit
https://github.com/fedify-dev/hollo
https://fedihollo.org/@adminRE: https://fedihollo.org/@admin/019d3008-b3ec-7869-9a15-71eb70de9ffd
-
Hello Hollo! Voice From fedihollo.org ! :linux: :fediverse:
-
This is a test (testing mastodon api layer on top of my AP implementation based on Fedify)
-
What just shipped in 3.10.0:
- Fedify 2.1.0 (RFC 9421 signatures, onUnverifiedActivity, GoToSocial fix)
- Removed as:Endpoints workaround (6 fewer lines of patching)
- FEP-5feb: indexable + discoverable on actor
- FEP-f1d5: Rich NodeInfo (visible in the curl output above)
- FEP-4f05: Tombstone responses for deleted posts
- FEP-3b86: Activity Intent links in WebFinger for remote interactions
- FEP-8fcf: Outbound collection sync (was already there, now documented)
- Unverified Delete handler for orphaned actors
-
I have added the ability to my #activitypub deployment to subscribe to https://tags.pub federated hashtags but even tho I’m subscribed to a bunch of tags I’m not getting any content.
🤔 something is wrong and an afternoon debugging this proved a few issues but now I’m not sure what else to investigate to make this work…
Currently my only working Hashtag explorer from the Fediverse is built on fetching public server API timelines and kind of grep Hashtags from a selection of public servers, this allows me to build a multi instance hashtag timeline, it’s nice but I really wanted to get tags.pub working.
-
My ActivityPub “reader” aka the view where I can check my home timeline and also explore public instance timeline is ugly but it works and it has this feeling that I built it, so if I’m not happy with it, I’m the only responsible to improve it.
Still… its an odd feeling that this is my fediverse home now and there is no coming back !
-
I've been thinking about adding federation health monitoring to #Fedify—not as a separate data store or custom API, but by extending the existing #OpenTelemetry integration. The idea is to expose delivery outcomes, signature verification failures, and per-remote-host error rates as OpenTelemetry metrics alongside the spans Fedify already emits. If you already have a Prometheus or Grafana setup, you'd get federation observability basically for free. Circuit breaker behavior (temporarily skipping a remote server that's been consistently unreachable) could surface as OpenTelemetry events, keeping everything in the same trace context rather than scattered across separate logs.
Does this sound useful to you? I'm curious whether people building on Fedify—or running federated servers in general—would actually reach for this, and what kinds of things you'd most want to observe. Happy to hear any thoughts.
-
This might be a dumb question, but if anyone here has used #botkit by #fedify : is there any way to host more than one bot without using different subdomains?
I'd like to self-host more than just my Ralsei bot and, as far as I know, an easy way to do it would be to use different subdomains for each one. However, right now I only have access to neofox.dedyn.io and no way to register/use other subdomains through my DDNS (and I'd like to keep using that for the time being)
From what I understood through the docs there might be a chance to achieve what I'm thinking about by using a custom Bot.fetch() method instead of passing the built-in one to Deno/Bun, but I'm not too sure, and that's why I'm asking here first :neobot_think:
-
When I first started working with #ActivityPub, before #Fedify existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:
print "HTTP/1.1 200 OK" print "Content-Type: text/html" print print "Hello, world!"Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses
application/x-www-form-urlencodedquery strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.ActivityPub development still feels like they are your problem. What do you do when the
https://www.w3.org/ns/activitystreams#actorproperty comes in as a string instead of an array? What about whenhttps://www.w3.org/ns/activitystreams#objectis an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.
What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.
-
What if I could deploy my own Bluesky PDS and selfhost my Bluesky data in the same way I turned my Indiekit powered blog into an ActivityPub instance overnight with Fedify ?
-
🎉 Huge shoutout to two amazing contributors from Korea's #OSSCA program who've made excellent contributions to #Fedify!
👏 @gaebalgom tackled a tricky terminal compatibility issue in PR #282, fixing the
fedify nodecommand's favicon display on terminal emulators without truecolor support (#168). His solution elegantly detects terminal capabilities and falls back to 256-color mode when needed—ensuring a great experience across different environments.🌟 @joonnot enhanced Fedify's #WebFinger functionality in PR #281 by adding a configurable
maxRedirectionoption to thelookupWebFinger()function (#248). He transformed a hardcoded limitation into a flexible, user-customizable parameter while maintaining perfect backward compatibility.Both delivered thoughtful, well-implemented solutions that showcase the quality of contributions coming from the OSSCA program. Welcome to the Fedify community! :fedify:
-
🎉 Big thanks to @2chanhaeng for his first contribution to #Fedify! He implemented the new
fedify webfingercommand in PR #278, which allows isolated #WebFinger lookups for testing configurations. This addresses the need for developers to test WebFinger functionality without performing comprehensive object retrieval.The contribution includes:
- A new
fedify webfinger <handle>command that accepts@user@domainformat handles or URIs - Clean JSON output of WebFinger JRD results
- Proper error handling for invalid handles and lookup failures
- Complete #CLI integration with help text and usage examples
This was originally filed as issue #260 and marked as a good first issue—perfect for newcomers to learn the codebase structure while contributing meaningful functionality. The PR has been merged and will be included in the upcoming Fedify 1.8.0 release.
We appreciate all first-time contributors who help make Fedify better for the entire #fediverse community. Welcome aboard, ChanHaeng!
- A new