
Dyptre
@geoff_eg@mastodon.social
Just learnt of Bounce. May be a good tool to be aware of for those using #bluesky or the #ATProtocol
https://blog.anew.social/bounce-a-cross-protocol-migration-tool/
@geoff_eg@mastodon.social
Just learnt of Bounce. May be a good tool to be aware of for those using #bluesky or the #ATProtocol
https://blog.anew.social/bounce-a-cross-protocol-migration-tool/
@bonfire@indieweb.social
🔥 Bonfire Social 1.0 release candidate has landed!
Curious about what the fediverse could look like with real community control?
Try out features like custom feeds, nested discussions, shared profiles, circles, and boundary-based permissions — then let us know what breaks or needs improvement.
More details and video demos: https://bonfirenetworks.org/posts/bonfire_social_rc/
#BonfireSocial #FediForum #FOSS #ActivityPub #DigitalAutonomy
@geoff_eg@mastodon.social
Just learnt of Bounce. May be a good tool to be aware of for those using #bluesky or the #ATProtocol
https://blog.anew.social/bounce-a-cross-protocol-migration-tool/
@bonfire@indieweb.social
🔥 Bonfire Social 1.0 release candidate has landed!
Curious about what the fediverse could look like with real community control?
Try out features like custom feeds, nested discussions, shared profiles, circles, and boundary-based permissions — then let us know what breaks or needs improvement.
More details and video demos: https://bonfirenetworks.org/posts/bonfire_social_rc/
#BonfireSocial #FediForum #FOSS #ActivityPub #DigitalAutonomy
@bonfire@indieweb.social
🔥 Bonfire Social 1.0 release candidate has landed!
Curious about what the fediverse could look like with real community control?
Try out features like custom feeds, nested discussions, shared profiles, circles, and boundary-based permissions — then let us know what breaks or needs improvement.
More details and video demos: https://bonfirenetworks.org/posts/bonfire_social_rc/
#BonfireSocial #FediForum #FOSS #ActivityPub #DigitalAutonomy
@bonfire@indieweb.social
🔥 Bonfire Social 1.0 release candidate has landed!
Curious about what the fediverse could look like with real community control?
Try out features like custom feeds, nested discussions, shared profiles, circles, and boundary-based permissions — then let us know what breaks or needs improvement.
More details and video demos: https://bonfirenetworks.org/posts/bonfire_social_rc/
#BonfireSocial #FediForum #FOSS #ActivityPub #DigitalAutonomy
@geoff_eg@mastodon.social
Just learnt of Bounce. May be a good tool to be aware of for those using #bluesky or the #ATProtocol
https://blog.anew.social/bounce-a-cross-protocol-migration-tool/
@bonfire@indieweb.social
🔥 Bonfire Social 1.0 release candidate has landed!
Curious about what the fediverse could look like with real community control?
Try out features like custom feeds, nested discussions, shared profiles, circles, and boundary-based permissions — then let us know what breaks or needs improvement.
More details and video demos: https://bonfirenetworks.org/posts/bonfire_social_rc/
#BonfireSocial #FediForum #FOSS #ActivityPub #DigitalAutonomy
@bonfire@indieweb.social
🔥 Bonfire Social 1.0 release candidate has landed!
Curious about what the fediverse could look like with real community control?
Try out features like custom feeds, nested discussions, shared profiles, circles, and boundary-based permissions — then let us know what breaks or needs improvement.
More details and video demos: https://bonfirenetworks.org/posts/bonfire_social_rc/
#BonfireSocial #FediForum #FOSS #ActivityPub #DigitalAutonomy
@fediforum@mastodon.social
We are in the middle of the #FediForum speed demo track.
A New Social just announced Bounce, the first-ever migration tool of accounts between #AtProto and #ActivityPub. You can keep your followers across networks!
@fediforum@mastodon.social
We are in the middle of the #FediForum speed demo track.
A New Social just announced Bounce, the first-ever migration tool of accounts between #AtProto and #ActivityPub. You can keep your followers across networks!
@fediforum@mastodon.social
We are in the middle of the #FediForum speed demo track.
A New Social just announced Bounce, the first-ever migration tool of accounts between #AtProto and #ActivityPub. You can keep your followers across networks!
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@mro@digitalcourage.social
Hi @mikedev,
as you implemented #RFC9421 you may know - which servers in the wild use it?
#Activitypub #Http Request #Signing
I built a parser for #RFC9651 yesterday and am curious to look at other implementations/code as well. Mine so far: https://codeberg.org/mro/seppo/src/commit/a3af8ebc/test/t_angstrom.ml#L149
Would love to discuss it.
@NickBohle@mastodon.social
Hey @pfefferle and @obenland, your thoughts on quote posts (FEP-044f: Consent-respecting quote posts) and their implementation in #ActivityPub for #WordPress ? 🙏
Mastodon
https://mastodon.social/@Gargron/114625891198289108
https://blog.joinmastodon.org/2025/02/bringing-quote-posts-to-mastodon/
ActivityPub
https://socialhub.activitypub.rocks/t/pre-fep-quote-posts-quote-policies-and-quote-controls/5031
@bonfire@indieweb.social · Reply to Bonfire's post
This is a chance to poke at the process, challenge assumptions, and have an open conversation. Bring your curiosity, hard questions, and ideas about co-design, funding, burnout, moderation, and the messy realities of open-source work.
Let’s dig into how fediverse apps get built, maintained, and shaped by their communities.
See you there! 🔗 https://fediforum.org
@Crissy@tech.lgbt
@fediforum is the place for the open social web community to meet, learn, interact and organize.
Find out more thru their page and register for the Online Conference happening soon this June 5-7, 2025 via https://fediforum.org/events/
#openspace #tech #unconference #PSA #ActivityPub #OpenWeb #atproto #bluesky #nostr #FediForum
@bonfire@indieweb.social · Reply to Bonfire's post
This is a chance to poke at the process, challenge assumptions, and have an open conversation. Bring your curiosity, hard questions, and ideas about co-design, funding, burnout, moderation, and the messy realities of open-source work.
Let’s dig into how fediverse apps get built, maintained, and shaped by their communities.
See you there! 🔗 https://fediforum.org
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@NickBohle@mastodon.social
Hey @pfefferle and @obenland, your thoughts on quote posts (FEP-044f: Consent-respecting quote posts) and their implementation in #ActivityPub for #WordPress ? 🙏
Mastodon
https://mastodon.social/@Gargron/114625891198289108
https://blog.joinmastodon.org/2025/02/bringing-quote-posts-to-mastodon/
ActivityPub
https://socialhub.activitypub.rocks/t/pre-fep-quote-posts-quote-policies-and-quote-controls/5031
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@mro@digitalcourage.social
Hi @mikedev,
as you implemented #RFC9421 you may know - which servers in the wild use it?
#Activitypub #Http Request #Signing
I built a parser for #RFC9651 yesterday and am curious to look at other implementations/code as well. Mine so far: https://codeberg.org/mro/seppo/src/commit/a3af8ebc/test/t_angstrom.ml#L149
Would love to discuss it.
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@mro@digitalcourage.social
Hi @mikedev,
as you implemented #RFC9421 you may know - which servers in the wild use it?
#Activitypub #Http Request #Signing
I built a parser for #RFC9651 yesterday and am curious to look at other implementations/code as well. Mine so far: https://codeberg.org/mro/seppo/src/commit/a3af8ebc/test/t_angstrom.ml#L149
Would love to discuss it.
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@hollo@hollo.social
Exciting news for the #Hollo project! We're thrilled to announce that Emelia Smith (@thisismissem) has joined as a co-maintainer alongside Hong Minhee (@hongminhee).
Emelia brings extensive experience in the #fediverse ecosystem, having been a long-time contributor to Mastodon and a leading expert in trust & safety tooling for decentralized social networks. She's dedicated years to improving moderation systems and security across #ActivityPub platforms.
Her recent contributions to Hollo have been substantial—implementing the reporting/flagging system and making significant improvements to OAuth and security features. These valuable contributions naturally led to her joining as a co-maintainer.
This collaboration marks an important milestone for Hollo as we continue building better single-user microblogging software for the fediverse. Welcome aboard, Emelia! 🚀
@mapache@hachyderm.io
The first badge by a #podcast using #badgefed was issued, and it was not me! Just in time for the fediforum!
Follow @podcast by @sweedarbk to see feature guests receiving recognitions!
And see the badge here https://verifiedby.baddie.tech/view/grant/verifiedbybaddietech_2_1_23956fac9f1915c1340e72129dac3ce7 !
#microcredentials #openbadges #badgefed #fediforum #activitypub
@box464@mastodon.social
Fediverse, we’ve got a new mascot! Meet Waffy from Wafrn
#Wafrn #Fediverse #activitypub https://app.wafrn.net/fediverse/post/44d569e3-36ed-4761-a1ca-912d08e89c8b
@Linux@mk.absturztau.be
So, if you wondered why that random friend or family member, tried Mastodon, but that week felts drawn to use Facebook more, that is why. They were targeted.
#Fediverse #ActivityPub #Mastodon #Misskey #CherryPick #Sharkey
RE: https://mk.absturztau.be/notes/a8m9uef425pm00c2
@Linux@mk.absturztau.be · Reply to Linux Is Best's post
If at any time you shared a link back to any of your personal accounts, anywhere -- Meta knows you have an account.
That includes competing social media platforms, such as the Fediverse.
The value in this is both market resource and further marketing, for example, if you talked about watching Netflix, expect Meta to recommend, HBO Max. And if Meta notices you're using a known competing app or platform, Meta's app will increase the notification to draw you back to Meta.
#Fediverse #ActivityPub #Facebook #Meta #Instagram #Threads #WhatsApp
@Linux@mk.absturztau.be · Reply to Linux Is Best's post
If at any time you shared a link back to any of your personal accounts, anywhere -- Meta knows you have an account.
That includes competing social media platforms, such as the Fediverse.
The value in this is both market resource and further marketing, for example, if you talked about watching Netflix, expect Meta to recommend, HBO Max. And if Meta notices you're using a known competing app or platform, Meta's app will increase the notification to draw you back to Meta.
#Fediverse #ActivityPub #Facebook #Meta #Instagram #Threads #WhatsApp
@box464@mastodon.social
Fediverse, we’ve got a new mascot! Meet Waffy from Wafrn
#Wafrn #Fediverse #activitypub https://app.wafrn.net/fediverse/post/44d569e3-36ed-4761-a1ca-912d08e89c8b
@Linux@mk.absturztau.be
So, if you wondered why that random friend or family member, tried Mastodon, but that week felts drawn to use Facebook more, that is why. They were targeted.
#Fediverse #ActivityPub #Mastodon #Misskey #CherryPick #Sharkey
RE: https://mk.absturztau.be/notes/a8m9uef425pm00c2
@Linux@mk.absturztau.be · Reply to Linux Is Best's post
If at any time you shared a link back to any of your personal accounts, anywhere -- Meta knows you have an account.
That includes competing social media platforms, such as the Fediverse.
The value in this is both market resource and further marketing, for example, if you talked about watching Netflix, expect Meta to recommend, HBO Max. And if Meta notices you're using a known competing app or platform, Meta's app will increase the notification to draw you back to Meta.
#Fediverse #ActivityPub #Facebook #Meta #Instagram #Threads #WhatsApp
@Linux@mk.absturztau.be · Reply to Linux Is Best's post
If at any time you shared a link back to any of your personal accounts, anywhere -- Meta knows you have an account.
That includes competing social media platforms, such as the Fediverse.
The value in this is both market resource and further marketing, for example, if you talked about watching Netflix, expect Meta to recommend, HBO Max. And if Meta notices you're using a known competing app or platform, Meta's app will increase the notification to draw you back to Meta.
#Fediverse #ActivityPub #Facebook #Meta #Instagram #Threads #WhatsApp
@nik@toot.teckids.org
I might be overdoing this whole #RDF and #LinkedData thing, but… here's the first steps with #Trinja, a RDF-to-HTML mapper and #SSG:
https://codeberg.org/Taganak/trinja/src/branch/main/example.ttl
The idea is: Use *any* resource described as RDF (e.g. from #Wikidata or an #ActivityPub action), link a #Jinja template to it or its rdf:type in your own set of statements, and there you got your visualisation!
Based on #TaganakNet, the #Rust #RDF development kit by @codecraft and me. We are collecting real-world examples at a good rate!
@box464@mastodon.social
Fediverse, we’ve got a new mascot! Meet Waffy from Wafrn
#Wafrn #Fediverse #activitypub https://app.wafrn.net/fediverse/post/44d569e3-36ed-4761-a1ca-912d08e89c8b
@kenweber@mastodon.social
I realize that all of you reading this are already a part of the #Fediverse but you may want to pass this article around to your friends who aren't a part of it yet.
#Mastodon #ActivityPub #SocialMedia #Decentralized #Technology
https://publicknowledge.org/why-decentralized-social-media-matters/
@Crissy@tech.lgbt
@fediforum is the place for the open social web community to meet, learn, interact and organize.
Find out more thru their page and register for the Online Conference happening soon this June 5-7, 2025 via https://fediforum.org/events/
#openspace #tech #unconference #PSA #ActivityPub #OpenWeb #atproto #bluesky #nostr #FediForum
@mapache@hachyderm.io
The first badge by a #podcast using #badgefed was issued, and it was not me! Just in time for the fediforum!
Follow @podcast by @sweedarbk to see feature guests receiving recognitions!
And see the badge here https://verifiedby.baddie.tech/view/grant/verifiedbybaddietech_2_1_23956fac9f1915c1340e72129dac3ce7 !
#microcredentials #openbadges #badgefed #fediforum #activitypub
@nik@toot.teckids.org
I might be overdoing this whole #RDF and #LinkedData thing, but… here's the first steps with #Trinja, a RDF-to-HTML mapper and #SSG:
https://codeberg.org/Taganak/trinja/src/branch/main/example.ttl
The idea is: Use *any* resource described as RDF (e.g. from #Wikidata or an #ActivityPub action), link a #Jinja template to it or its rdf:type in your own set of statements, and there you got your visualisation!
Based on #TaganakNet, the #Rust #RDF development kit by @codecraft and me. We are collecting real-world examples at a good rate!
@fedizen@mastodon.social
»PeerTube v7.2 is out!« https://joinpeertube.org/news/release-7.2?Fedizen.EU #Fedizen #Fediverse #ActivityPub #PeerTube #News
@kenweber@mastodon.social
I realize that all of you reading this are already a part of the #Fediverse but you may want to pass this article around to your friends who aren't a part of it yet.
#Mastodon #ActivityPub #SocialMedia #Decentralized #Technology
https://publicknowledge.org/why-decentralized-social-media-matters/
@kenweber@mastodon.social
I realize that all of you reading this are already a part of the #Fediverse but you may want to pass this article around to your friends who aren't a part of it yet.
#Mastodon #ActivityPub #SocialMedia #Decentralized #Technology
https://publicknowledge.org/why-decentralized-social-media-matters/
@fedizen@mastodon.social
»PeerTube v7.2 is out!« https://joinpeertube.org/news/release-7.2?Fedizen.EU #Fedizen #Fediverse #ActivityPub #PeerTube #News
@smallcircles@social.coop
Since it is more related to adoption and evolution of the commons-based social web in general, I brought the #ActivityPub #Fediverse ⚒️ Golden Hammer discussion to the Social coding commons forum.
https://discuss.coding.social/t/overcoming-the-golden-hammer-fediverse-evolution/643
This relates to the Fediverse Vision wiki and discussion started by @helge and the proposal to start a fellowship of people that focus on fedi evolution beyond the nitty-gritty implementation details that are commonly discussed (and that lead to protocol decay and tech debt).
@fediversereport@mastodon.social
Fediverse Report - This week's #fediverse news
A quiet week as the hype announcements are waiting for this week's @fediforum . You can catch me on Thursday on Fediforum with a session on whats new on the open social web!
In other news:
- A @peertube AMA on Lemmy, and the first milestone of their fundraising for their app reached
- The @swf publishes #activitypub Web Components
@fediversereport@mastodon.social
Fediverse Report - This week's #fediverse news
A quiet week as the hype announcements are waiting for this week's @fediforum . You can catch me on Thursday on Fediforum with a session on whats new on the open social web!
In other news:
- A @peertube AMA on Lemmy, and the first milestone of their fundraising for their app reached
- The @swf publishes #activitypub Web Components
@fediversereport@mastodon.social
Fediverse Report - This week's #fediverse news
A quiet week as the hype announcements are waiting for this week's @fediforum . You can catch me on Thursday on Fediforum with a session on whats new on the open social web!
In other news:
- A @peertube AMA on Lemmy, and the first milestone of their fundraising for their app reached
- The @swf publishes #activitypub Web Components
@octarine_wiggle@mastodon.au
What's the minimum viable #fediverse #duolingo replacement? #activitypub #fedilingo #polyglot
@steve@social.technoetic.com
#ActivityPub trick question. If a C2S client actor identified by “http://bar.example/actor” posts {“id”: “https://foo.example/something”} to its *outbox* server endpoint, is that valid? Why or why not? If the answer is “it depends”, it depends on what?
@steve@social.technoetic.com
#ActivityPub trick question. If a C2S client actor identified by “http://bar.example/actor” posts {“id”: “https://foo.example/something”} to its *outbox* server endpoint, is that valid? Why or why not? If the answer is “it depends”, it depends on what?
@steve@social.technoetic.com
#ActivityPub trick question. If a C2S client actor identified by “http://bar.example/actor” posts {“id”: “https://foo.example/something”} to its *outbox* server endpoint, is that valid? Why or why not? If the answer is “it depends”, it depends on what?
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@ozoned@social.ozoned.net
#Fediverse #tech is everywhere y'all!
#3Dprint file sharing over #activitypub via
https://manyfold.app/
So excited when I see new projects like this! It just makes us more resilient and means we'll be here forever forever! :-D
@ozoned@social.ozoned.net
#Fediverse #tech is everywhere y'all!
#3Dprint file sharing over #activitypub via
https://manyfold.app/
So excited when I see new projects like this! It just makes us more resilient and means we'll be here forever forever! :-D
@ozoned@social.ozoned.net
#Fediverse #tech is everywhere y'all!
#3Dprint file sharing over #activitypub via
https://manyfold.app/
So excited when I see new projects like this! It just makes us more resilient and means we'll be here forever forever! :-D
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@smallcircles@social.coop
Just replied to #SocialHub discussion to @evanprodromou #FEP on #fediverse support for long-form text.
There's a broader discussion that the #ActivityPub dev community isn't really addressing.
Nowhere in the #W3C specs is defined that #Microblogging is the foundation of #SocialNetworking. And certainly not #Mastodon's app-specific interpretation of this domain.
The entire AS extension mechanism is overlooked, and that leads to a massive ⚒️ Golden Hammer anti-pattern.
https://socialhub.activitypub.rocks/t/fep-b2b8-long-form-text/5300/18?u=aschrijver
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@hollo@hollo.social
#Hollo 0.6.0 is coming soon!
We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:
SECRET_KEY
requirements (44+ chars)Special thanks to @thisismissem for the extensive OAuth improvements that help keep the #fediverse secure and compatible! 🙏
Full changelog and upgrade guide coming with the release.
@octarine_wiggle@mastodon.au
What's the minimum viable #fediverse #duolingo replacement? #activitypub #fedilingo #polyglot
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@Kye@tech.lgbt · Reply to Kye Fox's post
New problems emerge the more I try to use it. Direct AP<->AP works fine. Bridged stuff is inconsistent. Likes, boosts, etc don't go through. Follows don't show even if there's a bridged pair for the following account.
I don't fault the people working on Bridgy but I do know this would be easier to get right if follow relationships were simple data any authenticated app could read.
I haven't heard a positive account of developing anything moderately complex for AP. By comparison, all the AT dev accounts are positive, usually noting how easy it is to work with everything since everything is "on protocol" (the term of art for storing data in lexicons on your PDS) rather than dependent on negotiating implementation differences between the dominant platform and everything else.
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@Kye@tech.lgbt · Reply to Kye Fox's post
New problems emerge the more I try to use it. Direct AP<->AP works fine. Bridged stuff is inconsistent. Likes, boosts, etc don't go through. Follows don't show even if there's a bridged pair for the following account.
I don't fault the people working on Bridgy but I do know this would be easier to get right if follow relationships were simple data any authenticated app could read.
I haven't heard a positive account of developing anything moderately complex for AP. By comparison, all the AT dev accounts are positive, usually noting how easy it is to work with everything since everything is "on protocol" (the term of art for storing data in lexicons on your PDS) rather than dependent on negotiating implementation differences between the dominant platform and everything else.
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@fedify@hollo.social
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
@distraction.engineer@bsky.brid.gy
Does your Bluesky PDS support Mastodon? Mine does*. 😋 #atproto #atdev #activitypub
@tom@tomkahe.com
Ha, you can run an ActivityPub server on your android phone through termux
@cryptadamist@universeodon.com
Ω🪬Ω
The new version of #Fedialgo is much, much faster at loading and reordering the timeline. Also has fancy gradients to show you which hashtags in your feed are the ones trending the most and which ones you post about the most. Also a bunch of other tweaks and improvements.
* Try the demo: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Video of it in action: https://universeodon.com/@cryptadamist/114518687892123058
* Release notes: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed/releases
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #MastoAdmin #Mastodon #mastohelp #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@smallcircles@social.coop
Hi @mikelynch 👋
I am updating https://delightful.coding.social/delightful_activitypub_development and wanted to include your #ActivityPub archive to #Gemini pages utility.
Yet the curated list is only for open source resources and without license the script is technically not. Would you be open to add a FOSS license to it, perhaps?
@octarine_wiggle@mastodon.au
What's the minimum viable #fediverse #duolingo replacement? #activitypub #fedilingo #polyglot
@octarine_wiggle@mastodon.au
What's the minimum viable #fediverse #duolingo replacement? #activitypub #fedilingo #polyglot
@smallcircles@social.coop
Reminder: AS/AP-based suffers from #BallOfMud based ad-hoc expansion unless we find common practices and stick to them. Collaboration across a commons is essential here. Just coding your app with custom #ActivityPub protocol extension is contributing to #ProtocolDecay and increasing complexity to facilitate broad #interoperability.
The #FEP process and #SocialCG are where collective effort and proactive participation can improve #fedi for all. We need a bottom up standardization process.
@tchambers@indieweb.social
Fascinating use of #AI for #activitypub dev work…
https://www.manton.org/2025/06/01/ai-haters-you-can-skip.html
@smallcircles@social.coop
Bumped into this interesting yet unmaintained #Rust #ActivityPub project while updating https://delightful.coding.social/delightful_activitypub_development
"Stonenet is a #p2p (social) publish-subscribe network, also known as a decentralized social media platform. It is designed to protect free speech, and resist censorship. Everyone moderates their own home feed, and content is only distributed by those peers that have consented to do so, by subscribing to someone and thereby explicitly supporting their content"
@cryptadamist@universeodon.com
Ω🪬Ω
The new version of #Fedialgo is much, much faster at loading and reordering the timeline. Also has fancy gradients to show you which hashtags in your feed are the ones trending the most and which ones you post about the most. Also a bunch of other tweaks and improvements.
* Try the demo: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Video of it in action: https://universeodon.com/@cryptadamist/114518687892123058
* Release notes: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed/releases
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #MastoAdmin #Mastodon #mastohelp #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@distraction.engineer@bsky.brid.gy
Does your Bluesky PDS support Mastodon? Mine does*. 😋 #atproto #atdev #activitypub
@smallcircles@social.coop
Hi @delta 👋
I am making updates to https://delightful.coding.social/delightful_activitypub_development and bumped into this interesting #SMTP to #ActivityPub proof of concept. Just a heads-up to make you aware, in case it is interesting for #DeltaChat in some way or other.
@Kye@tech.lgbt
Trying Ghost's AP implementation just emphasizes what I don't like about AP-in-practice. Between that and all the bridge profiles, there are 4 new profiles, each with their own copy of the data to maintain.
With AT, it's just the one account across all platforms with all the data stored on my PDS.
Worse, to get any notice to posts appearing on them, I have to boost from my existing accounts on each network. That's a lot of trouble! With AT, they would just pull it from the relay, which pulls from my PDS. Or go directly to the PDS in some circumstances.
AP could probably be better in practice, but everyone is required to make it work with Mastodon or essentially be incompatible since it has most of the network on a few servers with a standard ignoring implementation.
@cryptadamist@universeodon.com
Ω🪬Ω
The new version of #Fedialgo is much, much faster at loading and reordering the timeline. Also has fancy gradients to show you which hashtags in your feed are the ones trending the most and which ones you post about the most. Also a bunch of other tweaks and improvements.
* Try the demo: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Video of it in action: https://universeodon.com/@cryptadamist/114518687892123058
* Release notes: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed/releases
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #MastoAdmin #Mastodon #mastohelp #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@cryptadamist@universeodon.com
Ω🪬Ω
The new version of #Fedialgo is much, much faster at loading and reordering the timeline. Also has fancy gradients to show you which hashtags in your feed are the ones trending the most and which ones you post about the most. Also a bunch of other tweaks and improvements.
* Try the demo: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Video of it in action: https://universeodon.com/@cryptadamist/114518687892123058
* Release notes: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed/releases
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #MastoAdmin #Mastodon #mastohelp #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@Kye@tech.lgbt
Trying Ghost's AP implementation just emphasizes what I don't like about AP-in-practice. Between that and all the bridge profiles, there are 4 new profiles, each with their own copy of the data to maintain.
With AT, it's just the one account across all platforms with all the data stored on my PDS.
Worse, to get any notice to posts appearing on them, I have to boost from my existing accounts on each network. That's a lot of trouble! With AT, they would just pull it from the relay, which pulls from my PDS. Or go directly to the PDS in some circumstances.
AP could probably be better in practice, but everyone is required to make it work with Mastodon or essentially be incompatible since it has most of the network on a few servers with a standard ignoring implementation.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@plumf@piaille.fr
Salut le Fediverse, je cherche à autohéberger (sur #YunoHost) un serveur #ActivityPub pour microblogger. Pas trop envie d'installer #Mastodon pour 2,3 comptes qui ne feront que publier automatiquement les actus des projets. Il y a #GoToSocial mais il est en version nowasm (Et ça me semble risqué). Est-ce qu'il y a des utilisateur⋅ices de #Stream ou #Forte qui ont un retour d'expérience à exprimer ? Et dans l'idéal, moins il consomme de ressources, plus ça me convient =)
Il y a aussi #MissKey et #Pleroma (mais je n'ai pas besoin d'une interface graphique qui consomme de la ressource pour rien...)
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
@smallcircles@social.coop · Reply to Elena Rossini ⁂'s post
Nice! Good opportunity to mention I just added some fedi-related #RSS resources, magic of the #fediverse to:
https://codeberg.org/fediverse/delightful-activitypub-development
(In the #ActivityPub Bridges section)
Had a huge backlog and I am making lotsa updates now to process it. Earlier did too to apps and clients fedi delightful lists, and the root list, now hosted at https://delightful.coding.social
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
I deployed my first #Fedify application on Cloudflare Workers and saw it running smoothly. Now all that's left is the documentation!
@smallcircles@social.coop · Reply to Richie Khoo's post
@richiekhoo hey there.
I think both #Gancio and #Mobilizon are projects to check out.
https://codeberg.org/fediverse/delightful-fediverse-apps#events-and-meetups
There is also recent discussion on the #ActivityPub #SocialHub forum around events #interoperability:
@hongminhee@hollo.social
I deployed my first #Fedify application on Cloudflare Workers and saw it running smoothly. Now all that's left is the documentation!
@grishka@mastodon.social
@grishka@mastodon.social
@grishka@mastodon.social
@grishka@mastodon.social
@smallcircles@social.coop · Reply to Jared Jennings's post
Check out #Manyfold .. "Organise and share your 3d print files"
@jaredj@bsd.cafe
Hi #lazyweb! I just fashioned a knob that goes on a #madsen kg271 #cargobike wheel lock. Where do people post models for #3dprinting these days, where the models are findable (implying some amount of centralization), but the site works (last I checked, this means not Thingiverse) and the organization is not toxic in some way? (... is there an #activitypub extension for 3d model sharing? ... someone wanted to do one in 2023, https://socialhub.activitypub.rocks/t/federated-app-space-for-3d-file-sharing-with-complex-tools-and-visualization/3412 ... who were you, Y0z64? WHAT DID YOU SEE? https://xkcd.com/979)
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@tom@tomkahe.com
Ha, you can run an ActivityPub server on your android phone through termux
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@jaredj@bsd.cafe
Hi #lazyweb! I just fashioned a knob that goes on a #madsen kg271 #cargobike wheel lock. Where do people post models for #3dprinting these days, where the models are findable (implying some amount of centralization), but the site works (last I checked, this means not Thingiverse) and the organization is not toxic in some way? (... is there an #activitypub extension for 3d model sharing? ... someone wanted to do one in 2023, https://socialhub.activitypub.rocks/t/federated-app-space-for-3d-file-sharing-with-complex-tools-and-visualization/3412 ... who were you, Y0z64? WHAT DID YOU SEE? https://xkcd.com/979)
@xszsx@app.wafrn.net
Hello waffle! Been escaping from the dumpster fire that is Big Social for a while now, but only to find that the two main alternatives are not on talking terms with each other, due to technical differences which sucks. I hope wafrn will deliver the ease of moving between ActivityPub and ATProto. Having accounts on both is not ideal.
I'm still wrapping my head around it, a bit woozy from the Millennial tumblr chaotic energy.
Here's some galettes.
@tom@tomkahe.com
Ha, you can run an ActivityPub server on your android phone through termux
@tom@tomkahe.com
Ha, you can run an ActivityPub server on your android phone through termux
@tom@tomkahe.com
Ha, you can run an ActivityPub server on your android phone through termux
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@tom@tomkahe.com
Ha, you can run an ActivityPub server on your android phone through termux
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@hongminhee@hollo.social
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
@weekinfediverse@mitra.social
Servers
- Socialhome v0.21.0
- Sharkey v2025.4.2
- gathio v1.6.0
- Ibis v0.3.1
- NeoDB v0.11.7.3
- Platform update - May 2025 (Vernissage)
- PieFed development update May 2025 - Passkeys, Flair, Image hashing & much more
- Metabolizing mentions (Ghost)
- Tvmarks: a TV tracking site connected to the Fediverse
Clients
- Pachli v2.13.0
- Mangane v1.14.0
- Fread v1.4.0
Tools and Plugins
For developers
- Fedialgo v0.55.0
- ap-components: A collection of Web Components for showing ActivityPub objects in a browser
Articles
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196feaa-e902-fdfb-9628-0a17333c6da5
@smallcircles@social.coop
Hi @tedu 👋
Even though it hasn't been updated for a while I want to add idkfa to delightful-activitypub-development, given the interesting approach you experiment with. Yet there is no license AFAIK, and the curated list is FOSS-only. Would you consider adding one?
https://delightful.club/delightful-activitypub-development
@weekinfediverse@mitra.social
Servers
- Socialhome v0.21.0
- Sharkey v2025.4.2
- gathio v1.6.0
- Ibis v0.3.1
- NeoDB v0.11.7.3
- Platform update - May 2025 (Vernissage)
- PieFed development update May 2025 - Passkeys, Flair, Image hashing & much more
- Metabolizing mentions (Ghost)
- Tvmarks: a TV tracking site connected to the Fediverse
Clients
- Pachli v2.13.0
- Mangane v1.14.0
- Fread v1.4.0
Tools and Plugins
For developers
- Fedialgo v0.55.0
- ap-components: A collection of Web Components for showing ActivityPub objects in a browser
Articles
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196feaa-e902-fdfb-9628-0a17333c6da5
@weekinfediverse@mitra.social
Servers
- Socialhome v0.21.0
- Sharkey v2025.4.2
- gathio v1.6.0
- Ibis v0.3.1
- NeoDB v0.11.7.3
- Platform update - May 2025 (Vernissage)
- PieFed development update May 2025 - Passkeys, Flair, Image hashing & much more
- Metabolizing mentions (Ghost)
- Tvmarks: a TV tracking site connected to the Fediverse
Clients
- Pachli v2.13.0
- Mangane v1.14.0
- Fread v1.4.0
Tools and Plugins
For developers
- Fedialgo v0.55.0
- ap-components: A collection of Web Components for showing ActivityPub objects in a browser
Articles
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196feaa-e902-fdfb-9628-0a17333c6da5
@weekinfediverse@mitra.social
Servers
- Socialhome v0.21.0
- Sharkey v2025.4.2
- gathio v1.6.0
- Ibis v0.3.1
- NeoDB v0.11.7.3
- Platform update - May 2025 (Vernissage)
- PieFed development update May 2025 - Passkeys, Flair, Image hashing & much more
- Metabolizing mentions (Ghost)
- Tvmarks: a TV tracking site connected to the Fediverse
Clients
- Pachli v2.13.0
- Mangane v1.14.0
- Fread v1.4.0
Tools and Plugins
For developers
- Fedialgo v0.55.0
- ap-components: A collection of Web Components for showing ActivityPub objects in a browser
Articles
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196feaa-e902-fdfb-9628-0a17333c6da5
@fedizen@mastodon.social
»Automattic says it will start contributing to WordPress again after pause« https://techcrunch.com/2025/05/30/automattic-says-it-will-start-contributing-to-wordpress-again-after-pause/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@fedizen@mastodon.social
»Automattic says it will start contributing to WordPress again after pause« https://techcrunch.com/2025/05/30/automattic-says-it-will-start-contributing-to-wordpress-again-after-pause/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@smallcircles@social.coop
Hey #fediverse 👋
I gave some good updates to the curated fediverse clients list. So many new fresh and cool web, desktop and mobile #UI clients to choose from to access your favorite #ActivityPub web services.
What is your favorite fedi client?
https://delightful.coding.social/delightful_fediverse_clients
PS. See something missing? File an issue or pull request at #Codeberg at:
https://codeberg.org/fediverse/delightful-fediverse-clients
Also check out the other fedi-related lists at https://delightful.coding.social or.. maybe you even want to start your own sub-list?
@smallcircles@social.coop · Reply to ianjs's post
I agree. Yet the fediverse-related delightful lists serve a different purpose: to inform developers of all the things that are out there, give overview of the open #ActivityPub ecosystem, so they can be inspired by prior art or choose where to contribute and help improve the fedi as a whole.
@smallcircles@social.coop
Hey #fediverse 👋
I gave some good updates to the curated fediverse clients list. So many new fresh and cool web, desktop and mobile #UI clients to choose from to access your favorite #ActivityPub web services.
What is your favorite fedi client?
https://delightful.coding.social/delightful_fediverse_clients
PS. See something missing? File an issue or pull request at #Codeberg at:
https://codeberg.org/fediverse/delightful-fediverse-clients
Also check out the other fedi-related lists at https://delightful.coding.social or.. maybe you even want to start your own sub-list?
@stefan@gardenstate.social
Hey #Fediverse, do you love #TV? I've launched a new app to track your tv in a single user app with #activitypub support!
After you watch give my github repo a ⭐ ! https://github.com/stefanhayden/tvmarks
@naturzukunft@mastodon.social
Grrrr spent almost an hour debugging a problem. It was the receiver as:Public. as:Public is the devil !
@naturzukunft@mastodon.social
Grrrr spent almost an hour debugging a problem. It was the receiver as:Public. as:Public is the devil !
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
5/
So, not just Decentralized Social (DeSo), but instead —
Decentralized Social (DeSo), Federated Social (FeSo), Localized Social (LoSo)
The goal is 'social' that is simultaneously — 'Decentralized', 'Federated', and 'Localized', all at the same time.
RE: https://mastodon.social/@reiver/114551725757671167
#ActivityPub #ActivityStreams #Decentralization #DeSo #Federation #FeSo #Fediverse #governance #Localization #LoSo
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
4/
Federation is the word we use to describe that act of bringing together and connecting these separate Decentralized, Localized communities.
This is where protocols such as ActivityPub, ActivityStreams, etc come into play.
Federation is a voluntary choice.
But, so too is Defederation, if desired.
#ActivityPub #ActivityStreams #Decentralization #DeSo #Federation #FeSo #Fediverse #governance #Localization #LoSo
@smallcircles@social.coop · Reply to abeorch's post
@abeorch @nextcloud @warmaster @buyeuropean
Good idea. And it might also federate with #SocialHub the #ActivityPub developer community that is custodian of the #FEP process, among others.
@synapsmedia@mastodon.social
Social Media (beta) arrives at Synaps Media!
https://www.synapsmedia.com/changelog/social-web-is-ready-to-try-for-all-synaps-media-sites/
@synapsmedia@mastodon.social
Social Media (beta) arrives at Synaps Media!
https://www.synapsmedia.com/changelog/social-web-is-ready-to-try-for-all-synaps-media-sites/
@mapache@hachyderm.io
#Fediverse! I will be hosting an unconference of @badgefed - an microcredentials system decentralizing using #activitypub and #openbadges - in the @fediforum
I will be giving an attendee badge to everyone to stop and say hi, so, if you have not registered for this virtual conference on June 5-7 go to https://fediforum.org/ and do it if you can!
See you there!
@mapache@hachyderm.io
#Fediverse! I will be hosting an unconference of @badgefed - an microcredentials system decentralizing using #activitypub and #openbadges - in the @fediforum
I will be giving an attendee badge to everyone to stop and say hi, so, if you have not registered for this virtual conference on June 5-7 go to https://fediforum.org/ and do it if you can!
See you there!
@mapache@hachyderm.io
I just created a badge for anyone attending my unconference at the @fediforum ! Look how beautiful it is.
See you there!
https://badges.vocalcat.com/explore
#badgefed #openbadges #badefed #fediforum #fediverse #activitypub #dotnet
@mapache@hachyderm.io
I just created a badge for anyone attending my unconference at the @fediforum ! Look how beautiful it is.
See you there!
https://badges.vocalcat.com/explore
#badgefed #openbadges #badefed #fediforum #fediverse #activitypub #dotnet
@stefan@gardenstate.social
Hey #Fediverse, do you love #TV? I've launched a new app to track your tv in a single user app with #activitypub support!
After you watch give my github repo a ⭐ ! https://github.com/stefanhayden/tvmarks
@lxplm@mastodon.social
(1/2) Good news, everyone!
Seit Anfang Mai bin ich Fellow bei einem wegweisenden Programm von Media Lab Bayern, SWR X Lab und Mastodon:
Reinvent Social Platforms!
Gemeinsam wollen wir dezentrale, nachhaltige #SocialMedia stärken. Mit #Fediverse und #ActivityPub experimentieren. Medienmenschen an Bord holen. Innovative, attraktive Lösungen für journalistische Herausforderungen finden.
Falls ihr auf diese Themen auch Bock habt: Meldet euch sehr gerne bei mir. Ich habe viele Fragen. Und Ideen.
@lxplm@mastodon.social
(1/2) Good news, everyone!
Seit Anfang Mai bin ich Fellow bei einem wegweisenden Programm von Media Lab Bayern, SWR X Lab und Mastodon:
Reinvent Social Platforms!
Gemeinsam wollen wir dezentrale, nachhaltige #SocialMedia stärken. Mit #Fediverse und #ActivityPub experimentieren. Medienmenschen an Bord holen. Innovative, attraktive Lösungen für journalistische Herausforderungen finden.
Falls ihr auf diese Themen auch Bock habt: Meldet euch sehr gerne bei mir. Ich habe viele Fragen. Und Ideen.
@fedify@hollo.social
We're planning to reorganize our #GitHub labels to better reflect #Fedify's project structure! 🏷️
Currently using GitHub's default labels, but we want something more tailored to our needs—like component-specific labels (vocab, federation, actor, etc.), runtime tags (Deno/Node/Bun), and #ActivityPub compatibility tracking.
The proposal includes hierarchical labeling with categories like:
type/
for bug, feature, documentationcomponent/
for different parts of Fedifyactivitypub/
for interop issues with Mastodon, Misskey, etc.We'd love your thoughts! What labels would be most helpful for contributors and maintainers?
Check out the full proposal: https://github.com/fedify-dev/fedify/issues/238.
@fedify@hollo.social
We're planning to reorganize our #GitHub labels to better reflect #Fedify's project structure! 🏷️
Currently using GitHub's default labels, but we want something more tailored to our needs—like component-specific labels (vocab, federation, actor, etc.), runtime tags (Deno/Node/Bun), and #ActivityPub compatibility tracking.
The proposal includes hierarchical labeling with categories like:
type/
for bug, feature, documentationcomponent/
for different parts of Fedifyactivitypub/
for interop issues with Mastodon, Misskey, etc.We'd love your thoughts! What labels would be most helpful for contributors and maintainers?
Check out the full proposal: https://github.com/fedify-dev/fedify/issues/238.
@fedify@hollo.social
We're planning to reorganize our #GitHub labels to better reflect #Fedify's project structure! 🏷️
Currently using GitHub's default labels, but we want something more tailored to our needs—like component-specific labels (vocab, federation, actor, etc.), runtime tags (Deno/Node/Bun), and #ActivityPub compatibility tracking.
The proposal includes hierarchical labeling with categories like:
type/
for bug, feature, documentationcomponent/
for different parts of Fedifyactivitypub/
for interop issues with Mastodon, Misskey, etc.We'd love your thoughts! What labels would be most helpful for contributors and maintainers?
Check out the full proposal: https://github.com/fedify-dev/fedify/issues/238.
@fedify@hollo.social
We're planning to reorganize our #GitHub labels to better reflect #Fedify's project structure! 🏷️
Currently using GitHub's default labels, but we want something more tailored to our needs—like component-specific labels (vocab, federation, actor, etc.), runtime tags (Deno/Node/Bun), and #ActivityPub compatibility tracking.
The proposal includes hierarchical labeling with categories like:
type/
for bug, feature, documentationcomponent/
for different parts of Fedifyactivitypub/
for interop issues with Mastodon, Misskey, etc.We'd love your thoughts! What labels would be most helpful for contributors and maintainers?
Check out the full proposal: https://github.com/fedify-dev/fedify/issues/238.
@stefan@gardenstate.social
Hey #Fediverse, do you love #TV? I've launched a new app to track your tv in a single user app with #activitypub support!
After you watch give my github repo a ⭐ ! https://github.com/stefanhayden/tvmarks
@smallcircles@social.coop
Hey #fediverse 👋
I gave some good updates to the curated fediverse clients list. So many new fresh and cool web, desktop and mobile #UI clients to choose from to access your favorite #ActivityPub web services.
What is your favorite fedi client?
https://delightful.coding.social/delightful_fediverse_clients
PS. See something missing? File an issue or pull request at #Codeberg at:
https://codeberg.org/fediverse/delightful-fediverse-clients
Also check out the other fedi-related lists at https://delightful.coding.social or.. maybe you even want to start your own sub-list?
@stefan@gardenstate.social
Look at this #smallWeb #activitypub #tv app I built!
I call it #Tvmarks and you can find the code here: https://github.com/stefanhayden/tvmarks
@joomla@joomla.social · Reply to ralf tauscher :FreiburgSocial:'s post
Check it here https://magazine.joomla.org/all-issues/february-2023/turning-the-joomla-website-into-an-activitypub-server
Turning the Joomla website into an ActivityPub server and being an independent participant in the Fediverse - A start
and on GitHub https://github.com/nikosdion/fediverse
@joomla@joomla.social · Reply to ralf tauscher :FreiburgSocial:'s post
Check it here https://magazine.joomla.org/all-issues/february-2023/turning-the-joomla-website-into-an-activitypub-server
Turning the Joomla website into an ActivityPub server and being an independent participant in the Fediverse - A start
and on GitHub https://github.com/nikosdion/fediverse
@smallcircles@social.coop · Reply to Stefan's post
That's great. Intrinsic motivation is what works best in the commons. Nice project! I have it queued up for addition to the #ActivityPub delightful lists, in particular this one:
@_elena@mastodon.social · Reply to Tim Chambers's post
@tchambers 3 of these are mine 🙋🏻♀️
@ele@elenarossini.com
@ele@theillusionists.org
@elena
🤗
LOVE LOVE LOVE the #ActivityPub for #Wordpress plugin (even if these days I’m so busy I rarely have time to blog)
@pfefferle @mattwiebe @obenland @nuriapenya @donnacavalier @linos @fediversenews
@stereo@freiburg.social · Reply to Dagger ☀️'s post
@dagger dank #activitypub plugin fuer #ghost oder #wordpress oefter moeglich als man denkt.
hat das schon jemand mit #joomla am laufen?
cc @joomla
@smallcircles@social.coop · Reply to Stefan's post
That's great. Intrinsic motivation is what works best in the commons. Nice project! I have it queued up for addition to the #ActivityPub delightful lists, in particular this one:
@stefan@gardenstate.social
Look at this #smallWeb #activitypub #tv app I built!
I call it #Tvmarks and you can find the code here: https://github.com/stefanhayden/tvmarks
@stefan@gardenstate.social
Look at this #smallWeb #activitypub #tv app I built!
I call it #Tvmarks and you can find the code here: https://github.com/stefanhayden/tvmarks
@fedizen@mastodon.social
»New external tools for PeerTube Live!« https://joinpeertube.org/news/live-plugin-app?Fedizen.EU #Fedizen #Fediverse #ActivityPub #PeerTube #News
@smallcircles@social.coop
Hey #fediverse 👋
I gave some good updates to the curated fediverse clients list. So many new fresh and cool web, desktop and mobile #UI clients to choose from to access your favorite #ActivityPub web services.
What is your favorite fedi client?
https://delightful.coding.social/delightful_fediverse_clients
PS. See something missing? File an issue or pull request at #Codeberg at:
https://codeberg.org/fediverse/delightful-fediverse-clients
Also check out the other fedi-related lists at https://delightful.coding.social or.. maybe you even want to start your own sub-list?
@stefan@gardenstate.social
Look at this #smallWeb #activitypub #tv app I built!
I call it #Tvmarks and you can find the code here: https://github.com/stefanhayden/tvmarks
@fedizen@mastodon.social
»New external tools for PeerTube Live!« https://joinpeertube.org/news/live-plugin-app?Fedizen.EU #Fedizen #Fediverse #ActivityPub #PeerTube #News
@fedizen@mastodon.social
»New external tools for PeerTube Live!« https://joinpeertube.org/news/live-plugin-app?Fedizen.EU #Fedizen #Fediverse #ActivityPub #PeerTube #News
@_elena@mastodon.social · Reply to Tim Chambers's post
@tchambers 3 of these are mine 🙋🏻♀️
@ele@elenarossini.com
@ele@theillusionists.org
@elena
🤗
LOVE LOVE LOVE the #ActivityPub for #Wordpress plugin (even if these days I’m so busy I rarely have time to blog)
@pfefferle @mattwiebe @obenland @nuriapenya @donnacavalier @linos @fediversenews
@smallcircles@social.coop
Hey #fediverse 👋
I gave some good updates to the curated fediverse clients list. So many new fresh and cool web, desktop and mobile #UI clients to choose from to access your favorite #ActivityPub web services.
What is your favorite fedi client?
https://delightful.coding.social/delightful_fediverse_clients
PS. See something missing? File an issue or pull request at #Codeberg at:
https://codeberg.org/fediverse/delightful-fediverse-clients
Also check out the other fedi-related lists at https://delightful.coding.social or.. maybe you even want to start your own sub-list?
@smallcircles@social.coop
Hey #fediverse 👋
I gave some good updates to the curated fediverse clients list. So many new fresh and cool web, desktop and mobile #UI clients to choose from to access your favorite #ActivityPub web services.
What is your favorite fedi client?
https://delightful.coding.social/delightful_fediverse_clients
PS. See something missing? File an issue or pull request at #Codeberg at:
https://codeberg.org/fediverse/delightful-fediverse-clients
Also check out the other fedi-related lists at https://delightful.coding.social or.. maybe you even want to start your own sub-list?
@smallcircles@social.coop
Hey #fediverse 👋
I gave some good updates to the curated fediverse clients list. So many new fresh and cool web, desktop and mobile #UI clients to choose from to access your favorite #ActivityPub web services.
What is your favorite fedi client?
https://delightful.coding.social/delightful_fediverse_clients
PS. See something missing? File an issue or pull request at #Codeberg at:
https://codeberg.org/fediverse/delightful-fediverse-clients
Also check out the other fedi-related lists at https://delightful.coding.social or.. maybe you even want to start your own sub-list?
@cocoa@hackers.pub
When installing the patched versions of Misskey (Pull Request available) and Sharkey (with changes already applied) on a Fedora 42 environment, you may encounter the following errors:
error: ‘uint8_t’ was not declared in this scope
error: ‘state’ was not declared in this scope
These issues seem to stem from the version of GCC being used (Reference). Below, I will outline how to resolve these problems on Fedora 42.
First, as indicated in the wiki, install the necessary dependencies:
sudo dnf install cairo-devel libjpeg-turbo-devel pango-devel giflib-devel pixman-devel
Using the default GCC bundled with Fedora may lead to failed installations when running pnpm install
(as of May 27, 2025). To avoid this issue, we need to compile and use a other version of GCC/G++.
Start by downloading the GCC source code using wget, then extract it and navigate to the source directory:
wget https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.3.0/gcc-13.3.0.tar.gz
tar xzf gcc-13.3.0.tar.gz
cd gcc-13.3.0
mkdir build
cd build
Next, install the dependencies required for building GCC/G++:
sudo dnf group install development-tools
sudo dnf install mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel isl-devel libgphobos-static
Now, configure the build (Flags should be changed as needed.):
../configure --disable-bootstrap --prefix=/usr --program-suffix=-13.3 --mandir=/usr/share/man --enable-languages=c,c++
After configuration, compile GCC with the following command:
make
To utilize multiple cores for a faster build, use the -j
flag:
make -j6
Once the compilation is complete, install the new GCC version:
sudo make install
You can verify the installation of the compiled GCC using:
gcc-13.3 -v
Finally, to successfully install Sharkey and Misskey, modify the installation command as follows:
CXX=/usr/sbin/g++-13.3 CC=/usr/sbin/gcc-13.3 pnpm install --frozen-lockfile
With these adjustments, you should be able to install Misskey and Sharkey without any issues. Enjoy Fediverse!
*I have used LLM to some extent to modify the text to make it more natural. I checked to some extent before post, but please let us know if there are any unnatural parts.
@cocoa@hackers.pub
When installing the patched versions of Misskey (Pull Request available) and Sharkey (with changes already applied) on a Fedora 42 environment, you may encounter the following errors:
error: ‘uint8_t’ was not declared in this scope
error: ‘state’ was not declared in this scope
These issues seem to stem from the version of GCC being used (Reference). Below, I will outline how to resolve these problems on Fedora 42.
First, as indicated in the wiki, install the necessary dependencies:
sudo dnf install cairo-devel libjpeg-turbo-devel pango-devel giflib-devel pixman-devel
Using the default GCC bundled with Fedora may lead to failed installations when running pnpm install
(as of May 27, 2025). To avoid this issue, we need to compile and use a other version of GCC/G++.
Start by downloading the GCC source code using wget, then extract it and navigate to the source directory:
wget https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.3.0/gcc-13.3.0.tar.gz
tar xzf gcc-13.3.0.tar.gz
cd gcc-13.3.0
mkdir build
cd build
Next, install the dependencies required for building GCC/G++:
sudo dnf group install development-tools
sudo dnf install mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel isl-devel libgphobos-static
Now, configure the build (Flags should be changed as needed.):
../configure --disable-bootstrap --prefix=/usr --program-suffix=-13.3 --mandir=/usr/share/man --enable-languages=c,c++
After configuration, compile GCC with the following command:
make
To utilize multiple cores for a faster build, use the -j
flag:
make -j6
Once the compilation is complete, install the new GCC version:
sudo make install
You can verify the installation of the compiled GCC using:
gcc-13.3 -v
Finally, to successfully install Sharkey and Misskey, modify the installation command as follows:
CXX=/usr/sbin/g++-13.3 CC=/usr/sbin/gcc-13.3 pnpm install --frozen-lockfile
With these adjustments, you should be able to install Misskey and Sharkey without any issues. Enjoy Fediverse!
*I have used LLM to some extent to modify the text to make it more natural. I checked to some extent before post, but please let us know if there are any unnatural parts.
@cocoa@hackers.pub
When installing the patched versions of Misskey (Pull Request available) and Sharkey (with changes already applied) on a Fedora 42 environment, you may encounter the following errors:
error: ‘uint8_t’ was not declared in this scope
error: ‘state’ was not declared in this scope
These issues seem to stem from the version of GCC being used (Reference). Below, I will outline how to resolve these problems on Fedora 42.
First, as indicated in the wiki, install the necessary dependencies:
sudo dnf install cairo-devel libjpeg-turbo-devel pango-devel giflib-devel pixman-devel
Using the default GCC bundled with Fedora may lead to failed installations when running pnpm install
(as of May 27, 2025). To avoid this issue, we need to compile and use a other version of GCC/G++.
Start by downloading the GCC source code using wget, then extract it and navigate to the source directory:
wget https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.3.0/gcc-13.3.0.tar.gz
tar xzf gcc-13.3.0.tar.gz
cd gcc-13.3.0
mkdir build
cd build
Next, install the dependencies required for building GCC/G++:
sudo dnf group install development-tools
sudo dnf install mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel isl-devel libgphobos-static
Now, configure the build (Flags should be changed as needed.):
../configure --disable-bootstrap --prefix=/usr --program-suffix=-13.3 --mandir=/usr/share/man --enable-languages=c,c++
After configuration, compile GCC with the following command:
make
To utilize multiple cores for a faster build, use the -j
flag:
make -j6
Once the compilation is complete, install the new GCC version:
sudo make install
You can verify the installation of the compiled GCC using:
gcc-13.3 -v
Finally, to successfully install Sharkey and Misskey, modify the installation command as follows:
CXX=/usr/sbin/g++-13.3 CC=/usr/sbin/gcc-13.3 pnpm install --frozen-lockfile
With these adjustments, you should be able to install Misskey and Sharkey without any issues. Enjoy Fediverse!
*I have used LLM to some extent to modify the text to make it more natural. I checked to some extent before post, but please let us know if there are any unnatural parts.
@cocoa@hackers.pub
When installing the patched versions of Misskey (Pull Request available) and Sharkey (with changes already applied) on a Fedora 42 environment, you may encounter the following errors:
error: ‘uint8_t’ was not declared in this scope
error: ‘state’ was not declared in this scope
These issues seem to stem from the version of GCC being used (Reference). Below, I will outline how to resolve these problems on Fedora 42.
First, as indicated in the wiki, install the necessary dependencies:
sudo dnf install cairo-devel libjpeg-turbo-devel pango-devel giflib-devel pixman-devel
Using the default GCC bundled with Fedora may lead to failed installations when running pnpm install
(as of May 27, 2025). To avoid this issue, we need to compile and use a other version of GCC/G++.
Start by downloading the GCC source code using wget, then extract it and navigate to the source directory:
wget https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.3.0/gcc-13.3.0.tar.gz
tar xzf gcc-13.3.0.tar.gz
cd gcc-13.3.0
mkdir build
cd build
Next, install the dependencies required for building GCC/G++:
sudo dnf group install development-tools
sudo dnf install mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel isl-devel libgphobos-static
Now, configure the build (Flags should be changed as needed.):
../configure --disable-bootstrap --prefix=/usr --program-suffix=-13.3 --mandir=/usr/share/man --enable-languages=c,c++
After configuration, compile GCC with the following command:
make
To utilize multiple cores for a faster build, use the -j
flag:
make -j6
Once the compilation is complete, install the new GCC version:
sudo make install
You can verify the installation of the compiled GCC using:
gcc-13.3 -v
Finally, to successfully install Sharkey and Misskey, modify the installation command as follows:
CXX=/usr/sbin/g++-13.3 CC=/usr/sbin/gcc-13.3 pnpm install --frozen-lockfile
With these adjustments, you should be able to install Misskey and Sharkey without any issues. Enjoy Fediverse!
*I have used LLM to some extent to modify the text to make it more natural. I checked to some extent before post, but please let us know if there are any unnatural parts.
@cocoa@hackers.pub
When installing the patched versions of Misskey (Pull Request available) and Sharkey (with changes already applied) on a Fedora 42 environment, you may encounter the following errors:
error: ‘uint8_t’ was not declared in this scope
error: ‘state’ was not declared in this scope
These issues seem to stem from the version of GCC being used (Reference). Below, I will outline how to resolve these problems on Fedora 42.
First, as indicated in the wiki, install the necessary dependencies:
sudo dnf install cairo-devel libjpeg-turbo-devel pango-devel giflib-devel pixman-devel
Using the default GCC bundled with Fedora may lead to failed installations when running pnpm install
(as of May 27, 2025). To avoid this issue, we need to compile and use a other version of GCC/G++.
Start by downloading the GCC source code using wget, then extract it and navigate to the source directory:
wget https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.3.0/gcc-13.3.0.tar.gz
tar xzf gcc-13.3.0.tar.gz
cd gcc-13.3.0
mkdir build
cd build
Next, install the dependencies required for building GCC/G++:
sudo dnf group install development-tools
sudo dnf install mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel isl-devel libgphobos-static
Now, configure the build (Flags should be changed as needed.):
../configure --disable-bootstrap --prefix=/usr --program-suffix=-13.3 --mandir=/usr/share/man --enable-languages=c,c++
After configuration, compile GCC with the following command:
make
To utilize multiple cores for a faster build, use the -j
flag:
make -j6
Once the compilation is complete, install the new GCC version:
sudo make install
You can verify the installation of the compiled GCC using:
gcc-13.3 -v
Finally, to successfully install Sharkey and Misskey, modify the installation command as follows:
CXX=/usr/sbin/g++-13.3 CC=/usr/sbin/gcc-13.3 pnpm install --frozen-lockfile
With these adjustments, you should be able to install Misskey and Sharkey without any issues. Enjoy Fediverse!
*I have used LLM to some extent to modify the text to make it more natural. I checked to some extent before post, but please let us know if there are any unnatural parts.
@cocoa@hackers.pub
When installing the patched versions of Misskey (Pull Request available) and Sharkey (with changes already applied) on a Fedora 42 environment, you may encounter the following errors:
error: ‘uint8_t’ was not declared in this scope
error: ‘state’ was not declared in this scope
These issues seem to stem from the version of GCC being used (Reference). Below, I will outline how to resolve these problems on Fedora 42.
First, as indicated in the wiki, install the necessary dependencies:
sudo dnf install cairo-devel libjpeg-turbo-devel pango-devel giflib-devel pixman-devel
Using the default GCC bundled with Fedora may lead to failed installations when running pnpm install
(as of May 27, 2025). To avoid this issue, we need to compile and use a other version of GCC/G++.
Start by downloading the GCC source code using wget, then extract it and navigate to the source directory:
wget https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-13.3.0/gcc-13.3.0.tar.gz
tar xzf gcc-13.3.0.tar.gz
cd gcc-13.3.0
mkdir build
cd build
Next, install the dependencies required for building GCC/G++:
sudo dnf group install development-tools
sudo dnf install mpfr-devel gmp-devel libmpc-devel zlib-devel glibc-devel.i686 glibc-devel isl-devel libgphobos-static
Now, configure the build (Flags should be changed as needed.):
../configure --disable-bootstrap --prefix=/usr --program-suffix=-13.3 --mandir=/usr/share/man --enable-languages=c,c++
After configuration, compile GCC with the following command:
make
To utilize multiple cores for a faster build, use the -j
flag:
make -j6
Once the compilation is complete, install the new GCC version:
sudo make install
You can verify the installation of the compiled GCC using:
gcc-13.3 -v
Finally, to successfully install Sharkey and Misskey, modify the installation command as follows:
CXX=/usr/sbin/g++-13.3 CC=/usr/sbin/gcc-13.3 pnpm install --frozen-lockfile
With these adjustments, you should be able to install Misskey and Sharkey without any issues. Enjoy Fediverse!
*I have used LLM to some extent to modify the text to make it more natural. I checked to some extent before post, but please let us know if there are any unnatural parts.
@paul@oldfriends.live
Congratulations on your #ActivityPub Open Source Social Network ( #OSSN )
plugin, @redegelde
It's been a pleasure watching it come together.
It's great when more platforms enter the #Fediverse, esp a project like OSSN.
Esp awesome since OSSN is installable in so many PHP hosting control panels, like CPANEL's Softaculous. It's like it is opening the Fediverse to a entirely new class of self-hosters.
cc @evan
@stefan@gardenstate.social
Hey #Fediverse, do you love #TV? I've launched a new app to track your tv in a single user app with #activitypub support!
After you watch give my github repo a ⭐ ! https://github.com/stefanhayden/tvmarks
@paul@oldfriends.live
Congratulations on your #ActivityPub Open Source Social Network ( #OSSN )
plugin, @redegelde
It's been a pleasure watching it come together.
It's great when more platforms enter the #Fediverse, esp a project like OSSN.
Esp awesome since OSSN is installable in so many PHP hosting control panels, like CPANEL's Softaculous. It's like it is opening the Fediverse to a entirely new class of self-hosters.
cc @evan
@stefan@gardenstate.social
Hey #Fediverse, do you love #TV? I've launched a new app to track your tv in a single user app with #activitypub support!
After you watch give my github repo a ⭐ ! https://github.com/stefanhayden/tvmarks
@thomas@metalhead.club
Wow, Flipboard.com really stick to their Fediverse promise.
@stefan@gardenstate.social
Hey #Fediverse, do you love #TV? I've launched a new app to track your tv in a single user app with #activitypub support!
After you watch give my github repo a ⭐ ! https://github.com/stefanhayden/tvmarks
@stefan@gardenstate.social
Hey #Fediverse, do you love #TV? I've launched a new app to track your tv in a single user app with #activitypub support!
After you watch give my github repo a ⭐ ! https://github.com/stefanhayden/tvmarks
@thomas@metalhead.club
Wow, Flipboard.com really stick to their Fediverse promise.
@cryptadamist@universeodon.com
Ω🪬Ω
You can now send replies to Toots as well as expand threads directly within the #FediAlgo demo app, no need to click through to the regular Mastodon web interface.
* Link: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Video of FediAlgo in action: https://universeodon.com/@cryptadamist/114395249311910522
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #Masto #MastoAdmin #Mastodon #mastohelp #MastoJS #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@fedify@hollo.social
While #Fedify's #Vocabulary API provides comprehensive support for #ActivityPub and major vendor extensions, its code-generation approach makes runtime extensions challenging. However, the project welcomes contributions to expand the supported types and properties.
Fedify accepts vocabulary contributions when they meet any of these criteria:
Contributing new vocabulary is straightforward. The vocabulary definitions live in YAML files within the fedify/vocab/ directory. To add a new type, create a new .yaml file. To add properties to existing types, extend the properties
section in the relevant .yaml file.
This approach ensures Fedify's vocabulary coverage grows with the fediverse ecosystem while maintaining type safety and comprehensive documentation. If you're working with custom ActivityPub extensions, consider contributing them upstream to benefit the entire community.
For detailed guidance on the contribution process, see the Extending the vocabulary section in Fedify's docs.
@fedify@hollo.social
While #Fedify's #Vocabulary API provides comprehensive support for #ActivityPub and major vendor extensions, its code-generation approach makes runtime extensions challenging. However, the project welcomes contributions to expand the supported types and properties.
Fedify accepts vocabulary contributions when they meet any of these criteria:
Contributing new vocabulary is straightforward. The vocabulary definitions live in YAML files within the fedify/vocab/ directory. To add a new type, create a new .yaml file. To add properties to existing types, extend the properties
section in the relevant .yaml file.
This approach ensures Fedify's vocabulary coverage grows with the fediverse ecosystem while maintaining type safety and comprehensive documentation. If you're working with custom ActivityPub extensions, consider contributing them upstream to benefit the entire community.
For detailed guidance on the contribution process, see the Extending the vocabulary section in Fedify's docs.
@fedify@hollo.social
While #Fedify's #Vocabulary API provides comprehensive support for #ActivityPub and major vendor extensions, its code-generation approach makes runtime extensions challenging. However, the project welcomes contributions to expand the supported types and properties.
Fedify accepts vocabulary contributions when they meet any of these criteria:
Contributing new vocabulary is straightforward. The vocabulary definitions live in YAML files within the fedify/vocab/ directory. To add a new type, create a new .yaml file. To add properties to existing types, extend the properties
section in the relevant .yaml file.
This approach ensures Fedify's vocabulary coverage grows with the fediverse ecosystem while maintaining type safety and comprehensive documentation. If you're working with custom ActivityPub extensions, consider contributing them upstream to benefit the entire community.
For detailed guidance on the contribution process, see the Extending the vocabulary section in Fedify's docs.
@fedify@hollo.social
While #Fedify's #Vocabulary API provides comprehensive support for #ActivityPub and major vendor extensions, its code-generation approach makes runtime extensions challenging. However, the project welcomes contributions to expand the supported types and properties.
Fedify accepts vocabulary contributions when they meet any of these criteria:
Contributing new vocabulary is straightforward. The vocabulary definitions live in YAML files within the fedify/vocab/ directory. To add a new type, create a new .yaml file. To add properties to existing types, extend the properties
section in the relevant .yaml file.
This approach ensures Fedify's vocabulary coverage grows with the fediverse ecosystem while maintaining type safety and comprehensive documentation. If you're working with custom ActivityPub extensions, consider contributing them upstream to benefit the entire community.
For detailed guidance on the contribution process, see the Extending the vocabulary section in Fedify's docs.
@fedify@hollo.social
While #Fedify's #Vocabulary API provides comprehensive support for #ActivityPub and major vendor extensions, its code-generation approach makes runtime extensions challenging. However, the project welcomes contributions to expand the supported types and properties.
Fedify accepts vocabulary contributions when they meet any of these criteria:
Contributing new vocabulary is straightforward. The vocabulary definitions live in YAML files within the fedify/vocab/ directory. To add a new type, create a new .yaml file. To add properties to existing types, extend the properties
section in the relevant .yaml file.
This approach ensures Fedify's vocabulary coverage grows with the fediverse ecosystem while maintaining type safety and comprehensive documentation. If you're working with custom ActivityPub extensions, consider contributing them upstream to benefit the entire community.
For detailed guidance on the contribution process, see the Extending the vocabulary section in Fedify's docs.
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
5/
So, not just Decentralized Social (DeSo), but instead —
Decentralized Social (DeSo), Federated Social (FeSo), Localized Social (LoSo)
The goal is 'social' that is simultaneously — 'Decentralized', 'Federated', and 'Localized', all at the same time.
RE: https://mastodon.social/@reiver/114551725757671167
#ActivityPub #ActivityStreams #Decentralization #DeSo #Federation #FeSo #Fediverse #governance #Localization #LoSo
@cryptadamist@universeodon.com
Ω🪬Ω
You can now send replies to Toots as well as expand threads directly within the #FediAlgo demo app, no need to click through to the regular Mastodon web interface.
* Link: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Video of FediAlgo in action: https://universeodon.com/@cryptadamist/114395249311910522
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #Masto #MastoAdmin #Mastodon #mastohelp #MastoJS #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@eliasulrich@hachyderm.io
"#ActivityPub is a #protocol – like email, jpeg, MP3 and ‘http’ (behind every website) – that’s built for a world with millions of ‘pubs’ with 1000s or 100 or even just one or two people in them. But it’s not just a mini-social network builder – there’s the key extra ability to connect with anyone in any pub, and chat/subscribe/like/repost not-to-mention change venue, at any point. This is a completely new approach to the challenge of moderating social media: break it into smaller human-run ‘pubs’, and then let those pubs federate with those with similar values and #moderation skills. So the technology itself isn’t where #censorship happens – but between #communities".
@nic
@eliasulrich@hachyderm.io
"#ActivityPub is a #protocol – like email, jpeg, MP3 and ‘http’ (behind every website) – that’s built for a world with millions of ‘pubs’ with 1000s or 100 or even just one or two people in them. But it’s not just a mini-social network builder – there’s the key extra ability to connect with anyone in any pub, and chat/subscribe/like/repost not-to-mention change venue, at any point. This is a completely new approach to the challenge of moderating social media: break it into smaller human-run ‘pubs’, and then let those pubs federate with those with similar values and #moderation skills. So the technology itself isn’t where #censorship happens – but between #communities".
@nic
@fedizen@mastodon.social
»If I started fresh: What are the #mindsets that will provide a true #alternative? And how can we ensure it succeeds?« https://werd.io/2025/if-i-started-fresh?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@weekinfediverse@mitra.social
Servers
- Manyfold v0.111.0
- Smithereen v0.10.0
- Mitra v4.3.0
- Ibis v0.3.0
- ActivityPub for WordPress v5.9.2
- tootik v0.16.1
- NeoDB v0.11.7.2
- Gush! v0.0.19
- Moderation preferences (Ghost)
- Updating some legal features (Mastodon)
- Omnom: A webpage bookmarking and snapshotting service
Clients
- Aria v1.1.1
- Voyager v2.35.0
- Blorp v1.7.3
For developers
- Federails v0.7.0
- Fedialgo v0.48.0
Articles
- Take It Down Act 2025 (USA)
- Federation Compatibility : Mastodon and Lemmy
- Hubzilla Timeline and History
- Fediverse Report – #117
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196da9a-e025-140d-921e-0fe8c41656c8
@sl007@digitalcourage.social
Esteemed #Fediverse 💖
all the nice videos from #PubConf24 popped up in the peertube channel.
Our Talk on the Why and How of #ActivityPub is https://video.publicspaces.net/w/9USsJ37cHVy4tY9Pn7DX2X
An hour is incredible short, we should maybe demo the protocol on a large table rather in an expo space next year (?)
You can view all videos at the channell page
:digitalcourage: https://video.publicspaces.net/c/pubconf/videos
@fedizen@mastodon.social
»If I started fresh: What are the #mindsets that will provide a true #alternative? And how can we ensure it succeeds?« https://werd.io/2025/if-i-started-fresh?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@sl007@digitalcourage.social
Esteemed #Fediverse 💖
all the nice videos from #PubConf24 popped up in the peertube channel.
Our Talk on the Why and How of #ActivityPub is https://video.publicspaces.net/w/9USsJ37cHVy4tY9Pn7DX2X
An hour is incredible short, we should maybe demo the protocol on a large table rather in an expo space next year (?)
You can view all videos at the channell page
:digitalcourage: https://video.publicspaces.net/c/pubconf/videos
@potatomeow@fosstodon.org
just a shower thought... while making a #ActivityPub compatible server, should i allow anyone for download access to attachment type of files? like images, vids, etc.
for context, my server is only gonna serve physical products (like tshirts, shoes, or whatever), for now.
@weekinfediverse@mitra.social
Servers
- Manyfold v0.111.0
- Smithereen v0.10.0
- Mitra v4.3.0
- Ibis v0.3.0
- ActivityPub for WordPress v5.9.2
- tootik v0.16.1
- NeoDB v0.11.7.2
- Gush! v0.0.19
- Moderation preferences (Ghost)
- Updating some legal features (Mastodon)
- Omnom: A webpage bookmarking and snapshotting service
Clients
- Aria v1.1.1
- Voyager v2.35.0
- Blorp v1.7.3
For developers
- Federails v0.7.0
- Fedialgo v0.48.0
Articles
- Take It Down Act 2025 (USA)
- Federation Compatibility : Mastodon and Lemmy
- Hubzilla Timeline and History
- Fediverse Report – #117
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196da9a-e025-140d-921e-0fe8c41656c8
@potatomeow@fosstodon.org
just a shower thought... while making a #ActivityPub compatible server, should i allow anyone for download access to attachment type of files? like images, vids, etc.
for context, my server is only gonna serve physical products (like tshirts, shoes, or whatever), for now.
@potatomeow@fosstodon.org
just a shower thought... while making a #ActivityPub compatible server, should i allow anyone for download access to attachment type of files? like images, vids, etc.
for context, my server is only gonna serve physical products (like tshirts, shoes, or whatever), for now.
@weekinfediverse@mitra.social
Servers
- Manyfold v0.111.0
- Smithereen v0.10.0
- Mitra v4.3.0
- Ibis v0.3.0
- ActivityPub for WordPress v5.9.2
- tootik v0.16.1
- NeoDB v0.11.7.2
- Gush! v0.0.19
- Moderation preferences (Ghost)
- Updating some legal features (Mastodon)
- Omnom: A webpage bookmarking and snapshotting service
Clients
- Aria v1.1.1
- Voyager v2.35.0
- Blorp v1.7.3
For developers
- Federails v0.7.0
- Fedialgo v0.48.0
Articles
- Take It Down Act 2025 (USA)
- Federation Compatibility : Mastodon and Lemmy
- Hubzilla Timeline and History
- Fediverse Report – #117
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196da9a-e025-140d-921e-0fe8c41656c8
@weekinfediverse@mitra.social
Servers
- Manyfold v0.111.0
- Smithereen v0.10.0
- Mitra v4.3.0
- Ibis v0.3.0
- ActivityPub for WordPress v5.9.2
- tootik v0.16.1
- NeoDB v0.11.7.2
- Gush! v0.0.19
- Moderation preferences (Ghost)
- Updating some legal features (Mastodon)
- Omnom: A webpage bookmarking and snapshotting service
Clients
- Aria v1.1.1
- Voyager v2.35.0
- Blorp v1.7.3
For developers
- Federails v0.7.0
- Fedialgo v0.48.0
Articles
- Take It Down Act 2025 (USA)
- Federation Compatibility : Mastodon and Lemmy
- Hubzilla Timeline and History
- Fediverse Report – #117
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196da9a-e025-140d-921e-0fe8c41656c8
@weekinfediverse@mitra.social
Servers
- Manyfold v0.111.0
- Smithereen v0.10.0
- Mitra v4.3.0
- Ibis v0.3.0
- ActivityPub for WordPress v5.9.2
- tootik v0.16.1
- NeoDB v0.11.7.2
- Gush! v0.0.19
- Moderation preferences (Ghost)
- Updating some legal features (Mastodon)
- Omnom: A webpage bookmarking and snapshotting service
Clients
- Aria v1.1.1
- Voyager v2.35.0
- Blorp v1.7.3
For developers
- Federails v0.7.0
- Fedialgo v0.48.0
Articles
- Take It Down Act 2025 (USA)
- Federation Compatibility : Mastodon and Lemmy
- Hubzilla Timeline and History
- Fediverse Report – #117
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196da9a-e025-140d-921e-0fe8c41656c8
@weekinfediverse@mitra.social
Servers
- Manyfold v0.111.0
- Smithereen v0.10.0
- Mitra v4.3.0
- Ibis v0.3.0
- ActivityPub for WordPress v5.9.2
- tootik v0.16.1
- NeoDB v0.11.7.2
- Gush! v0.0.19
- Moderation preferences (Ghost)
- Updating some legal features (Mastodon)
- Omnom: A webpage bookmarking and snapshotting service
Clients
- Aria v1.1.1
- Voyager v2.35.0
- Blorp v1.7.3
For developers
- Federails v0.7.0
- Fedialgo v0.48.0
Articles
- Take It Down Act 2025 (USA)
- Federation Compatibility : Mastodon and Lemmy
- Hubzilla Timeline and History
- Fediverse Report – #117
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196da9a-e025-140d-921e-0fe8c41656c8
@box464@mastodon.social
GreatApe, a federated live video / audio platform, is hosting an event right now! Give it a go, help test it out.
@box464@mastodon.social
GreatApe, a federated live video / audio platform, is hosting an event right now! Give it a go, help test it out.
@box464@mastodon.social
GreatApe, a federated live video / audio platform, is hosting an event right now! Give it a go, help test it out.
@mapache@hachyderm.io
#Fediverse! I will be hosting an unconference of @badgefed - an microcredentials system decentralizing using #activitypub and #openbadges - in the @fediforum
I will be giving an attendee badge to everyone to stop and say hi, so, if you have not registered for this virtual conference on June 5-7 go to https://fediforum.org/ and do it if you can!
See you there!
@mapache@hachyderm.io
#Fediverse! I will be hosting an unconference of @badgefed - an microcredentials system decentralizing using #activitypub and #openbadges - in the @fediforum
I will be giving an attendee badge to everyone to stop and say hi, so, if you have not registered for this virtual conference on June 5-7 go to https://fediforum.org/ and do it if you can!
See you there!
@box464@mastodon.social
If you’re looking for a Pocket replacement, the good news is that there are tons of open source options available - if you’re willing to self host. And if you’re going that route, why not try a federated bookmarking platform? I know of two.
Might be a little biased as I’ve contributed once or twice, but Postmarks works great. Yes, it was built with Glitch in mind but I run it as a Docker container myself.
@deadsuperhero@social.wedistribute.org
Just an update: I’ve added a speculative section for how data from Pocket could be converted into #ActivityPub data for a potential implementation: https://cloud.deadsuperhero.com/s/Tyc6woCaPBgGfSd#h-activitypub-representation
There are probably some flaws in here, reading the specs for ActivityStreams and Mastodon reminds me of a number of quirks regarding how different platforms implement things.
@mbajur@mastodon.social
Is there a need for #activitypub / #fediverse alternative to #lastfm for #music #scrobbling ? Would you use it?
@mariusor@metalhead.club
#Oni the single user ActivityPub server, is getting some improvements on directly running it out of the box without requiring any set-up steps.
It is now available on the first run and every modification can be done afterwards using client to server #ActivityPub calls. Yay!
Reminder that there is a demo instance up, and running my sporadic blog: @marius
@grishka@mastodon.social
#Smithereen 0.10 is out!
This release adds instant notifications, online statuses, friend lists, email notifications, account migration, and more. It's also the first version of Smithereen that isn't frustrating to install.
Full release notes here: https://github.com/grishka/Smithereen/releases/tag/0.10
@michael@thms.uk
I have posted about this before, but wanted to re-iterate how much in love I am with FediAlgo:
I’m currently on paternity leave so have around half an hour per day for social. That is of course far from enough to keep up with a chronological timeline like mine, and previously with Mastodon the FOMO was real.
Now I go to FediAlgo and I feel I got an overview over what’s interesting in that day. It’s also immensely customisable, but the defaults do a decent job for me.
If you haven’t tried it yet, I highly recommend you try it out. You can try it out on my personal playground at https://fedialgo.thms.uk or on the maintainer’s official website at https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
Thanks @cryptadamist for the work you put into this!
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #MastoAdmin #Mastodon #mastohelp #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@box464@mastodon.social
If you’re looking for a Pocket replacement, the good news is that there are tons of open source options available - if you’re willing to self host. And if you’re going that route, why not try a federated bookmarking platform? I know of two.
Might be a little biased as I’ve contributed once or twice, but Postmarks works great. Yes, it was built with Glitch in mind but I run it as a Docker container myself.
@grishka@mastodon.social
#Smithereen 0.10 is out!
This release adds instant notifications, online statuses, friend lists, email notifications, account migration, and more. It's also the first version of Smithereen that isn't frustrating to install.
Full release notes here: https://github.com/grishka/Smithereen/releases/tag/0.10
@grishka@mastodon.social
#Smithereen 0.10 is out!
This release adds instant notifications, online statuses, friend lists, email notifications, account migration, and more. It's also the first version of Smithereen that isn't frustrating to install.
Full release notes here: https://github.com/grishka/Smithereen/releases/tag/0.10
@grishka@mastodon.social
#Smithereen 0.10 is out!
This release adds instant notifications, online statuses, friend lists, email notifications, account migration, and more. It's also the first version of Smithereen that isn't frustrating to install.
Full release notes here: https://github.com/grishka/Smithereen/releases/tag/0.10
@grishka@mastodon.social
#Smithereen 0.10 is out!
This release adds instant notifications, online statuses, friend lists, email notifications, account migration, and more. It's also the first version of Smithereen that isn't frustrating to install.
Full release notes here: https://github.com/grishka/Smithereen/releases/tag/0.10
@michael@thms.uk
I have posted about this before, but wanted to re-iterate how much in love I am with FediAlgo:
I’m currently on paternity leave so have around half an hour per day for social. That is of course far from enough to keep up with a chronological timeline like mine, and previously with Mastodon the FOMO was real.
Now I go to FediAlgo and I feel I got an overview over what’s interesting in that day. It’s also immensely customisable, but the defaults do a decent job for me.
If you haven’t tried it yet, I highly recommend you try it out. You can try it out on my personal playground at https://fedialgo.thms.uk or on the maintainer’s official website at https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
Thanks @cryptadamist for the work you put into this!
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #MastoAdmin #Mastodon #mastohelp #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@mariusor@metalhead.club
#Oni the single user ActivityPub server, is getting some improvements on directly running it out of the box without requiring any set-up steps.
It is now available on the first run and every modification can be done afterwards using client to server #ActivityPub calls. Yay!
Reminder that there is a demo instance up, and running my sporadic blog: @marius
@deadsuperhero@social.wedistribute.org
Just an update: I’ve added a speculative section for how data from Pocket could be converted into #ActivityPub data for a potential implementation: https://cloud.deadsuperhero.com/s/Tyc6woCaPBgGfSd#h-activitypub-representation
There are probably some flaws in here, reading the specs for ActivityStreams and Mastodon reminds me of a number of quirks regarding how different platforms implement things.
@mbajur@mastodon.social
Is there a need for #activitypub / #fediverse alternative to #lastfm for #music #scrobbling ? Would you use it?
@deadsuperhero@social.wedistribute.org
Just an update: I’ve added a speculative section for how data from Pocket could be converted into #ActivityPub data for a potential implementation: https://cloud.deadsuperhero.com/s/Tyc6woCaPBgGfSd#h-activitypub-representation
There are probably some flaws in here, reading the specs for ActivityStreams and Mastodon reminds me of a number of quirks regarding how different platforms implement things.
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
5/
So, not just Decentralized Social (DeSo), but instead —
Decentralized Social (DeSo), Federated Social (FeSo), Localized Social (LoSo)
The goal is 'social' that is simultaneously — 'Decentralized', 'Federated', and 'Localized', all at the same time.
RE: https://mastodon.social/@reiver/114551725757671167
#ActivityPub #ActivityStreams #Decentralization #DeSo #Federation #FeSo #Fediverse #governance #Localization #LoSo
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
4/
Federation is the word we use to describe that act of bringing together and connecting these separate Decentralized, Localized communities.
This is where protocols such as ActivityPub, ActivityStreams, etc come into play.
Federation is a voluntary choice.
But, so too is Defederation, if desired.
#ActivityPub #ActivityStreams #Decentralization #DeSo #Federation #FeSo #Fediverse #governance #Localization #LoSo
@mbajur@mastodon.social
Is there a need for #activitypub / #fediverse alternative to #lastfm for #music #scrobbling ? Would you use it?
@mbajur@mastodon.social
Is there a need for #activitypub / #fediverse alternative to #lastfm for #music #scrobbling ? Would you use it?
@mariusor@metalhead.club
#Oni the single user ActivityPub server, is getting some improvements on directly running it out of the box without requiring any set-up steps.
It is now available on the first run and every modification can be done afterwards using client to server #ActivityPub calls. Yay!
Reminder that there is a demo instance up, and running my sporadic blog: @marius
@mariusor@metalhead.club
#Oni the single user ActivityPub server, is getting some improvements on directly running it out of the box without requiring any set-up steps.
It is now available on the first run and every modification can be done afterwards using client to server #ActivityPub calls. Yay!
Reminder that there is a demo instance up, and running my sporadic blog: @marius
@emanuele@m.divita.eu
«Easier Onboarding for Your Fediverse Experience»
Getting started with #ActivityPub on #WordPress just got a lot easier. A new guided onboarding experience is now part of the plugin, designed to help you configure key settings and understand how your site connects to the #Fediverse—from the moment you activate it.
https://activitypub.blog/2025/05/14/5-9-0-easier-onboarding-for-your-fediverse-experience/
@emanuele@m.divita.eu
«Easier Onboarding for Your Fediverse Experience»
Getting started with #ActivityPub on #WordPress just got a lot easier. A new guided onboarding experience is now part of the plugin, designed to help you configure key settings and understand how your site connects to the #Fediverse—from the moment you activate it.
https://activitypub.blog/2025/05/14/5-9-0-easier-onboarding-for-your-fediverse-experience/
@j12t@j12t.social
Does anybody know how the term "ActivityPub" was coined? Why that particular name?
(It's not an obvious one for a decentralized social media protocol.)
@emanuele@m.divita.eu
«Easier Onboarding for Your Fediverse Experience»
Getting started with #ActivityPub on #WordPress just got a lot easier. A new guided onboarding experience is now part of the plugin, designed to help you configure key settings and understand how your site connects to the #Fediverse—from the moment you activate it.
https://activitypub.blog/2025/05/14/5-9-0-easier-onboarding-for-your-fediverse-experience/
@j12t@j12t.social
Does anybody know how the term "ActivityPub" was coined? Why that particular name?
(It's not an obvious one for a decentralized social media protocol.)
@j12t@j12t.social
Does anybody know how the term "ActivityPub" was coined? Why that particular name?
(It's not an obvious one for a decentralized social media protocol.)
@emanuele@m.divita.eu
«Easier Onboarding for Your Fediverse Experience»
Getting started with #ActivityPub on #WordPress just got a lot easier. A new guided onboarding experience is now part of the plugin, designed to help you configure key settings and understand how your site connects to the #Fediverse—from the moment you activate it.
https://activitypub.blog/2025/05/14/5-9-0-easier-onboarding-for-your-fediverse-experience/
@emanuele@m.divita.eu
«Easier Onboarding for Your Fediverse Experience»
Getting started with #ActivityPub on #WordPress just got a lot easier. A new guided onboarding experience is now part of the plugin, designed to help you configure key settings and understand how your site connects to the #Fediverse—from the moment you activate it.
https://activitypub.blog/2025/05/14/5-9-0-easier-onboarding-for-your-fediverse-experience/
@emanuele@m.divita.eu
«Easier Onboarding for Your Fediverse Experience»
Getting started with #ActivityPub on #WordPress just got a lot easier. A new guided onboarding experience is now part of the plugin, designed to help you configure key settings and understand how your site connects to the #Fediverse—from the moment you activate it.
https://activitypub.blog/2025/05/14/5-9-0-easier-onboarding-for-your-fediverse-experience/
@nicol@social.coop
Can't deny being made up that three months after 1st trying to build a #WordPress site using @pfefferle's #ActivityPub plugin - yesterday it finally clicked, with two posts getting lots of boosts, stars & comments:
https://social.coop/@nic@25.netribution.co.uk/114540205512006673
&
https://social.coop/@nic@25.netribution.co.uk/114539971161094428
Am still far from perfecting the integration, but this bar at the bottom is lovely… as is discovering a bunch of servers using different forks/UIs to regular Masto that I've not seen before. Curiously still only one subscriber tho.
@nicol@social.coop
Can't deny being made up that three months after 1st trying to build a #WordPress site using @pfefferle's #ActivityPub plugin - yesterday it finally clicked, with two posts getting lots of boosts, stars & comments:
https://social.coop/@nic@25.netribution.co.uk/114540205512006673
&
https://social.coop/@nic@25.netribution.co.uk/114539971161094428
Am still far from perfecting the integration, but this bar at the bottom is lovely… as is discovering a bunch of servers using different forks/UIs to regular Masto that I've not seen before. Curiously still only one subscriber tho.
@deadsuperhero@social.wedistribute.org
Just a friendly reminder: my personal blog is powered by Ghost, and has #ActivityPub integration enabled!
It’s meant to be a more personal alt that focuses on projects and opinions, but there’s probably still going to be some overlap between this account and that one. But, if you like what I have to say, feel free to give it a follow!
Handle can be found here: (at)sean@deadsuperhero.com
@deadsuperhero@social.wedistribute.org
Just a friendly reminder: my personal blog is powered by Ghost, and has #ActivityPub integration enabled!
It’s meant to be a more personal alt that focuses on projects and opinions, but there’s probably still going to be some overlap between this account and that one. But, if you like what I have to say, feel free to give it a follow!
Handle can be found here: (at)sean@deadsuperhero.com
@maxdonati@mastodon.social
Bluesky still leaves me unconvinced. An open protocol isn’t enough if it’s controlled by a single entity. The future of social media lies in true federation, like the ActivityPub model: interoperability, decentralization, autonomy. Otherwise, how is it any different from the usual proprietary systems? #Bluesky #ActivityPub
https://about.flipboard.com/fediverse/blacksky-rudy-fraser/
@fread@mastodon.social
Exciting news! #Fread is now live on F-Droid! 🚀🎉 A big thanks to the F-Droid community for making this happen. Download it today and join the movement!
https://f-droid.org/packages/com.zhangke.fread/
#fdroid #Mastodon #Bluesky #rss #activitypub #fediverse #FOSS #Android #Opensource #Freesoftware
@maxdonati@mastodon.social
Bluesky still leaves me unconvinced. An open protocol isn’t enough if it’s controlled by a single entity. The future of social media lies in true federation, like the ActivityPub model: interoperability, decentralization, autonomy. Otherwise, how is it any different from the usual proprietary systems? #Bluesky #ActivityPub
https://about.flipboard.com/fediverse/blacksky-rudy-fraser/
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
We've just submitted an #application to the Sovereign Tech Fund for the #Fedify project! Hoping to further develop and enhance the framework for a more robust federated web.
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@tchambers@indieweb.social
Building out this new Surffeed: will focus on accounts from both #Aproto and #Activitypub that have opted in to bridge to each other.
Bridged Bluesky & Mastodon Accounts
https://surf.social/feed/surf%2Fcustom%2F01jvpqahsetn7cnxqmqewa2nr9
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@hongminhee@hollo.social
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
@rainer@socialbc.ca
Maybe there are some #Canada based #fediverse devs already working on this, but I so wish there was a publishing platform that was #ActivityPub and #socialweb first, and specifically for public institutions in 🇨🇦
Very similar to how #Ghost works (built-in to core). Followable anywhere on the social web. Bus route updates, water restriction updates, weather alerts...one domain per municipality, difft accts per agency.
This is a national security issue if Musk & Co can cut off our govt comms.
@reiver@mastodon.social
What does it take to get a PieFed instance setup?
RE: https://video.firesidefedi.live/w/t4M5fXeXqhfJ39MjbCmA7s
#ActivityPub #DeSo #Fediverse #FediverseHistory #FireSideFediClips #PieFed #SocialMedia #Threadiverse
@rainer@socialbc.ca
Maybe there are some #Canada based #fediverse devs already working on this, but I so wish there was a publishing platform that was #ActivityPub and #socialweb first, and specifically for public institutions in 🇨🇦
Very similar to how #Ghost works (built-in to core). Followable anywhere on the social web. Bus route updates, water restriction updates, weather alerts...one domain per municipality, difft accts per agency.
This is a national security issue if Musk & Co can cut off our govt comms.
@fread@mastodon.social
Exciting news! #Fread is now live on F-Droid! 🚀🎉 A big thanks to the F-Droid community for making this happen. Download it today and join the movement!
https://f-droid.org/packages/com.zhangke.fread/
#fdroid #Mastodon #Bluesky #rss #activitypub #fediverse #FOSS #Android #Opensource #Freesoftware
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@fread@mastodon.social
Exciting news! #Fread is now live on F-Droid! 🚀🎉 A big thanks to the F-Droid community for making this happen. Download it today and join the movement!
https://f-droid.org/packages/com.zhangke.fread/
#fdroid #Mastodon #Bluesky #rss #activitypub #fediverse #FOSS #Android #Opensource #Freesoftware
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@rainer@socialbc.ca
Maybe there are some #Canada based #fediverse devs already working on this, but I so wish there was a publishing platform that was #ActivityPub and #socialweb first, and specifically for public institutions in 🇨🇦
Very similar to how #Ghost works (built-in to core). Followable anywhere on the social web. Bus route updates, water restriction updates, weather alerts...one domain per municipality, difft accts per agency.
This is a national security issue if Musk & Co can cut off our govt comms.
@reiver@mastodon.social
What does it take to get a PieFed instance setup?
RE: https://video.firesidefedi.live/w/t4M5fXeXqhfJ39MjbCmA7s
#ActivityPub #DeSo #Fediverse #FediverseHistory #FireSideFediClips #PieFed #SocialMedia #Threadiverse
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
We've just submitted an #application to the Sovereign Tech Fund for the #Fedify project! Hoping to further develop and enhance the framework for a more robust federated web.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@reiver@mastodon.social
“The origin story of Pixelfed does have its roots in GNU social — and we've been heavily inspired by Mastodon as well.”
RE: https://video.firesidefedi.live/w/kk7x8GAs7gNvkzaPs6EPiU
#ActivityPub #DeSo #Fediverse #FediverseHistory #FireSideFediClips #GNUSocial #Mastodon #Pixelfed #SocialMedia
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
We've just submitted an #application to the Sovereign Tech Fund for the #Fedify project! Hoping to further develop and enhance the framework for a more robust federated web.
@reiver@mastodon.social
“The origin story of Pixelfed does have its roots in GNU social — and we've been heavily inspired by Mastodon as well.”
RE: https://video.firesidefedi.live/w/kk7x8GAs7gNvkzaPs6EPiU
#ActivityPub #DeSo #Fediverse #FediverseHistory #FireSideFediClips #GNUSocial #Mastodon #Pixelfed #SocialMedia
@reiver@mastodon.social
“The origin story of Pixelfed does have its roots in GNU social — and we've been heavily inspired by Mastodon as well.”
RE: https://video.firesidefedi.live/w/kk7x8GAs7gNvkzaPs6EPiU
#ActivityPub #DeSo #Fediverse #FediverseHistory #FireSideFediClips #GNUSocial #Mastodon #Pixelfed #SocialMedia
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
We've just submitted an #application to the Sovereign Tech Fund for the #Fedify project! Hoping to further develop and enhance the framework for a more robust federated web.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
We've just submitted an #application to the Sovereign Tech Fund for the #Fedify project! Hoping to further develop and enhance the framework for a more robust federated web.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
We've just submitted an #application to the Sovereign Tech Fund for the #Fedify project! Hoping to further develop and enhance the framework for a more robust federated web.
@box464@mastodon.social
PieFed adds PassKeys! As in, log in only with your passkey. Not just as a 2FA addition to your username/password.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those interested in supporting #Fedify's development, we do have an Open Collective page where community #sponsorship is welcome.
Even small contributions help sustain development and show there's interest in open source #ActivityPub tools. Thanks to our existing sponsors who've already been helping move the project forward!
The goal remains the same: make building federated applications more accessible to developers so the #fediverse can continue to grow and thrive.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those interested in supporting #Fedify's development, we do have an Open Collective page where community #sponsorship is welcome.
Even small contributions help sustain development and show there's interest in open source #ActivityPub tools. Thanks to our existing sponsors who've already been helping move the project forward!
The goal remains the same: make building federated applications more accessible to developers so the #fediverse can continue to grow and thrive.
@ozoned@social.ozoned.net
Thank you to folks that answered my #GTS poll. Seems like a LOT of folks don't know what GTS is! GTS or #GoToSocial is a #GO written #activityPub #server for small groups of folks that's super lightweight, fast and easy to install. You can find them on #Fediverse at @gotosocial .
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@AeonCypher@lgbtqia.space · Reply to ➴➴➴Æ🜔Ɲ.Ƈꭚ⍴𝔥єɼ👩🏻💻's post
Okay, but we can also #federate this now with the #fediverse. Like, #ActivityPub can handle search queries just fine.
So, just running on microcomputers, everyone can put on their own index whatever they want.
A person can _easily_ index 50,000 pages on a rapsberry pi.
A #FediSearch can broadcast any query to known peers. Each peer returns top-k results. The originating node can then aggregate and rank.
So @alice queries their FediSearch, it searches its own index and queries subscribed peers, those peers do the same thing. Nodes can choose who they trust, cache, etc.
The number of indexes pages will be something along the lines of `pages_per_nod * log(number_nodes)`. So a thousand nodes may only cover a million pages, but if the trust network is good, those are probably the most important million pages.
Also, I would venture that you'd have some nodes specializing in having a lot of pages: tens of millions, others just for stuff they like, others specifically for non-commercial interests. Selecting who you federate your search with really affects the ranking.
#FediSearch #ActivityPub #FederatedSearch #Fediverse #RaspberryPi #SearchEngine #DecentralizedWeb #SelfHosting
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those interested in supporting #Fedify's development, we do have an Open Collective page where community #sponsorship is welcome.
Even small contributions help sustain development and show there's interest in open source #ActivityPub tools. Thanks to our existing sponsors who've already been helping move the project forward!
The goal remains the same: make building federated applications more accessible to developers so the #fediverse can continue to grow and thrive.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@ozoned@social.ozoned.net
Thank you to folks that answered my #GTS poll. Seems like a LOT of folks don't know what GTS is! GTS or #GoToSocial is a #GO written #activityPub #server for small groups of folks that's super lightweight, fast and easy to install. You can find them on #Fediverse at @gotosocial .
@ozoned@social.ozoned.net
Thank you to folks that answered my #GTS poll. Seems like a LOT of folks don't know what GTS is! GTS or #GoToSocial is a #GO written #activityPub #server for small groups of folks that's super lightweight, fast and easy to install. You can find them on #Fediverse at @gotosocial .
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those interested in supporting #Fedify's development, we do have an Open Collective page where community #sponsorship is welcome.
Even small contributions help sustain development and show there's interest in open source #ActivityPub tools. Thanks to our existing sponsors who've already been helping move the project forward!
The goal remains the same: make building federated applications more accessible to developers so the #fediverse can continue to grow and thrive.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those interested in supporting #Fedify's development, we do have an Open Collective page where community #sponsorship is welcome.
Even small contributions help sustain development and show there's interest in open source #ActivityPub tools. Thanks to our existing sponsors who've already been helping move the project forward!
The goal remains the same: make building federated applications more accessible to developers so the #fediverse can continue to grow and thrive.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those interested in supporting #Fedify's development, we do have an Open Collective page where community #sponsorship is welcome.
Even small contributions help sustain development and show there's interest in open source #ActivityPub tools. Thanks to our existing sponsors who've already been helping move the project forward!
The goal remains the same: make building federated applications more accessible to developers so the #fediverse can continue to grow and thrive.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those interested in supporting #Fedify's development, we do have an Open Collective page where community #sponsorship is welcome.
Even small contributions help sustain development and show there's interest in open source #ActivityPub tools. Thanks to our existing sponsors who've already been helping move the project forward!
The goal remains the same: make building federated applications more accessible to developers so the #fediverse can continue to grow and thrive.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@youronlyone@vivaldi.net
Happy 17th Year Anniversary #Fediverse social network!
Always strong! 🎊🎉🎂🍻🎆🥳🤹🏽
( #FediverseDay #SNS #SocMed #SocialMedia #SocialWeb #OpenMicroBlogging #OStatus #ActivityPub #Laconica #Identica #Web3 )
@AeonCypher@lgbtqia.space · Reply to ➴➴➴Æ🜔Ɲ.Ƈꭚ⍴𝔥єɼ👩🏻💻's post
Okay, but we can also #federate this now with the #fediverse. Like, #ActivityPub can handle search queries just fine.
So, just running on microcomputers, everyone can put on their own index whatever they want.
A person can _easily_ index 50,000 pages on a rapsberry pi.
A #FediSearch can broadcast any query to known peers. Each peer returns top-k results. The originating node can then aggregate and rank.
So @alice queries their FediSearch, it searches its own index and queries subscribed peers, those peers do the same thing. Nodes can choose who they trust, cache, etc.
The number of indexes pages will be something along the lines of `pages_per_nod * log(number_nodes)`. So a thousand nodes may only cover a million pages, but if the trust network is good, those are probably the most important million pages.
Also, I would venture that you'd have some nodes specializing in having a lot of pages: tens of millions, others just for stuff they like, others specifically for non-commercial interests. Selecting who you federate your search with really affects the ranking.
#FediSearch #ActivityPub #FederatedSearch #Fediverse #RaspberryPi #SearchEngine #DecentralizedWeb #SelfHosting
@box464@mastodon.social
PieFed adds PassKeys! As in, log in only with your passkey. Not just as a 2FA addition to your username/password.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those interested in supporting #Fedify's development, we do have an Open Collective page where community #sponsorship is welcome.
Even small contributions help sustain development and show there's interest in open source #ActivityPub tools. Thanks to our existing sponsors who've already been helping move the project forward!
The goal remains the same: make building federated applications more accessible to developers so the #fediverse can continue to grow and thrive.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those interested in supporting #Fedify's development, we do have an Open Collective page where community #sponsorship is welcome.
Even small contributions help sustain development and show there's interest in open source #ActivityPub tools. Thanks to our existing sponsors who've already been helping move the project forward!
The goal remains the same: make building federated applications more accessible to developers so the #fediverse can continue to grow and thrive.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@hongminhee@hollo.social
Just received word that @fedify wasn't selected for @nlnet's Open Call this round. While disappointing, I understand the competition was fierce with many worthy projects seeking limited funding.
The journey continues though—#Fedify development will move forward at its own pace. Thanks to everyone who's shown interest and support for this project so far. Building tools for the #fediverse remains important work, and I'm committed to seeing it through.
If you know of other funding opportunities that might be a good fit for open source #ActivityPub tools, I'm all ears.
@box464@mastodon.social
PieFed adds PassKeys! As in, log in only with your passkey. Not just as a 2FA addition to your username/password.
@box464@mastodon.social
PieFed adds PassKeys! As in, log in only with your passkey. Not just as a 2FA addition to your username/password.
@box464@mastodon.social
PieFed adds PassKeys! As in, log in only with your passkey. Not just as a 2FA addition to your username/password.
@AeonCypher@lgbtqia.space · Reply to ➴➴➴Æ🜔Ɲ.Ƈꭚ⍴𝔥єɼ👩🏻💻's post
Okay, but we can also #federate this now with the #fediverse. Like, #ActivityPub can handle search queries just fine.
So, just running on microcomputers, everyone can put on their own index whatever they want.
A person can _easily_ index 50,000 pages on a rapsberry pi.
A #FediSearch can broadcast any query to known peers. Each peer returns top-k results. The originating node can then aggregate and rank.
So @alice queries their FediSearch, it searches its own index and queries subscribed peers, those peers do the same thing. Nodes can choose who they trust, cache, etc.
The number of indexes pages will be something along the lines of `pages_per_nod * log(number_nodes)`. So a thousand nodes may only cover a million pages, but if the trust network is good, those are probably the most important million pages.
Also, I would venture that you'd have some nodes specializing in having a lot of pages: tens of millions, others just for stuff they like, others specifically for non-commercial interests. Selecting who you federate your search with really affects the ranking.
#FediSearch #ActivityPub #FederatedSearch #Fediverse #RaspberryPi #SearchEngine #DecentralizedWeb #SelfHosting
@youronlyone@vivaldi.net
Happy 17th Year Anniversary #Fediverse social network!
Always strong! 🎊🎉🎂🍻🎆🥳🤹🏽
( #FediverseDay #SNS #SocMed #SocialMedia #SocialWeb #OpenMicroBlogging #OStatus #ActivityPub #Laconica #Identica #Web3 )
@youronlyone@c.im
Happy 17th Year Anniversary #Fediverse social network!
Always strong! 🎊🎉🎂🍻🎆🥳🤹🏽
( #FediverseDay #SNS #SocMed #SocialMedia #SocialWeb #OpenMicroBlogging #OStatus #ActivityPub #Laconica #Identica #Web3 )
@mapache@hachyderm.io
Do you want to help testing @badgefed and provision your local test instance?
Easy
docker pull ghcr.io/tryvocalcat/badgefed:latest &&
docker run -v `pwd`/data:/app/data \
-p 8080:8080 \
-e SQLITE_DB_FILENAME=/app/data/badges.db \
-e AdminAuthentication__AdminUsers__0__Id=your-mastodon-username \
-e AdminAuthentication__AdminUsers__0__Type=Mastodon \
-e MastodonConfig__ClientId=your-mastodon-client-id \
-e MastodonConfig__ClientSecret=your-mastodon-client-secret \
-e MastodonConfig__Server=your-mastodon-server \
ghcr.io/tryvocalcat/badgefed
And then open a browser and go to http://localhost:8080 or http://localhost:8080/admin
#docker #badgefed #openbadges #softwaredevelopment #testing #fediverse #activitypub
@mapache@hachyderm.io
Do you want to help testing @badgefed and provision your local test instance?
Easy
docker pull ghcr.io/tryvocalcat/badgefed:latest &&
docker run -v `pwd`/data:/app/data \
-p 8080:8080 \
-e SQLITE_DB_FILENAME=/app/data/badges.db \
-e AdminAuthentication__AdminUsers__0__Id=your-mastodon-username \
-e AdminAuthentication__AdminUsers__0__Type=Mastodon \
-e MastodonConfig__ClientId=your-mastodon-client-id \
-e MastodonConfig__ClientSecret=your-mastodon-client-secret \
-e MastodonConfig__Server=your-mastodon-server \
ghcr.io/tryvocalcat/badgefed
And then open a browser and go to http://localhost:8080 or http://localhost:8080/admin
#docker #badgefed #openbadges #softwaredevelopment #testing #fediverse #activitypub
@cryptadamist@universeodon.com
Ω🪬Ω
#FediAlgo, the customizable timeline algorithm / filtering system for your Mastodon feed, is now deployed on Github Pages and can be used from your web browser.
* Link: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Video of FediAlgo in action: https://universeodon.com/@cryptadamist/114395249311910522
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #Masto #MastoAdmin #Mastodon #mastohelp #MastoJS #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@weekinfediverse@mitra.social
Servers
- Owncast v0.2.3
- snac v2.77
- ActivityPub for WordPress v5.9.0
- NeoDB v0.11.6.9
- Vernissage Server v1.14.0
- NodeBB v4.4.0
- Lemmy Development Update April 2025
- How PieFed federates “flair” on posts and comments
- Blocking domains (Ghost)
Clients
- Moshidon v109
- aria v1.1.0
- Blorp v1.5.0
- Flohra: An open source client for Flohmarkt
Tools and Plugins
- PeerTube livechat plugin v12.0.4
- feed2fedi v3.2.1
- fedidb-nuxt: The next generation frontend for fedidb.org
For developers
Protocol
- FEP-82f6: Actor statuses
- FEP-0151: NodeInfo in Fediverse Software (2025 edition)
- FEP-521a: Representing actor's public keys (Final comments)
Articles
- ActivityPub Quiz
- Owncast Newsletter May 2025
- My Dream Fediverse Platform
- Fediverse Report – #116
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196b6aa-923e-5f15-d203-8331fb2924de
@sl007@digitalcourage.social
Hi @steve
following you cause https://www.stevebate.net/nothin-implements-activitypub/ which is a super nice piece which should recive a Headline-Award :)
When people do not follow the specs. then "Primers" are written.
Then nobody reads the Primer :)
The peoblem you described is https://www.w3.org/wiki/ActivityPub/Primer/Cardinality_of_properties#ActivityPub_singular_references
Another Problem is that per spec. in #ActivityPub anything can be an Actor.
„ ActivityPub actors are generally one of the ActivityStreams Actor Types, but they don't have to be.“
And there are a few more of this spec-vs-reality problems …
It is absolutely not fine.
I am currently writing my database implementation and will also show it to @hongminhee …
ActivityPub Conformance is hard but hey, I will be conformant :)
Thanks for this piece.
@mapache@hachyderm.io
Do you want to help testing @badgefed and provision your local test instance?
Easy
docker pull ghcr.io/tryvocalcat/badgefed:latest &&
docker run -v `pwd`/data:/app/data \
-p 8080:8080 \
-e SQLITE_DB_FILENAME=/app/data/badges.db \
-e AdminAuthentication__AdminUsers__0__Id=your-mastodon-username \
-e AdminAuthentication__AdminUsers__0__Type=Mastodon \
-e MastodonConfig__ClientId=your-mastodon-client-id \
-e MastodonConfig__ClientSecret=your-mastodon-client-secret \
-e MastodonConfig__Server=your-mastodon-server \
ghcr.io/tryvocalcat/badgefed
And then open a browser and go to http://localhost:8080 or http://localhost:8080/admin
#docker #badgefed #openbadges #softwaredevelopment #testing #fediverse #activitypub
@weekinfediverse@mitra.social
Servers
- Owncast v0.2.3
- snac v2.77
- ActivityPub for WordPress v5.9.0
- NeoDB v0.11.6.9
- Vernissage Server v1.14.0
- NodeBB v4.4.0
- Lemmy Development Update April 2025
- How PieFed federates “flair” on posts and comments
- Blocking domains (Ghost)
Clients
- Moshidon v109
- aria v1.1.0
- Blorp v1.5.0
- Flohra: An open source client for Flohmarkt
Tools and Plugins
- PeerTube livechat plugin v12.0.4
- feed2fedi v3.2.1
- fedidb-nuxt: The next generation frontend for fedidb.org
For developers
Protocol
- FEP-82f6: Actor statuses
- FEP-0151: NodeInfo in Fediverse Software (2025 edition)
- FEP-521a: Representing actor's public keys (Final comments)
Articles
- ActivityPub Quiz
- Owncast Newsletter May 2025
- My Dream Fediverse Platform
- Fediverse Report – #116
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196b6aa-923e-5f15-d203-8331fb2924de
@weekinfediverse@mitra.social
Servers
- Owncast v0.2.3
- snac v2.77
- ActivityPub for WordPress v5.9.0
- NeoDB v0.11.6.9
- Vernissage Server v1.14.0
- NodeBB v4.4.0
- Lemmy Development Update April 2025
- How PieFed federates “flair” on posts and comments
- Blocking domains (Ghost)
Clients
- Moshidon v109
- aria v1.1.0
- Blorp v1.5.0
- Flohra: An open source client for Flohmarkt
Tools and Plugins
- PeerTube livechat plugin v12.0.4
- feed2fedi v3.2.1
- fedidb-nuxt: The next generation frontend for fedidb.org
For developers
Protocol
- FEP-82f6: Actor statuses
- FEP-0151: NodeInfo in Fediverse Software (2025 edition)
- FEP-521a: Representing actor's public keys (Final comments)
Articles
- ActivityPub Quiz
- Owncast Newsletter May 2025
- My Dream Fediverse Platform
- Fediverse Report – #116
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196b6aa-923e-5f15-d203-8331fb2924de
@weekinfediverse@mitra.social
Servers
- Owncast v0.2.3
- snac v2.77
- ActivityPub for WordPress v5.9.0
- NeoDB v0.11.6.9
- Vernissage Server v1.14.0
- NodeBB v4.4.0
- Lemmy Development Update April 2025
- How PieFed federates “flair” on posts and comments
- Blocking domains (Ghost)
Clients
- Moshidon v109
- aria v1.1.0
- Blorp v1.5.0
- Flohra: An open source client for Flohmarkt
Tools and Plugins
- PeerTube livechat plugin v12.0.4
- feed2fedi v3.2.1
- fedidb-nuxt: The next generation frontend for fedidb.org
For developers
Protocol
- FEP-82f6: Actor statuses
- FEP-0151: NodeInfo in Fediverse Software (2025 edition)
- FEP-521a: Representing actor's public keys (Final comments)
Articles
- ActivityPub Quiz
- Owncast Newsletter May 2025
- My Dream Fediverse Platform
- Fediverse Report – #116
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196b6aa-923e-5f15-d203-8331fb2924de
@weekinfediverse@mitra.social
Servers
- Owncast v0.2.3
- snac v2.77
- ActivityPub for WordPress v5.9.0
- NeoDB v0.11.6.9
- Vernissage Server v1.14.0
- NodeBB v4.4.0
- Lemmy Development Update April 2025
- How PieFed federates “flair” on posts and comments
- Blocking domains (Ghost)
Clients
- Moshidon v109
- aria v1.1.0
- Blorp v1.5.0
- Flohra: An open source client for Flohmarkt
Tools and Plugins
- PeerTube livechat plugin v12.0.4
- feed2fedi v3.2.1
- fedidb-nuxt: The next generation frontend for fedidb.org
For developers
Protocol
- FEP-82f6: Actor statuses
- FEP-0151: NodeInfo in Fediverse Software (2025 edition)
- FEP-521a: Representing actor's public keys (Final comments)
Articles
- ActivityPub Quiz
- Owncast Newsletter May 2025
- My Dream Fediverse Platform
- Fediverse Report – #116
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196b6aa-923e-5f15-d203-8331fb2924de
@cryptadamist@universeodon.com
Ω🪬Ω
#FediAlgo, the customizable timeline algorithm / filtering system for your Mastodon feed, is now deployed on Github Pages and can be used from your web browser.
* Link: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Video of FediAlgo in action: https://universeodon.com/@cryptadamist/114395249311910522
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #Masto #MastoAdmin #Mastodon #mastohelp #MastoJS #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@cryptadamist@universeodon.com
Ω🪬Ω
#FediAlgo, the customizable timeline algorithm / filtering system for your Mastodon feed, is now deployed on Github Pages and can be used from your web browser.
* Link: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Video of FediAlgo in action: https://universeodon.com/@cryptadamist/114395249311910522
#activitypub #algorithm #algorithmicFeed #algorithmicTimeline #Fedi #FediTips #FediTools #Fediverse #Feed #FOSS #Masto #MastoAdmin #Mastodon #mastohelp #MastoJS #nodejs #nod #opensource #SocialWeb #timeline #TL #webdev
@Nelfan@mastodon.zaclys.com · Reply to wakest ⁂'s post
@liaizon
The Fediverse is a range of different open source softwares, all based on the #activitypub and federated by this protocol which has been designed to allow a federation of independent and totally autonomous instances with full control by their administrators. That's called "decentralisation".
@smallcircles@social.coop
@EUCommission that image I created long ago has gained new relevance..
@chris@mstdn.chrisalemany.ca
HEY! I just found the fix for the webfinger "403 forbidden” problem I have been having to get my wordpress blog working fully with ActivityPub @pfefferle!
Looks like for nginx based servers if you are rolling your own or you have a strict web host you need to create a location statement in your nginx config options
The code to add to your options is:
location ^~ /.well-known/webfinger {
auth_basic off;
allow all;
default_type text/plain;
try_files $uri $uri/ /index.php?$args;
break;
}
From this wordpress support question:
https://wordpress.org/support/topic/i-think-i-tried-everything-403-on-well-known/
After adding this, the test at https://webfinger.net/lookup outputs a proper response and Wordpress clears the 'webfinger' error in SiteHealth.
Yay!
#ActivityPub #Wordpress #Mastodon #Fediverse #nginx #selfhost
@chris@mstdn.chrisalemany.ca
HEY! I just found the fix for the webfinger "403 forbidden” problem I have been having to get my wordpress blog working fully with ActivityPub @pfefferle!
Looks like for nginx based servers if you are rolling your own or you have a strict web host you need to create a location statement in your nginx config options
The code to add to your options is:
location ^~ /.well-known/webfinger {
auth_basic off;
allow all;
default_type text/plain;
try_files $uri $uri/ /index.php?$args;
break;
}
From this wordpress support question:
https://wordpress.org/support/topic/i-think-i-tried-everything-403-on-well-known/
After adding this, the test at https://webfinger.net/lookup outputs a proper response and Wordpress clears the 'webfinger' error in SiteHealth.
Yay!
#ActivityPub #Wordpress #Mastodon #Fediverse #nginx #selfhost
@rakoo@blah.rako.space
@rakoo@blah.rako.space
@smallcircles@social.coop
Social media is as social as Las Vegas where #SocialMedia #advertisement giants as telecom providers of society, take care of the lightshow to lure us in.
@Sironimo and Jonas Kießling argue for more deliberate design of our communication mechanisms. The #SocialWeb of #ActivityPub and #Fediverse gives control back to people, allows us to rethink how we want to interact. There's a big role for #OpenScience to help #FOSS devs address needs in #society and #ReimagineSocial.
https://discuss.coding.social/t/article-review-do-we-need-new-social-media/636
@plord12@mastodon.social
Have been playing recently with wordpress activitypub, friends, enable mastodon apps and event bridge for activitypub plugins ... getting very close now to use wordpress as my fediverse server !
Very impressed :-) The team is very responsive.
https://wordpress.org/plugins/activitypub/
https://wordpress.org/plugins/friends/
https://en-gb.wordpress.org/plugins/enable-mastodon-apps/
https://wordpress.org/plugins/event-bridge-for-activitypub/
@plord12@mastodon.social
Have been playing recently with wordpress activitypub, friends, enable mastodon apps and event bridge for activitypub plugins ... getting very close now to use wordpress as my fediverse server !
Very impressed :-) The team is very responsive.
https://wordpress.org/plugins/activitypub/
https://wordpress.org/plugins/friends/
https://en-gb.wordpress.org/plugins/enable-mastodon-apps/
https://wordpress.org/plugins/event-bridge-for-activitypub/
@rakoo@blah.rako.space
@andypiper@andypiper.co.uk
I’m really happy to have been asked to join the new FediForum Advisory Board that is helping to guide and steer the future of the event.
We are proud to announce the first-ever FediForum advisory board. We are very glad to have such an incredible group of committed and experienced Open Social Web pioneers and advocates come together to advise FediForum and help move the Open Social Web forward.
Check out https://fediforum.org/people
FediForum has been an important part of the development of the Fediverse over the past couple of years. It has provided a space for projects to share their latest releases and features, and also enabled the serendipitous sharing of needs and ideas. The Projects page on the FediForum site documents a few of the collaborations that have come out of the event already.
I particularly remember how Ben Pate came to share what he was building (Emissary), how several creators in the music space came together during the same event to discuss their hopes for new social channels to connect with their audiences, and how that evolved into both Bandwagon, and The Indie Beat FM. I’ve loved being a part of these kinds of conversations!
An unconference can be difficult to navigate to some people, but it can also enable exactly these kinds of unexpected, delightful fusions of shared interest and technical know-how. At the same time, there’s also a lot of value in more organised, formal events with agendas known in advance. My own belief is that there’s space for both formats to support the Fediverse community, and I hope to see these happen in the coming years. In the meantime, you’ll see some adjustments to the format of FediForum itself, in response to feedback heard at recent town halls.
I’ve helped to run various unconference format events in person in the past; I’m also a public speaker; and, I have been a community organiser myself. I know how complicated it can be to make events like FediForum happen! I’m grateful to have the opportunity to help keep this important shared space open, available, and valuable for the future. I’m also delighted about the wonderful group of people that are on the advisory board – we have a shared passion for the Fediverse, and more importantly, we care about the humans that are part of it.
Looking forward to seeing folks again at FediForum, June 5-7.
https://andypiper.co.uk/2025/05/07/fediforum-advisory-board/
#100DaysToOffload #activitypub #advisoryBoard #career #community #events #Fediforum #fediverse #mastodon #online #people #roles #socialWeb #Technology #unconference
@plord12@mastodon.social
Have been playing recently with wordpress activitypub, friends, enable mastodon apps and event bridge for activitypub plugins ... getting very close now to use wordpress as my fediverse server !
Very impressed :-) The team is very responsive.
https://wordpress.org/plugins/activitypub/
https://wordpress.org/plugins/friends/
https://en-gb.wordpress.org/plugins/enable-mastodon-apps/
https://wordpress.org/plugins/event-bridge-for-activitypub/
@rood@aus.social
I need a "Follow +12h" delay feature #Mastodon #ActivityPub
@rood@aus.social
I need a "Follow +12h" delay feature #Mastodon #ActivityPub
@plord12@mastodon.social
Have been playing recently with wordpress activitypub, friends, enable mastodon apps and event bridge for activitypub plugins ... getting very close now to use wordpress as my fediverse server !
Very impressed :-) The team is very responsive.
https://wordpress.org/plugins/activitypub/
https://wordpress.org/plugins/friends/
https://en-gb.wordpress.org/plugins/enable-mastodon-apps/
https://wordpress.org/plugins/event-bridge-for-activitypub/
@plord12@mastodon.social
Have been playing recently with wordpress activitypub, friends, enable mastodon apps and event bridge for activitypub plugins ... getting very close now to use wordpress as my fediverse server !
Very impressed :-) The team is very responsive.
https://wordpress.org/plugins/activitypub/
https://wordpress.org/plugins/friends/
https://en-gb.wordpress.org/plugins/enable-mastodon-apps/
https://wordpress.org/plugins/event-bridge-for-activitypub/
@smallcircles@social.coop · Reply to 洪 民憙 (Hong Minhee)'s post
@hongminhee @thisismissem @PuercoPop
For your information, I recently opened an issue to track current #ActivityPub C2S implementations.
This is the list thus far:
#ActivityPods
#Epicyon
#Onepage.pub
#Pleroma
#RDFPub
#Vocata
#FedBOX
#Mitra
#streams
#forte
https://codeberg.org/fediverse/delightful-fediverse-apps/issues/130
Client-side #AndStatus is a well-known attempt to implement it:
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@csarven@w3c.social · Reply to just small circles 🕊's post
@smallcircles @hongminhee @thisismissem @PuercoPop
Would this qualify as innovative (and demonstrating an actual implementation of specifications) :)
https://w3c.social/@csarven/113464088301469322
7s screencast of dokieli's browser extension showing user w/ personal identifier loading up their (& contacts') annotations/objects from outbox/storage (AS2 Collection) displayed in context of where they were originally expressed.
Show me a server that's actually ready for others' clients ;)
@csarven@w3c.social · Reply to just small circles 🕊's post
@smallcircles @hongminhee @thisismissem @PuercoPop
Would this qualify as innovative (and demonstrating an actual implementation of specifications) :)
https://w3c.social/@csarven/113464088301469322
7s screencast of dokieli's browser extension showing user w/ personal identifier loading up their (& contacts') annotations/objects from outbox/storage (AS2 Collection) displayed in context of where they were originally expressed.
Show me a server that's actually ready for others' clients ;)
@smallcircles@social.coop · Reply to Sarven Capadisli's post
@csarven @hongminhee @thisismissem @PuercoPop
Thank you! I have updated the list in the issue. I am currently collecting this info along with intent to restructure the 4 #ActivityPub fedi related delightful lists so they highlight more the innovative side of things.
Maybe that the #SocialHub C2S category has some historic information on clients that were planned or in the works and tested for compliance. But I'm not aware of any now.
@csarven@w3c.social · Reply to just small circles 🕊's post
@smallcircles @hongminhee @thisismissem @PuercoPop
Which of those pass the test suite? Or work with servers besides their own w/o out of spec stuff?
The original #ActivityPub implementation reports: https://activitypub.rocks/implementation-report/ .
AFAICT, #dokieli - https://dokie.li/ - https://git.dokie.li/ - is the only one that's strictly implementing the Client-to-Server "client" part of the specification. IOW, the software is not tightly coupled / shipped with its own server.
https://codeberg.org/fediverse/delightful-fediverse-apps/issues/130#issuecomment-4570409
@csarven@w3c.social · Reply to just small circles 🕊's post
@smallcircles @hongminhee @thisismissem @PuercoPop
Which of those pass the test suite? Or work with servers besides their own w/o out of spec stuff?
The original #ActivityPub implementation reports: https://activitypub.rocks/implementation-report/ .
AFAICT, #dokieli - https://dokie.li/ - https://git.dokie.li/ - is the only one that's strictly implementing the Client-to-Server "client" part of the specification. IOW, the software is not tightly coupled / shipped with its own server.
https://codeberg.org/fediverse/delightful-fediverse-apps/issues/130#issuecomment-4570409
@smallcircles@social.coop · Reply to just small circles 🕊's post
Oh, and I should mention a related project that has support for #AsyncAPI namely #EventCatalog.
I personally find this a really cool software. For the #ActivityPub fediverse to become home to many interoperable hetegeneous services, then good tools to quickly design services are needed.
Extending AP is still a Hard Thing™ to do, and our current approach will see that only introduce protocol decay.
https://www.rfc-editor.org/rfc/rfc9413.html#name-protocol-decay
@hongminhee@hollo.social
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.
@smallcircles@social.coop · Reply to Max Desiatov's post
What may be interesting is #AsyncAPI which is like #OpenAPI but then oriented towards event-driven architectures. More appropriate for message passing protocols like #ActivityPub.
@smallcircles@social.coop · Reply to Max Desiatov's post
What may be interesting is #AsyncAPI which is like #OpenAPI but then oriented towards event-driven architectures. More appropriate for message passing protocols like #ActivityPub.
@smallcircles@social.coop · Reply to 洪 民憙 (Hong Minhee)'s post
@hongminhee @thisismissem @PuercoPop
For your information, I recently opened an issue to track current #ActivityPub C2S implementations.
This is the list thus far:
#ActivityPods
#Epicyon
#Onepage.pub
#Pleroma
#RDFPub
#Vocata
#FedBOX
#Mitra
#streams
#forte
https://codeberg.org/fediverse/delightful-fediverse-apps/issues/130
Client-side #AndStatus is a well-known attempt to implement it:
@smallcircles@social.coop · Reply to 洪 民憙 (Hong Minhee)'s post
@hongminhee @thisismissem @PuercoPop
For your information, I recently opened an issue to track current #ActivityPub C2S implementations.
This is the list thus far:
#ActivityPods
#Epicyon
#Onepage.pub
#Pleroma
#RDFPub
#Vocata
#FedBOX
#Mitra
#streams
#forte
https://codeberg.org/fediverse/delightful-fediverse-apps/issues/130
Client-side #AndStatus is a well-known attempt to implement it:
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@steve@social.technoetic.com
I don't remember. How long has the W3C SocialCG been trying to form a Working Group to at least correct the errors in #ActivityPub? Has been 6 months, a year, longer?
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@hongminhee@hollo.social
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.
@pfefferle@mastodon.social
can someone recommend a http-signature library/implementation in #php ?
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@pfefferle@mastodon.social
can someone recommend a http-signature library/implementation in #php ?
@fedizen@mastodon.social
»Flipboard Expands Publisher Federation with International Partners« https://about.flipboard.com/fediverse/flipboard-expands-publisher-federation-with-international-partners/?utm_source=rss&utm_medium=rss&utm_campaign=flipboard-expands-publisher-federation-with-international-partners?Fedizen.EU #Fedizen #Fediverse #ActivityPub #Flipboard #News
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@grishka@mastodon.social
I wrote a #FEP about actor statuses. Yeah, those things near the name that Facebook had in 2007.
https://codeberg.org/fediverse/fep/src/branch/main/fep/82f6/fep-82f6.md
@fedizen@mastodon.social
»Flipboard Expands Publisher Federation with International Partners« https://about.flipboard.com/fediverse/flipboard-expands-publisher-federation-with-international-partners/?utm_source=rss&utm_medium=rss&utm_campaign=flipboard-expands-publisher-federation-with-international-partners?Fedizen.EU #Fedizen #Fediverse #ActivityPub #Flipboard #News
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@grishka@mastodon.social
I wrote a #FEP about actor statuses. Yeah, those things near the name that Facebook had in 2007.
https://codeberg.org/fediverse/fep/src/branch/main/fep/82f6/fep-82f6.md
@grishka@mastodon.social
I wrote a #FEP about actor statuses. Yeah, those things near the name that Facebook had in 2007.
https://codeberg.org/fediverse/fep/src/branch/main/fep/82f6/fep-82f6.md
@fedizen@mastodon.social
»Fediverse Report – #116« https://fediversereport.com/fediverse-report-116/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@fedizen@mastodon.social
»Fediverse Report – #116« https://fediversereport.com/fediverse-report-116/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@cryptadamist@universeodon.com
The fine @michael has deployed the #FediAlgo demo app to a place where you can test out the customizable algorithm + filtering system for your home timeline with nothing more than a web browser. You can find it here:
Here's a video of the FediAlgo demo in action (there's a few new features since the video): https://universeodon.com/@cryptadamist/114395249311910522
cc: @rolle @paige @LaurensHof
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #SocialWeb #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@hongminhee@hollo.social
As #Fedify's author, I'm contemplating its adoption beyond Ghost's #ActivityPub implementation. Finding potential users for ActivityPub tools seems challenging—perhaps I'm addressing a very niche need?
While the technical complexity of ActivityPub makes tools like Fedify valuable, I wonder about the actual market demand for federation outside specific communities.
Open, decentralized systems make sense to many developers, but businesses often prefer closed ecosystems that align with traditional models.
Still, I see potential as the #fediverse grows and digital sovereignty concerns increase. Fedify aims to lower the technical barriers to federation.
I'm curious: Which projects would benefit most from Fedify today? What would make federation compelling enough for platforms to implement?
Would appreciate perspectives from both developers and platform owners.
@fedizen@mastodon.social
»Mastodon: Giving Journalists Options Away From Big Tech« https://wedistribute.org/2025/05/mastodon-journalism/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@fedizen@mastodon.social
»Mastodon: Giving Journalists Options Away From Big Tech« https://wedistribute.org/2025/05/mastodon-journalism/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@fedizen@mastodon.social
»Mastodon: Giving Journalists Options Away From Big Tech« https://wedistribute.org/2025/05/mastodon-journalism/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@cryptadamist@universeodon.com
The fine @michael has deployed the #FediAlgo demo app to a place where you can test out the customizable algorithm + filtering system for your home timeline with nothing more than a web browser. You can find it here:
Here's a video of the FediAlgo demo in action (there's a few new features since the video): https://universeodon.com/@cryptadamist/114395249311910522
cc: @rolle @paige @LaurensHof
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #SocialWeb #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
@Linux@mk.absturztau.be
Who here knows about, @cwebber@social.coop
You should follow them. One of the mainstream protocols that make the Fediverse even possible, commonly used on Mastodon, CherryPick, Misskey, and Sharkey, is called, ActivityPub. They help write that protocol.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey #CherryPick #Sharkey
@Linux@mk.absturztau.be
Who here knows about, @cwebber@social.coop
You should follow them. One of the mainstream protocols that make the Fediverse even possible, commonly used on Mastodon, CherryPick, Misskey, and Sharkey, is called, ActivityPub. They help write that protocol.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey #CherryPick #Sharkey
@fedizen@mastodon.social
#Ghost Building ActivityPub »Blocking domains« https://activitypub.ghost.org/blocking-domains/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@fedizen@mastodon.social
#Ghost Building ActivityPub »Blocking domains« https://activitypub.ghost.org/blocking-domains/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@steve@social.technoetic.com
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
@iamkonstantin@mastodon.social
By the way, if you’re looking into decentralized tech where people are actually in control of their own data (as in who can use it, when and how), checkout #Solid https://solidproject.org There are a lot of interesting insights, especially for storing sensitive data. #OpenSocialWeb #ActivityPub #Fediverse
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@iamkonstantin@mastodon.social
By the way, if you’re looking into decentralized tech where people are actually in control of their own data (as in who can use it, when and how), checkout #Solid https://solidproject.org There are a lot of interesting insights, especially for storing sensitive data. #OpenSocialWeb #ActivityPub #Fediverse
@iamkonstantin@mastodon.social
By the way, if you’re looking into decentralized tech where people are actually in control of their own data (as in who can use it, when and how), checkout #Solid https://solidproject.org There are a lot of interesting insights, especially for storing sensitive data. #OpenSocialWeb #ActivityPub #Fediverse
@steve@social.technoetic.com
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
@steve@social.technoetic.com
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
@steve@social.technoetic.com
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
@grishka@mastodon.social
Some #Smithereen updates:
- Friend lists: you can now assign lists to your friends. These are useful not only for remembering where you know someone from, but also for privacy settings.
- Email notifications: self-explanatory. You only start receiving them if you haven't visited for at least a day, as determined by the online status.
@grishka@mastodon.social
Some #Smithereen updates:
- Friend lists: you can now assign lists to your friends. These are useful not only for remembering where you know someone from, but also for privacy settings.
- Email notifications: self-explanatory. You only start receiving them if you haven't visited for at least a day, as determined by the online status.
@cryptadamist@universeodon.com
The fine @michael has deployed the #FediAlgo demo app to a place where you can test out the customizable algorithm + filtering system for your home timeline with nothing more than a web browser. You can find it here:
Here's a video of the FediAlgo demo in action (there's a few new features since the video): https://universeodon.com/@cryptadamist/114395249311910522
cc: @rolle @paige @LaurensHof
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #SocialWeb #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs
@cryptadamist@universeodon.com
The fine @michael has deployed the #FediAlgo demo app to a place where you can test out the customizable algorithm + filtering system for your home timeline with nothing more than a web browser. You can find it here:
Here's a video of the FediAlgo demo in action (there's a few new features since the video): https://universeodon.com/@cryptadamist/114395249311910522
cc: @rolle @paige @LaurensHof
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #SocialWeb #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
@steve@social.technoetic.com
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
@steve@social.technoetic.com
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
@steve@social.technoetic.com
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
@steve@social.technoetic.com
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
@steve@social.technoetic.com
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
@box464@mastodon.social
I'm still working on my article about installing and using Honk. The name is silly, and the commands / names for actions are a bit confusing. But under that layer of "do not take any of this seriously" are some interesting features that aren't on Mastodon.
Imports of Instagram, Twitter, Mastodon and Honk archives.
Add Geo-coordinates to a post.
Add Events
Add RSS Feeds
Custom timelines (combos) - I think - still figuring this one out!
@nibushibu@vivaldi.net · Reply to GENKI's post
あと #Tumblr に至ってはもう「なるはやで #ActivityPub 対応するぜ!」って言ってた過去をたぶんもう誰も覚えてない(自分も忘れてた
@nibushibu@vivaldi.net · Reply to GENKI's post
あと #Tumblr に至ってはもう「なるはやで #ActivityPub 対応するぜ!」って言ってた過去をたぶんもう誰も覚えてない(自分も忘れてた
@nibushibu@vivaldi.net · Reply to GENKI's post
#Threads の #Fediverse #ActivityPub
対応は、トランプ政権に代わってザッカーバーグのアイコンが金のジャラジャラ(?)マッチョアイコンに変わったあたりからほとんど公式に話題にならなくなってる気がするんだけど気のせい…?
1回、何かの進捗があってその関係のアナウンスをしてたような記憶はあるけど、
当初の「#Fediverse こそソーシャルメディアの未来です。#Threads もそこに参加します!」みたいな熱をいまの #Threads からはもう全然感じられてないんだよな自分
@box464@mastodon.social
Federated flair for PieFed communities and users is here. Think of them similar to hashtags that follow these objects around. It gives you a sense of the user's specific interest in a topic, or a way to filter a community to posts about a specific flair. Your community flair can be associated to a specific color.
https://join.piefed.social/2025/05/10/how-piefed-federates-flair-on-posts-and-comments/
@box464@mastodon.social
Federated flair for PieFed communities and users is here. Think of them similar to hashtags that follow these objects around. It gives you a sense of the user's specific interest in a topic, or a way to filter a community to posts about a specific flair. Your community flair can be associated to a specific color.
https://join.piefed.social/2025/05/10/how-piefed-federates-flair-on-posts-and-comments/
@box464@mastodon.social
Federated flair for PieFed communities and users is here. Think of them similar to hashtags that follow these objects around. It gives you a sense of the user's specific interest in a topic, or a way to filter a community to posts about a specific flair. Your community flair can be associated to a specific color.
https://join.piefed.social/2025/05/10/how-piefed-federates-flair-on-posts-and-comments/
@ajuvo@chaos.social
kleiner Programmhinweis für heute, Samstag, Abend
A conversation about the future of decentralized networks.
fireside chat with Christine Lemmer-Webber (ActivityPub co-author)
and Volker Grassmuck live at c-base Berlin
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@grishka@mastodon.social
Some #Smithereen updates:
- Friend lists: you can now assign lists to your friends. These are useful not only for remembering where you know someone from, but also for privacy settings.
- Email notifications: self-explanatory. You only start receiving them if you haven't visited for at least a day, as determined by the online status.
@grishka@mastodon.social
Some #Smithereen updates:
- Friend lists: you can now assign lists to your friends. These are useful not only for remembering where you know someone from, but also for privacy settings.
- Email notifications: self-explanatory. You only start receiving them if you haven't visited for at least a day, as determined by the online status.
@weekinfediverse@mitra.social
Servers
- Owncast v0.2.2
- Mastodon v4.3.8
- Mitra v4.2.0
- snac v2.76
- Misskey v2025.5.0
- NeoDB v0.11.6.7
- tootik v0.16.0
- kmyblue v18.1
- Vernissage Server v1.12.0
- Gush! v0.18.0
- May 2025: What’s In The Pipeline (Bandwagon.fm)
- Blocking users (Ghost)
- Trunk & Tidbits, April 2025 (Mastodon)
Clients
- Voyager v2.34.0
- Blorp v1.4.0
Tools and Plugins
- Lemmy Schedule v1.15.0
- Enable Mastodon Apps v1.4.6 (WordPress plugin)
- peertube_recomendation_algorythm: A browser extension that monitors the peertube videos your watch and stores them locally
For developers
Articles
- When decentralization can get too big!
- Town squares, backyards, better metaphors, and decentralised networks
- Il Fediverso a scuola: uno strumento didattico per la cittadinanza digitale
- Fediverse Report – #115
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196929b-a80a-322f-a1ba-f42864034290
@weekinfediverse@mitra.social
Servers
- Owncast v0.2.2
- Mastodon v4.3.8
- Mitra v4.2.0
- snac v2.76
- Misskey v2025.5.0
- NeoDB v0.11.6.7
- tootik v0.16.0
- kmyblue v18.1
- Vernissage Server v1.12.0
- Gush! v0.18.0
- May 2025: What’s In The Pipeline (Bandwagon.fm)
- Blocking users (Ghost)
- Trunk & Tidbits, April 2025 (Mastodon)
Clients
- Voyager v2.34.0
- Blorp v1.4.0
Tools and Plugins
- Lemmy Schedule v1.15.0
- Enable Mastodon Apps v1.4.6 (WordPress plugin)
- peertube_recomendation_algorythm: A browser extension that monitors the peertube videos your watch and stores them locally
For developers
Articles
- When decentralization can get too big!
- Town squares, backyards, better metaphors, and decentralised networks
- Il Fediverso a scuola: uno strumento didattico per la cittadinanza digitale
- Fediverse Report – #115
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196929b-a80a-322f-a1ba-f42864034290
@ajuvo@chaos.social
kleiner Programmhinweis für heute, Samstag, Abend
A conversation about the future of decentralized networks.
fireside chat with Christine Lemmer-Webber (ActivityPub co-author)
and Volker Grassmuck live at c-base Berlin
@weekinfediverse@mitra.social
Servers
- Owncast v0.2.2
- Mastodon v4.3.8
- Mitra v4.2.0
- snac v2.76
- Misskey v2025.5.0
- NeoDB v0.11.6.7
- tootik v0.16.0
- kmyblue v18.1
- Vernissage Server v1.12.0
- Gush! v0.18.0
- May 2025: What’s In The Pipeline (Bandwagon.fm)
- Blocking users (Ghost)
- Trunk & Tidbits, April 2025 (Mastodon)
Clients
- Voyager v2.34.0
- Blorp v1.4.0
Tools and Plugins
- Lemmy Schedule v1.15.0
- Enable Mastodon Apps v1.4.6 (WordPress plugin)
- peertube_recomendation_algorythm: A browser extension that monitors the peertube videos your watch and stores them locally
For developers
Articles
- When decentralization can get too big!
- Town squares, backyards, better metaphors, and decentralised networks
- Il Fediverso a scuola: uno strumento didattico per la cittadinanza digitale
- Fediverse Report – #115
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196929b-a80a-322f-a1ba-f42864034290
@weekinfediverse@mitra.social
Servers
- Owncast v0.2.2
- Mastodon v4.3.8
- Mitra v4.2.0
- snac v2.76
- Misskey v2025.5.0
- NeoDB v0.11.6.7
- tootik v0.16.0
- kmyblue v18.1
- Vernissage Server v1.12.0
- Gush! v0.18.0
- May 2025: What’s In The Pipeline (Bandwagon.fm)
- Blocking users (Ghost)
- Trunk & Tidbits, April 2025 (Mastodon)
Clients
- Voyager v2.34.0
- Blorp v1.4.0
Tools and Plugins
- Lemmy Schedule v1.15.0
- Enable Mastodon Apps v1.4.6 (WordPress plugin)
- peertube_recomendation_algorythm: A browser extension that monitors the peertube videos your watch and stores them locally
For developers
Articles
- When decentralization can get too big!
- Town squares, backyards, better metaphors, and decentralised networks
- Il Fediverso a scuola: uno strumento didattico per la cittadinanza digitale
- Fediverse Report – #115
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196929b-a80a-322f-a1ba-f42864034290
@tchambers@indieweb.social · Reply to David Pierce's post
@imdavidpierce Its dramatically under-reported that the newly federated forum software #nodebb went from zero to 2.7 million federated users, and jumped. tobe the 2nd biggest platform on #ActivityPub after Mastodon shortly after launch..
@matt@oslo.town
It was really fun to meet a bunch of people from #Mastodon in person today - thanks for coming along to the #Tekna talk. 🙏 🎉
The recording is available to watch online at the following site (my part starts at the 57 mins mark): https://www.tekna.no/fag-og-nettverk/IKT/exit-strategi-sosiale-medier---hva-er-alternativene/
Thank you to the organisers at @attacnorge, specifically @audunmb for giving me the opportunity to come and spread the word about #ActivityPub and the #Fediverse. 🙇
And thanks to @cifie for the flowers 💐
📸 @forteller
📸 @kfh
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@Flipboard@flipboard.social
At SXSW's Fediverse House, it didn't matter which platform or protocol you preferred — everyone was focused on the singular goal of building a better internet. We've uploaded videos and highlights of key conversations from the event and rounded them up in one post. Here you go:
https://about.flipboard.com/fediverse/fediverse-house-2025-roundup/
#SXSW #FediverseHouse #ATProtocol #ActivityPub #Fediverse #Federation #Flipboard #OpenSocial #OpenSocialWeb
@write_as@writing.exchange
Just rolled out some fediverse-related improvements:
- Now you can follow Write.as blogs from Ghost! There was a tiny bug with this that we just fixed. (WriteFreely PR: https://writefreely.org/pull/1373)
- We now support the `preview` property as a fallback for Articles. This will make your posts look much nicer as more platforms support it! (WriteFreely PR: https://writefreely.org/pull/1374)
#WriteAs #WriteFreely #WriteFreelyDev #Ghost #fediverse #ActivityPub
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@tchambers@indieweb.social · Reply to David Pierce's post
@imdavidpierce Its dramatically under-reported that the newly federated forum software #nodebb went from zero to 2.7 million federated users, and jumped. tobe the 2nd biggest platform on #ActivityPub after Mastodon shortly after launch..
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@write_as@writing.exchange
Just rolled out some fediverse-related improvements:
- Now you can follow Write.as blogs from Ghost! There was a tiny bug with this that we just fixed. (WriteFreely PR: https://writefreely.org/pull/1373)
- We now support the `preview` property as a fallback for Articles. This will make your posts look much nicer as more platforms support it! (WriteFreely PR: https://writefreely.org/pull/1374)
#WriteAs #WriteFreely #WriteFreelyDev #Ghost #fediverse #ActivityPub
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@hongminhee@hollo.social
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@fedify@hollo.social
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
@Flipboard@flipboard.social
At SXSW's Fediverse House, it didn't matter which platform or protocol you preferred — everyone was focused on the singular goal of building a better internet. We've uploaded videos and highlights of key conversations from the event and rounded them up in one post. Here you go:
https://about.flipboard.com/fediverse/fediverse-house-2025-roundup/
#SXSW #FediverseHouse #ATProtocol #ActivityPub #Fediverse #Federation #Flipboard #OpenSocial #OpenSocialWeb
@Flipboard@flipboard.social
At SXSW's Fediverse House, it didn't matter which platform or protocol you preferred — everyone was focused on the singular goal of building a better internet. We've uploaded videos and highlights of key conversations from the event and rounded them up in one post. Here you go:
https://about.flipboard.com/fediverse/fediverse-house-2025-roundup/
#SXSW #FediverseHouse #ATProtocol #ActivityPub #Fediverse #Federation #Flipboard #OpenSocial #OpenSocialWeb
@write_as@writing.exchange
Just rolled out some fediverse-related improvements:
- Now you can follow Write.as blogs from Ghost! There was a tiny bug with this that we just fixed. (WriteFreely PR: https://writefreely.org/pull/1373)
- We now support the `preview` property as a fallback for Articles. This will make your posts look much nicer as more platforms support it! (WriteFreely PR: https://writefreely.org/pull/1374)
#WriteAs #WriteFreely #WriteFreelyDev #Ghost #fediverse #ActivityPub
@smallcircles@social.coop · Reply to Write.as's post
That is excellent and exemplary to other fediverse app developers to help the #ActivityPub ecosystem improve and become increase overall #interoperability.
PS. I noticed that no discussion thread for the #FEP was created on #SocialHub, so I took that upon me:
https://socialhub.activitypub.rocks/t/fep-b2b8-long-form-text/5300/2?u=aschrijver
I mentioned #WriteFreely / #WriteAs in follow-up as candidate for the Implementations sections of this FEP.
cc FEP author @evan
@smallcircles@social.coop · Reply to Write.as's post
@write_as I like the improvements and above all the focus to adhere to Fediverse Enhancements Proposals. Thank you! In this case:
FEP-b2b8 Long-form Text
https://codeberg.org/fediverse/fep/src/branch/main/fep/b2b8/fep-b2b8.md
@write_as@writing.exchange
Just rolled out some fediverse-related improvements:
- Now you can follow Write.as blogs from Ghost! There was a tiny bug with this that we just fixed. (WriteFreely PR: https://writefreely.org/pull/1373)
- We now support the `preview` property as a fallback for Articles. This will make your posts look much nicer as more platforms support it! (WriteFreely PR: https://writefreely.org/pull/1374)
#WriteAs #WriteFreely #WriteFreelyDev #Ghost #fediverse #ActivityPub
@youronlyone@c.im
If you're a writer/blogger/press, a friendly reminder that the 17th Year Anniversary of the #Fediverse [social] network (**not** Mastodon® social network) is fast approaching.
May 18, 2008
So, if you want to publish a new article, you can start today. There are a hundred possible angles and scopes for that article. 😉
Anyway…
@write_as@writing.exchange
Just rolled out some fediverse-related improvements:
- Now you can follow Write.as blogs from Ghost! There was a tiny bug with this that we just fixed. (WriteFreely PR: https://writefreely.org/pull/1373)
- We now support the `preview` property as a fallback for Articles. This will make your posts look much nicer as more platforms support it! (WriteFreely PR: https://writefreely.org/pull/1374)
#WriteAs #WriteFreely #WriteFreelyDev #Ghost #fediverse #ActivityPub
@liaizon@social.wake.st
Doing some fediverse research and discovered that @tkithrta is attempting to "implement #ActivityPub using 16 different web frameworks" in a project called #StrawberryFields
https://gitlab.com/acefed #fediverse #fedidev
@write_as@writing.exchange
Just rolled out some fediverse-related improvements:
- Now you can follow Write.as blogs from Ghost! There was a tiny bug with this that we just fixed. (WriteFreely PR: https://writefreely.org/pull/1373)
- We now support the `preview` property as a fallback for Articles. This will make your posts look much nicer as more platforms support it! (WriteFreely PR: https://writefreely.org/pull/1374)
#WriteAs #WriteFreely #WriteFreelyDev #Ghost #fediverse #ActivityPub
@sl007@digitalcourage.social · Reply to Sebastian Lasse's post
Beyond specs :
The defined extensions like
https://www.w3.org/wiki/Activity_Streams_extensions
https://www.w3.org/wiki/SocialCG/ActivityPub/MediaUpload
etc.
These include the drafts of the current Task Forces like
https://swicg.github.io/activitypub-data-portability/lola
Then I referred to FEPs which are "Fediverse Enhancement Proposals" as the community ad-hoc-way to spec.ing …
They are listed in this repo https://codeberg.org/fediverse/fep
In the next days, I will sketch out some concrete Activities workflow
Please tell me what is missing :)
🧵 10/10 #ActivityPub #wikidata #wikipedia
@sl007@digitalcourage.social
Esteemed #Fediverse
in the past days I have read many threads about the importance of facts in social networks and federating them.
On the other hand, the co-founder of wikipedia, Dr. Larry Sanger wants to create a "censorship resistant federated wikipedia". He became an altright conspiracy theorist and is part of Trumps culture-revolution-thinktank.
My fear is that they will not only remove tax status but also target Jimmy Wales, contributors and in the end the org domains.
In the last sleepless night the @skyfaller wrote „Instead of Action News, perhaps we need actionable news.“ https://digitalcourage.social/@sl007/114469269759393822
So, to whom it may concern;
In the following first long part of a long thread, I will leave some thoughts about #federating #wikidata and #wikipedia with #ActivityPub
🧵 1/10
@tchambers@indieweb.social · Reply to David Pierce's post
@imdavidpierce Its dramatically under-reported that the newly federated forum software #nodebb went from zero to 2.7 million federated users, and jumped. tobe the 2nd biggest platform on #ActivityPub after Mastodon shortly after launch..
@tchambers@indieweb.social · Reply to David Pierce's post
@imdavidpierce Its dramatically under-reported that the newly federated forum software #nodebb went from zero to 2.7 million federated users, and jumped. tobe the 2nd biggest platform on #ActivityPub after Mastodon shortly after launch..
@smallcircles@social.coop
@EUCommission that image I created long ago has gained new relevance..
@smallcircles@social.coop · Reply to just small circles 🕊's post
Your focus has shifted to #Bluesky for #Microblogging to replace old twitter.
That means more attention freed for #ActivityPub. The future of #social networking is strengthening #human connection online.
Let's lead the way forward in how #technology can serve mankind, instead of mindless digital transformation that only serves #capitalism and the bottom line.
We can envision a #peopleverse together. A place where online and offline are seamlessly connected, not separate worlds.
@smallcircles@social.coop
@EUCommission that image I created long ago has gained new relevance..
@wakest@mastodon.social
so now that features are really starting to diverge between different #activitypub sites we really need a way to come together and decide how these little bits can fit together. for instance #misskey has a ton of features they have implemented recently like polls and reactions other then 'star',
the masto fork now.kibousoft.co.jp has implemented #bbcode in their instance and it looked like misskey is doing something similar with https://misskey.xyz/notes/5b7c8643894f8100445b1f28
@Cappyjax@mastodon.social · Reply to The Verge's post
@verge It's too late, Reddit is slowly dying due to their constant shitting on their user base.
Lemmy, Mbin, and PieFed are great alternatives, and thanks to ActivityPub they all communicate with each other on the Fediverse.
Want something that looks like old reddit but isn't tied to a dying platform? Check out https://oldsh.itjust.works/ – want a more modern UI, try out https://tesh.itjust.works/home/all/scaled.
https://join.piefed.social/
https://joinmbin.org/
https://join-lemmy.org/
@fediversereport@mastodon.social
Fediverse Report #115 - This week's #fediverse news:
- @peertube launches v1 of their mobile apps
- @Mastodon shares more information on their team is growing
- @swf launches places.pub, a way to put OpenStreetMap data directly on #activitypub
@BlueDot@left-tusk.com
#Tor and #ActivityPub experts, I'm curious to know if anyone has attempted to create a Fediverse instance as an Onion Service.
I understand that server-to-server communications in ActivityPub use HTTPS POST. So I imagine the sticking point would be routing server-to-server communications over the Tor network from, say, mastodon.social to valencia.onion.
Is this a problem with a trivial solution? Or perhaps an intractable one?
@strypey@mastodon.nzoss.nz · Reply to Strypey's post
Me:
> Imagine when you add a new fediverse account to the profile of an existing one, it offers to synchronise your avatar, other social accounts, etc between the two
Maybe an ActivityPods approach could be used for this?
@andypiper@andypiper.co.uk
I’m really happy to have been asked to join the new FediForum Advisory Board that is helping to guide and steer the future of the event.
We are proud to announce the first-ever FediForum advisory board. We are very glad to have such an incredible group of committed and experienced Open Social Web pioneers and advocates come together to advise FediForum and help move the Open Social Web forward.
Check out https://fediforum.org/people
FediForum has been an important part of the development of the Fediverse over the past couple of years. It has provided a space for projects to share their latest releases and features, and also enabled the serendipitous sharing of needs and ideas. The Projects page on the FediForum site documents a few of the collaborations that have come out of the event already.
I particularly remember how Ben Pate came to share what he was building (Emissary), how several creators in the music space came together during the same event to discuss their hopes for new social channels to connect with their audiences, and how that evolved into both Bandwagon, and The Indie Beat FM. I’ve loved being a part of these kinds of conversations!
An unconference can be difficult to navigate to some people, but it can also enable exactly these kinds of unexpected, delightful fusions of shared interest and technical know-how. At the same time, there’s also a lot of value in more organised, formal events with agendas known in advance. My own belief is that there’s space for both formats to support the Fediverse community, and I hope to see these happen in the coming years. In the meantime, you’ll see some adjustments to the format of FediForum itself, in response to feedback heard at recent town halls.
I’ve helped to run various unconference format events in person in the past; I’m also a public speaker; and, I have been a community organiser myself. I know how complicated it can be to make events like FediForum happen! I’m grateful to have the opportunity to help keep this important shared space open, available, and valuable for the future. I’m also delighted about the wonderful group of people that are on the advisory board – we have a shared passion for the Fediverse, and more importantly, we care about the humans that are part of it.
Looking forward to seeing folks again at FediForum, June 5-7.
https://andypiper.co.uk/2025/05/07/fediforum-advisory-board/
#100DaysToOffload #activitypub #advisoryBoard #career #community #events #Fediforum #fediverse #mastodon #online #people #roles #socialWeb #Technology #unconference
@strypey@mastodon.nzoss.nz · Reply to Strypey's post
Me:
> Imagine when you add a new fediverse account to the profile of an existing one, it offers to synchronise your avatar, other social accounts, etc between the two
Maybe an ActivityPods approach could be used for this?
@Cappyjax@mastodon.social · Reply to The Verge's post
@verge It's too late, Reddit is slowly dying due to their constant shitting on their user base.
Lemmy, Mbin, and PieFed are great alternatives, and thanks to ActivityPub they all communicate with each other on the Fediverse.
Want something that looks like old reddit but isn't tied to a dying platform? Check out https://oldsh.itjust.works/ – want a more modern UI, try out https://tesh.itjust.works/home/all/scaled.
https://join.piefed.social/
https://joinmbin.org/
https://join-lemmy.org/
@BlueDot@left-tusk.com
#Tor and #ActivityPub experts, I'm curious to know if anyone has attempted to create a Fediverse instance as an Onion Service.
I understand that server-to-server communications in ActivityPub use HTTPS POST. So I imagine the sticking point would be routing server-to-server communications over the Tor network from, say, mastodon.social to valencia.onion.
Is this a problem with a trivial solution? Or perhaps an intractable one?
@andypiper@andypiper.co.uk
I’m really happy to have been asked to join the new FediForum Advisory Board that is helping to guide and steer the future of the event.
We are proud to announce the first-ever FediForum advisory board. We are very glad to have such an incredible group of committed and experienced Open Social Web pioneers and advocates come together to advise FediForum and help move the Open Social Web forward.
Check out https://fediforum.org/people
FediForum has been an important part of the development of the Fediverse over the past couple of years. It has provided a space for projects to share their latest releases and features, and also enabled the serendipitous sharing of needs and ideas. The Projects page on the FediForum site documents a few of the collaborations that have come out of the event already.
I particularly remember how Ben Pate came to share what he was building (Emissary), how several creators in the music space came together during the same event to discuss their hopes for new social channels to connect with their audiences, and how that evolved into both Bandwagon, and The Indie Beat FM. I’ve loved being a part of these kinds of conversations!
An unconference can be difficult to navigate to some people, but it can also enable exactly these kinds of unexpected, delightful fusions of shared interest and technical know-how. At the same time, there’s also a lot of value in more organised, formal events with agendas known in advance. My own belief is that there’s space for both formats to support the Fediverse community, and I hope to see these happen in the coming years. In the meantime, you’ll see some adjustments to the format of FediForum itself, in response to feedback heard at recent town halls.
I’ve helped to run various unconference format events in person in the past; I’m also a public speaker; and, I have been a community organiser myself. I know how complicated it can be to make events like FediForum happen! I’m grateful to have the opportunity to help keep this important shared space open, available, and valuable for the future. I’m also delighted about the wonderful group of people that are on the advisory board – we have a shared passion for the Fediverse, and more importantly, we care about the humans that are part of it.
Looking forward to seeing folks again at FediForum, June 5-7.
https://andypiper.co.uk/2025/05/07/fediforum-advisory-board/
#100DaysToOffload #activitypub #advisoryBoard #career #community #events #Fediforum #fediverse #mastodon #online #people #roles #socialWeb #Technology #unconference
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@sl007@digitalcourage.social · Reply to Sebastian Lasse's post
addendum:
If we begin to use #ActivityPub "conformant" in #wikidata
https://www.w3.org/TR/activitypub/#conformance
https://www.w3.org/TR/activitystreams-vocabulary/#notes
https://www.w3.org/TR/activitystreams-core/#naturalLanguageValues ff
it can do anything.
We would store the commit messages / edit meta alongside the Activities, and e.g. https://codeberg.org/fediverse/fep/src/branch/main/fep/171b/fep-171b.md for the discussion.
And federate versioned qualified statements.
A script like above takes the Input of the wikis JSON-LD API and deliver application/ld+json; profile="https://www.w3.org/ns/activitystreams" …
The question is probably _how_ to federate wiki and the JSON-LD API already exists.
@maxlath did much tooling already, currently I am working on versioning as In AP anything
@fediversereport@mastodon.social
Fediverse Report #115 - This week's #fediverse news:
- @peertube launches v1 of their mobile apps
- @Mastodon shares more information on their team is growing
- @swf launches places.pub, a way to put OpenStreetMap data directly on #activitypub
@fediversereport@mastodon.social
Fediverse Report #115 - This week's #fediverse news:
- @peertube launches v1 of their mobile apps
- @Mastodon shares more information on their team is growing
- @swf launches places.pub, a way to put OpenStreetMap data directly on #activitypub
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@fedizen@mastodon.social
»Fediverse Report – #115« https://fediversereport.com/fediverse-report-115/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@Flipboard@flipboard.social
Congratulations to @johnonolan and the team at Ghost on their 12th birthday! Here's John's post reflecting on the idea behind the product, some of the incredible indie publishers who have adopted it (including @404mediaco, @caseynewton's Platformer, and @drownedinsound) and what's next.
#Ghost #IndependentPublishing #IndiePublishing #OpenSource #Fediverse #Federation #ActivityPub
@Flipboard@flipboard.social
Congratulations to @johnonolan and the team at Ghost on their 12th birthday! Here's John's post reflecting on the idea behind the product, some of the incredible indie publishers who have adopted it (including @404mediaco, @caseynewton's Platformer, and @drownedinsound) and what's next.
#Ghost #IndependentPublishing #IndiePublishing #OpenSource #Fediverse #Federation #ActivityPub
@fedizen@mastodon.social
»Fediverse Report – #115« https://fediversereport.com/fediverse-report-115/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@fediversereport@mastodon.social
Fediverse Report #115 - This week's #fediverse news:
- @peertube launches v1 of their mobile apps
- @Mastodon shares more information on their team is growing
- @swf launches places.pub, a way to put OpenStreetMap data directly on #activitypub
@fediversereport@mastodon.social
Fediverse Report #115 - This week's #fediverse news:
- @peertube launches v1 of their mobile apps
- @Mastodon shares more information on their team is growing
- @swf launches places.pub, a way to put OpenStreetMap data directly on #activitypub
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@josemurilo@mato.social
"If #governments are concerned about the dominance of privately-owned online platforms, they have a responsibility to run and own their own.
A logical response would be for these entities to run their own instances of software like #Mastodon—or any #Fediverse-compatible, #ActivityPub-based service. This would allow them to own their content, domain, and user verification, ensuring greater control and independence."
@andypiper
https://andypiper.co.uk/2024/08/15/fediverse-for-freedom/
@josemurilo@mato.social
"If #governments are concerned about the dominance of privately-owned online platforms, they have a responsibility to run and own their own.
A logical response would be for these entities to run their own instances of software like #Mastodon—or any #Fediverse-compatible, #ActivityPub-based service. This would allow them to own their content, domain, and user verification, ensuring greater control and independence."
@andypiper
https://andypiper.co.uk/2024/08/15/fediverse-for-freedom/
@youronlyone@c.im
If you're a writer/blogger/press, a friendly reminder that the 17th Year Anniversary of the #Fediverse [social] network (**not** Mastodon® social network) is fast approaching.
May 18, 2008
So, if you want to publish a new article, you can start today. There are a hundred possible angles and scopes for that article. 😉
Anyway…
@matt@oslo.town
It was really fun to meet a bunch of people from #Mastodon in person today - thanks for coming along to the #Tekna talk. 🙏 🎉
The recording is available to watch online at the following site (my part starts at the 57 mins mark): https://www.tekna.no/fag-og-nettverk/IKT/exit-strategi-sosiale-medier---hva-er-alternativene/
Thank you to the organisers at @attacnorge, specifically @audunmb for giving me the opportunity to come and spread the word about #ActivityPub and the #Fediverse. 🙇
And thanks to @cifie for the flowers 💐
📸 @forteller
📸 @kfh
@matt@oslo.town
It was really fun to meet a bunch of people from #Mastodon in person today - thanks for coming along to the #Tekna talk. 🙏 🎉
The recording is available to watch online at the following site (my part starts at the 57 mins mark): https://www.tekna.no/fag-og-nettverk/IKT/exit-strategi-sosiale-medier---hva-er-alternativene/
Thank you to the organisers at @attacnorge, specifically @audunmb for giving me the opportunity to come and spread the word about #ActivityPub and the #Fediverse. 🙇
And thanks to @cifie for the flowers 💐
📸 @forteller
📸 @kfh
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@renchap@oisaur.com
We are implementing the final version of RFC9421 (HTTP Signatures) in Mastodon, and would like to test this with other ActivityPub implementations.
Do you know of any AP implementations supporting both incoming (verification) and outgoing (signing) RFC9421 signatures, and if possible with support for the double-knocking mechanism as described in https://swicg.github.io/activitypub-http-signature/ (section 3.5)?
@strypey@mastodon.nzoss.nz · Reply to Strypey's post
Coda: The growth of BlueSky, and the novel features it launches with, point to a need for a 2.0 version of ActivityPub. One that fleshes out and updates the protocol based on dev experiences in the first decade of active use, and intentions going forward.
Ideally an AP 2.0 would include a formal mechanism for protocol extensions. One that learns from the experiences of the FEP process.
@sl007@digitalcourage.social · Reply to crossgolf_rebel - kostenlose Kwalitätsposts's post
@crossgolf_rebel
thanks for the nice question and answer,
just wanted to mention that the according #ActivityPub specification is in the making, see
https://swicg.github.io/activitypub-data-portability/lola
/ cc @DTinitiative
@strypey@mastodon.nzoss.nz
This article sets out to compare ActivityPub and ATProto, but what it really compares is Mastodon and BlueSky;
It is useful however as a 'user story' about the failure modes of the existing, Mastodon-dominated fediverse.
(1/?)
@anthony@accioly.social
Hi folks, is there a LinkedIn equivalent on the Fediverse? Or is anyone working on creating one?
My professional posts don't quite fit the tone and microblogging style of Mastodon, and they’re not really suited to long-form blogging either. It would also be great to have an ActivityPub job board.
@cryptadamist@universeodon.com
The FediAlgo hashtag filter section now highlights any hashtags you've posted about recently.
Interestingly the most I've used the app the more I've found feed filtering gets a ton of mileage for me. It's a huge change of pace to be able to instantly flip between whatever people are talking about on the Fediverse. Not really something you can do on any other social media platform I'm aware of.
* video of FediAlgo + link: https://universeodon.com/@cryptadamist/114395249311910522
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #SocialWeb #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs #hashtag #hashtaggames
@anthony@accioly.social
Hi folks, is there a LinkedIn equivalent on the Fediverse? Or is anyone working on creating one?
My professional posts don't quite fit the tone and microblogging style of Mastodon, and they’re not really suited to long-form blogging either. It would also be great to have an ActivityPub job board.
@anthony@accioly.social
Hi folks, is there a LinkedIn equivalent on the Fediverse? Or is anyone working on creating one?
My professional posts don't quite fit the tone and microblogging style of Mastodon, and they’re not really suited to long-form blogging either. It would also be great to have an ActivityPub job board.
@cryptadamist@universeodon.com
The FediAlgo hashtag filter section now highlights any hashtags you've posted about recently.
Interestingly the most I've used the app the more I've found feed filtering gets a ton of mileage for me. It's a huge change of pace to be able to instantly flip between whatever people are talking about on the Fediverse. Not really something you can do on any other social media platform I'm aware of.
* video of FediAlgo + link: https://universeodon.com/@cryptadamist/114395249311910522
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #SocialWeb #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs #hashtag #hashtaggames
@gyptazy@gyptazy.com
Is the #Fediverse really open for #freedom?
In the last weeks, I noticed more & more messages from different instances/admins about moderation, banning and de-federations. Initially, people told the Fediverse is more open, not blocking and deleting content compared to other social medias. However, I think it shifted to the opposite where a single instance admin decides for the whole user base (which might not even be aware of it).
#community #activitypub #federation #opensource #socialmedia
@gyptazy@gyptazy.com
Is the #Fediverse really open for #freedom?
In the last weeks, I noticed more & more messages from different instances/admins about moderation, banning and de-federations. Initially, people told the Fediverse is more open, not blocking and deleting content compared to other social medias. However, I think it shifted to the opposite where a single instance admin decides for the whole user base (which might not even be aware of it).
#community #activitypub #federation #opensource #socialmedia
@weekinfediverse@mitra.social
Servers
- Sharkey v2025.2.3
- Hollo v0.5.6
- Mitra v4.1.1
- NodeBB v4.3.0
- Manyfold v0.109.0
- Pleroma ActivityRelay v0.3.5
- Gathio v1.5.2
- Misskey v2025.4.1
- gancio v1.26.0
- Iceshrimp v2023.12.14
- NeoDB v0.11.6.2
- Gush! v0.0.17
- Vernissage Server v1.11.0
- Images, profiles, and preferences (Ghost)
- BadgeFed: Early Decentralization Experiments + OpenBadges Export! - Second April 2025 Update
- PieFed development update Apr 2025 - S3, OAuth, Federation retry queue, Stripe
- Forgejo monthly update - April 2025
- places.pub: A service that makes OpenStreetMap geographical data available as ActivityPub objects
Clients
- Pachli v2.12.0
- Voyager v2.33.0
- Tesseract v1.4.38
- Blorp v1.2.5
- Interstellar v0.9.2
- PeerTube Mobile v1.0.1
- Phanpy changelog
For developers
- Masto.js v7.0.0
- FediAlgo v0.23.0
- apsig v0.5.2
- apkit: Powerful Toolkit for ActivityPub Implementations (Python)
Protocol
- ActivityPub/Primer/Inbox
- ActivityPub/Primer/Outbox
- ActivityPub/Primer/Activity Streams 2.0
Articles
- How I made a blog using Lemmy - a write-up
- Steps Forward in Long-form Text
- Does The Fediverse Need Influencers To Survive?
- Fediverse Report – #114
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01966ea0-7d42-6181-9fdd-ccfe31dab1e2
@weekinfediverse@mitra.social
Servers
- Sharkey v2025.2.3
- Hollo v0.5.6
- Mitra v4.1.1
- NodeBB v4.3.0
- Manyfold v0.109.0
- Pleroma ActivityRelay v0.3.5
- Gathio v1.5.2
- Misskey v2025.4.1
- gancio v1.26.0
- Iceshrimp v2023.12.14
- NeoDB v0.11.6.2
- Gush! v0.0.17
- Vernissage Server v1.11.0
- Images, profiles, and preferences (Ghost)
- BadgeFed: Early Decentralization Experiments + OpenBadges Export! - Second April 2025 Update
- PieFed development update Apr 2025 - S3, OAuth, Federation retry queue, Stripe
- Forgejo monthly update - April 2025
- places.pub: A service that makes OpenStreetMap geographical data available as ActivityPub objects
Clients
- Pachli v2.12.0
- Voyager v2.33.0
- Tesseract v1.4.38
- Blorp v1.2.5
- Interstellar v0.9.2
- PeerTube Mobile v1.0.1
- Phanpy changelog
For developers
- Masto.js v7.0.0
- FediAlgo v0.23.0
- apsig v0.5.2
- apkit: Powerful Toolkit for ActivityPub Implementations (Python)
Protocol
- ActivityPub/Primer/Inbox
- ActivityPub/Primer/Outbox
- ActivityPub/Primer/Activity Streams 2.0
Articles
- How I made a blog using Lemmy - a write-up
- Steps Forward in Long-form Text
- Does The Fediverse Need Influencers To Survive?
- Fediverse Report – #114
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01966ea0-7d42-6181-9fdd-ccfe31dab1e2
@brentpruitt@mastodon.art
are there any ‘good’ #WordPress + #WooCommerce self-host alts? 😩
i want to be rid of Automattic, but my options are limited on a shared server…
i _yearn_ for low maint & simplified UX
i'd like to attempt #ActivityPub WP integration but… spam, security, mgmt
Woo is bloated & the WP #UI / #UX continues to devolve
my ideal would be to nix all ecomm & have a gallery/art rep, but i could be delusional…
> i need art sales + social marketing <
not another barrier
💻 🤷🏽
@brentpruitt@mastodon.art
are there any ‘good’ #WordPress + #WooCommerce self-host alts? 😩
i want to be rid of Automattic, but my options are limited on a shared server…
i _yearn_ for low maint & simplified UX
i'd like to attempt #ActivityPub WP integration but… spam, security, mgmt
Woo is bloated & the WP #UI / #UX continues to devolve
my ideal would be to nix all ecomm & have a gallery/art rep, but i could be delusional…
> i need art sales + social marketing <
not another barrier
💻 🤷🏽
@nibushibu@vivaldi.net
#Fediverse とか #ActivityPub
がどういうものかrあらためてちゃんと発信する機会として #Threads の利用規約のアップデートは良い機会のような気もする。というか良い機会にするための発信が必要な時期なのかも
@smallcircles@social.coop
What should #FEP Process be about? #ActivityPub et al? Or everything that vaguely represents #SocialWeb?
I took FEP codeberg chat to a #SocialHub thread that discusses how we can ensure and foster an open and grassroots ecosystem.
Imho the FEP Process should define its particular scope of protocols and technologies that are relevant, and that involves AS/AP and closely affiliated technologies.
FEP Process should NOT define what #Fediverse is. Leave that to Fedizens.
@smallcircles@social.coop · Reply to just small circles 🕊's post
On the #W3C #SocialCG a related issue. For a good bottom-up standardization process that guarantees an open and inclusive #ActivityPub related ecosystem, there should be good alignment with the #FEP Process.
@smallcircles@social.coop
What should #FEP Process be about? #ActivityPub et al? Or everything that vaguely represents #SocialWeb?
I took FEP codeberg chat to a #SocialHub thread that discusses how we can ensure and foster an open and grassroots ecosystem.
Imho the FEP Process should define its particular scope of protocols and technologies that are relevant, and that involves AS/AP and closely affiliated technologies.
FEP Process should NOT define what #Fediverse is. Leave that to Fedizens.
@mapache@hachyderm.io
Early bits of #decentralization of #Badges look how, I created one in one instance (verifiedby.maho.dev) for @lqdev and it got decentralized/federated to other instance (badges.vocalcat.com)
So, badges are coming to the #fediverse.
In a technical note, I am using notes (so it gets published to mastodon), but adding the badge as "attachment" which is in the #activitypub spec. Tried document type before, but it does not render in Mastodon. I am going to work in supporting openbadges as activitypub attachments as well, so you can bring your existing openbadges to the fediverse.
@weekinfediverse@mitra.social
Servers
- Sharkey v2025.2.3
- Hollo v0.5.6
- Mitra v4.1.1
- NodeBB v4.3.0
- Manyfold v0.109.0
- Pleroma ActivityRelay v0.3.5
- Gathio v1.5.2
- Misskey v2025.4.1
- gancio v1.26.0
- Iceshrimp v2023.12.14
- NeoDB v0.11.6.2
- Gush! v0.0.17
- Vernissage Server v1.11.0
- Images, profiles, and preferences (Ghost)
- BadgeFed: Early Decentralization Experiments + OpenBadges Export! - Second April 2025 Update
- PieFed development update Apr 2025 - S3, OAuth, Federation retry queue, Stripe
- Forgejo monthly update - April 2025
- places.pub: A service that makes OpenStreetMap geographical data available as ActivityPub objects
Clients
- Pachli v2.12.0
- Voyager v2.33.0
- Tesseract v1.4.38
- Blorp v1.2.5
- Interstellar v0.9.2
- PeerTube Mobile v1.0.1
- Phanpy changelog
For developers
- Masto.js v7.0.0
- FediAlgo v0.23.0
- apsig v0.5.2
- apkit: Powerful Toolkit for ActivityPub Implementations (Python)
Protocol
- ActivityPub/Primer/Inbox
- ActivityPub/Primer/Outbox
- ActivityPub/Primer/Activity Streams 2.0
Articles
- How I made a blog using Lemmy - a write-up
- Steps Forward in Long-form Text
- Does The Fediverse Need Influencers To Survive?
- Fediverse Report – #114
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01966ea0-7d42-6181-9fdd-ccfe31dab1e2
@weekinfediverse@mitra.social
Servers
- Sharkey v2025.2.3
- Hollo v0.5.6
- Mitra v4.1.1
- NodeBB v4.3.0
- Manyfold v0.109.0
- Pleroma ActivityRelay v0.3.5
- Gathio v1.5.2
- Misskey v2025.4.1
- gancio v1.26.0
- Iceshrimp v2023.12.14
- NeoDB v0.11.6.2
- Gush! v0.0.17
- Vernissage Server v1.11.0
- Images, profiles, and preferences (Ghost)
- BadgeFed: Early Decentralization Experiments + OpenBadges Export! - Second April 2025 Update
- PieFed development update Apr 2025 - S3, OAuth, Federation retry queue, Stripe
- Forgejo monthly update - April 2025
- places.pub: A service that makes OpenStreetMap geographical data available as ActivityPub objects
Clients
- Pachli v2.12.0
- Voyager v2.33.0
- Tesseract v1.4.38
- Blorp v1.2.5
- Interstellar v0.9.2
- PeerTube Mobile v1.0.1
- Phanpy changelog
For developers
- Masto.js v7.0.0
- FediAlgo v0.23.0
- apsig v0.5.2
- apkit: Powerful Toolkit for ActivityPub Implementations (Python)
Protocol
- ActivityPub/Primer/Inbox
- ActivityPub/Primer/Outbox
- ActivityPub/Primer/Activity Streams 2.0
Articles
- How I made a blog using Lemmy - a write-up
- Steps Forward in Long-form Text
- Does The Fediverse Need Influencers To Survive?
- Fediverse Report – #114
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01966ea0-7d42-6181-9fdd-ccfe31dab1e2
@weekinfediverse@mitra.social
Servers
- Sharkey v2025.2.3
- Hollo v0.5.6
- Mitra v4.1.1
- NodeBB v4.3.0
- Manyfold v0.109.0
- Pleroma ActivityRelay v0.3.5
- Gathio v1.5.2
- Misskey v2025.4.1
- gancio v1.26.0
- Iceshrimp v2023.12.14
- NeoDB v0.11.6.2
- Gush! v0.0.17
- Vernissage Server v1.11.0
- Images, profiles, and preferences (Ghost)
- BadgeFed: Early Decentralization Experiments + OpenBadges Export! - Second April 2025 Update
- PieFed development update Apr 2025 - S3, OAuth, Federation retry queue, Stripe
- Forgejo monthly update - April 2025
- places.pub: A service that makes OpenStreetMap geographical data available as ActivityPub objects
Clients
- Pachli v2.12.0
- Voyager v2.33.0
- Tesseract v1.4.38
- Blorp v1.2.5
- Interstellar v0.9.2
- PeerTube Mobile v1.0.1
- Phanpy changelog
For developers
- Masto.js v7.0.0
- FediAlgo v0.23.0
- apsig v0.5.2
- apkit: Powerful Toolkit for ActivityPub Implementations (Python)
Protocol
- ActivityPub/Primer/Inbox
- ActivityPub/Primer/Outbox
- ActivityPub/Primer/Activity Streams 2.0
Articles
- How I made a blog using Lemmy - a write-up
- Steps Forward in Long-form Text
- Does The Fediverse Need Influencers To Survive?
- Fediverse Report – #114
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01966ea0-7d42-6181-9fdd-ccfe31dab1e2
@mapache@hachyderm.io
Early bits of #decentralization of #Badges look how, I created one in one instance (verifiedby.maho.dev) for @lqdev and it got decentralized/federated to other instance (badges.vocalcat.com)
So, badges are coming to the #fediverse.
In a technical note, I am using notes (so it gets published to mastodon), but adding the badge as "attachment" which is in the #activitypub spec. Tried document type before, but it does not render in Mastodon. I am going to work in supporting openbadges as activitypub attachments as well, so you can bring your existing openbadges to the fediverse.
@mapache@hachyderm.io
Early bits of #decentralization of #Badges look how, I created one in one instance (verifiedby.maho.dev) for @lqdev and it got decentralized/federated to other instance (badges.vocalcat.com)
So, badges are coming to the #fediverse.
In a technical note, I am using notes (so it gets published to mastodon), but adding the badge as "attachment" which is in the #activitypub spec. Tried document type before, but it does not render in Mastodon. I am going to work in supporting openbadges as activitypub attachments as well, so you can bring your existing openbadges to the fediverse.
@AnxiousBadger@tech.lgbt
Hey fedi, I need some help!
I am trying to connect an application I am making with the Fediverse. When I search for an actor I am successfully able to get to the profile (yay) but when I search for a post I cannot find it.
I am receiving the GET request and am sending the response with the content type ("application/activity+json") (for example):
{
"@context":"https://www.w3.org/ns/activitystreams",
"name":"New Note",
"type":"Note",
"id":"https://critters.jpleite.eu/posts/1",
"attributedTo":"https://critters.jpleite.eu/users/1",
"content":"Hello there!",
"to":[]
}
Why would Mastodon not display the post?
The on Mastodon’s side is returning 403 action not allowed.
Thank you
#federation #fediverse #mastodon #help #mutualaid #MutualAidRequest #programming #activitypub #development #needhelp
@AnxiousBadger@tech.lgbt
Hey fedi, I need some help!
I am trying to connect an application I am making with the Fediverse. When I search for an actor I am successfully able to get to the profile (yay) but when I search for a post I cannot find it.
I am receiving the GET request and am sending the response with the content type ("application/activity+json") (for example):
{
"@context":"https://www.w3.org/ns/activitystreams",
"name":"New Note",
"type":"Note",
"id":"https://critters.jpleite.eu/posts/1",
"attributedTo":"https://critters.jpleite.eu/users/1",
"content":"Hello there!",
"to":[]
}
Why would Mastodon not display the post?
The on Mastodon’s side is returning 403 action not allowed.
Thank you
#federation #fediverse #mastodon #help #mutualaid #MutualAidRequest #programming #activitypub #development #needhelp
@NickBohle@mastodon.social · Reply to dansup's post
@dansup Found myself. So, federated #WordPress (.org) blogs are included. 👍 #ActivityPub
@AnxiousBadger@tech.lgbt
Hey fedi, I need some help!
I am trying to connect an application I am making with the Fediverse. When I search for an actor I am successfully able to get to the profile (yay) but when I search for a post I cannot find it.
I am receiving the GET request and am sending the response with the content type ("application/activity+json") (for example):
{
"@context":"https://www.w3.org/ns/activitystreams",
"name":"New Note",
"type":"Note",
"id":"https://critters.jpleite.eu/posts/1",
"attributedTo":"https://critters.jpleite.eu/users/1",
"content":"Hello there!",
"to":[]
}
Why would Mastodon not display the post?
The on Mastodon’s side is returning 403 action not allowed.
Thank you
#federation #fediverse #mastodon #help #mutualaid #MutualAidRequest #programming #activitypub #development #needhelp
@box464@mastodon.social
Today I learned that the fediverse platform Honk can import posts from a Mastodon, Twitter, or Instagram archive and backdate them appropriately. That's honkin' terrific!
@box464@mastodon.social
Today I learned that the fediverse platform Honk can import posts from a Mastodon, Twitter, or Instagram archive and backdate them appropriately. That's honkin' terrific!
@box464@mastodon.social
Today I learned that the fediverse platform Honk can import posts from a Mastodon, Twitter, or Instagram archive and backdate them appropriately. That's honkin' terrific!
@box464@mastodon.social
Today I learned that the fediverse platform Honk can import posts from a Mastodon, Twitter, or Instagram archive and backdate them appropriately. That's honkin' terrific!
@xChaos@f.cz
Discourse communities are online spaces that facilitate open collaboration and communication.
https://blog.discourse.org/2025/04/discourse-and-the-fediverse/
@xChaos@f.cz
Discourse communities are online spaces that facilitate open collaboration and communication.
https://blog.discourse.org/2025/04/discourse-and-the-fediverse/
@docyeet@halis.io
Question of the day, I have #mastodon hosted on my halis.io domain, same for my #synapse instance, and it works without issues because one uses #activitypub and the other #matrix
But, if I setup a #manyfold instance on the same domain, as in without subdomain, it shouldn’t work, right ?
Would there be a way to converge both manyfold and mastodon under the same base domain ? Or do I have to use a subdomain for one ?
@gyptazy@gyptazy.com
My relay instance for the #Fediverse evolved in a great way - more than 120 instances are already connected to boost your posts across the Fediverse.
If you're running #snac / #snac2, #Mastodon, #Pleroma or any other software on the #ActivityPub protocol that supports relay instances - feel free to join the relay! Hopefully #GoToSocial also supports relay services soon! Of course #IPv6 is supported (for IPV6 only instances).
@gyptazy@gyptazy.com
My relay instance for the #Fediverse evolved in a great way - more than 120 instances are already connected to boost your posts across the Fediverse.
If you're running #snac / #snac2, #Mastodon, #Pleroma or any other software on the #ActivityPub protocol that supports relay instances - feel free to join the relay! Hopefully #GoToSocial also supports relay services soon! Of course #IPv6 is supported (for IPV6 only instances).
@gyptazy@gyptazy.com
My relay instance for the #Fediverse evolved in a great way - more than 120 instances are already connected to boost your posts across the Fediverse.
If you're running #snac / #snac2, #Mastodon, #Pleroma or any other software on the #ActivityPub protocol that supports relay instances - feel free to join the relay! Hopefully #GoToSocial also supports relay services soon! Of course #IPv6 is supported (for IPV6 only instances).
@tchambers@indieweb.social
This seems like news (at least to me) ... From @Flipboard's
most recent video of @pcottle --
"Some people have seen [new #ActivityPub integration] functionality in Brussels previewed....so hoping you will be excited later this year, 2025."
@Flipboard@flipboard.social
We’ve just uploaded a bunch of clips from @davidimel's Fediverse Corner panel at the Fediverse House at SXSW 2025, featuring @evan, @mmasnick and @pcottle
We know the sound is super rough 😅 but many of these snippets deserve to be heard. Thanks for bearing with us.
They talk about:
- Solving the cold start problem
- Taking control back from billionaires
- The deal with Threads’ federation
- Keeping vibes sacred (and whole)
https://flipboard.video/c/fediverse.house/videos
#Flipboard #Fediverse #ActivityPub #Threads #OpenSocial #OpenSocialWeb #ColdStartProblem #FediverseHouse #SXSW
@BeAware@mementomori.social
Threads changed it's terms of service, going into effect on May 28th.
It references "The Protocol" a LOT. In this case, it has to be the Fediverse.
More interoperability coming soon?🤔
@box464@mastodon.social
Threads updated their terms of service. Lots of CYA when interacting with “the Protocol” which at this point in time, is ActivityPub. But it’s never named, and it’s noted that the protocol could change at anytime.
Important terms to review: protocol and third party *. Also that little sneaky point about needing to adhere to both Threads and Instagram’s ToS.
@silverpill@mitra.social
ActivityPub object identifiers are not IRIs. They are URIs:
https://www.w3.org/TR/activitypub/#obj-id
Unicode characters are not allowed there.
@Flipboard@flipboard.social
We’ve uploaded more clips from the conversations at the Fediverse House last month at SXSW, including:
@jasonkoebler on the perils of building a business on rented land
@parkerortolani's recommendation to publishers who want to get started in the fediverse
Gina Michnowicz’s advice to brands curious about the space
@jlouderb's call to creators seeking autonomy
That about does it for our roundup from Austin. Hope you enjoyed these videos and felt inspired by these open social words of wisdom.
See them all...
Fediverse House: https://flipboard.video/c/fediverse.house/videos
Dot Social: https://flipboard.video/c/dot_social/videos
#OpenSocial #OpenSocialWeb #FediverseHouse #Fediverse #ActivityPub #Federation #Tech #Technology #Flipboard
@Flipboard@flipboard.social
We’ve uploaded more clips from the conversations at the Fediverse House last month at SXSW, including:
@jasonkoebler on the perils of building a business on rented land
@parkerortolani's recommendation to publishers who want to get started in the fediverse
Gina Michnowicz’s advice to brands curious about the space
@jlouderb's call to creators seeking autonomy
That about does it for our roundup from Austin. Hope you enjoyed these videos and felt inspired by these open social words of wisdom.
See them all...
Fediverse House: https://flipboard.video/c/fediverse.house/videos
Dot Social: https://flipboard.video/c/dot_social/videos
#OpenSocial #OpenSocialWeb #FediverseHouse #Fediverse #ActivityPub #Federation #Tech #Technology #Flipboard
@silverpill@mitra.social
ActivityPub object identifiers are not IRIs. They are URIs:
https://www.w3.org/TR/activitypub/#obj-id
Unicode characters are not allowed there.
@box464@mastodon.social
Threads updated their terms of service. Lots of CYA when interacting with “the Protocol” which at this point in time, is ActivityPub. But it’s never named, and it’s noted that the protocol could change at anytime.
Important terms to review: protocol and third party *. Also that little sneaky point about needing to adhere to both Threads and Instagram’s ToS.
@bitsgalore@digipres.club
After almost 12 years I migrated my blog from #Github Pages to @Codeberg.
I also added an #ActivityPub-based comments system (which means you can now comment using your Mastodon account), and archived the legacy comments (which used Github issues).
This post gives some technical background info on how I did this, which might be useful for others who are thinking about moving their sites away from Github.
@fedizen@mastodon.social
»‘TheTrillionDollarDinner.Gov’ Registered Around Time of Trump’s Pay-to-Play Memecoin Dinner Announcement« https://www.404media.co/thetrilliondollardinner-gov-registered-around-time-of-trumps-pay-to-play-memecoin-dinner-announcement/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@BeAware@mementomori.social
Threads changed it's terms of service, going into effect on May 28th.
It references "The Protocol" a LOT. In this case, it has to be the Fediverse.
More interoperability coming soon?🤔
@fedizen@mastodon.social
»‘TheTrillionDollarDinner.Gov’ Registered Around Time of Trump’s Pay-to-Play Memecoin Dinner Announcement« https://www.404media.co/thetrilliondollardinner-gov-registered-around-time-of-trumps-pay-to-play-memecoin-dinner-announcement/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@box464@mastodon.social
Threads updated their terms of service. Lots of CYA when interacting with “the Protocol” which at this point in time, is ActivityPub. But it’s never named, and it’s noted that the protocol could change at anytime.
Important terms to review: protocol and third party *. Also that little sneaky point about needing to adhere to both Threads and Instagram’s ToS.
@cyber4EDU@digitalcourage.social
Nächste Woche ist es soweit. Wir sind bei folgendem Workshop dabei:
"Das Fediverse und seine sozialen Medien"
📅 06. Mai 2025 | 14:30 Uhr bis 16:30 Uhr
💻 Online via BigBlueButton
Wir von @neuSoM @wikimediaDE @wechange @cyber4EDU @uniinnsbruck
laden euch ein zum ersten Teil aus der Workshopreihe
"Sovereign. Sustainable. Digital. Digitale Souveränität nachhaltig stärken."
der Community Nachhaltige Digitalisierung des @bmuv
🔁
Info zur Anmeldung im Thread ⬇️
#SozialeMedien #KommInsFediverse #FediLZ #cyberLZ #Bildung #Hochschulen #SustainableDigitalAge
#pixelfed #fediverse #mastodon
#activitypub
@bloodaxe@fosstodon.org
People of the #fediverse, I need some #help.
I'm looking to either self-host (ideally) or rent some #ActivityPub related services. Namely #GoToSocial, #PeerTube and possible #Owncast. As more or less of a noob on these things, where do I go to get started and to gather the basics of what I need?
@smallcircles@social.coop · Reply to Strypey's post
@strypey @skyfaller @hugh @bob
I did not mention a #SocialHub thread. There are multiple discussions where various aspects were discussed, that might still be useful. The search facility is best way to find them.
As for AndStatus the github issue lists their step-by-step progress in investigating what was needed, and what the challenges were. One of them was unavailibility of appropriate server back-ends to test against, mentioned *at the time* as challenge.
Would ❤️ more #ActivityPub C2S dev.
@BeAware@mementomori.social
Threads changed it's terms of service, going into effect on May 28th.
It references "The Protocol" a LOT. In this case, it has to be the Fediverse.
More interoperability coming soon?🤔
@bloodaxe@fosstodon.org
People of the #fediverse, I need some #help.
I'm looking to either self-host (ideally) or rent some #ActivityPub related services. Namely #GoToSocial, #PeerTube and possible #Owncast. As more or less of a noob on these things, where do I go to get started and to gather the basics of what I need?
@strypey@mastodon.nzoss.nz · Reply to just small circles 🕊's post
@smallcircles
> what is needed client-side can be found in the AndStatus project ... there were among others no server implementations to test against
Seems like Pleroma had it working before mid-2020;
https://pleroma.social/announcements/2020/05/10/pleroma-security-release-2-0-4/
The Epicyon server has support for AP C2S too, so that could also be used to test apps trying to implement it;
https://libreserver.org/epicyon/
Was any of this mentioned in the SH thread?
@fedizen@mastodon.social
»Fediverse Report – #114« https://fediversereport.com/fediverse-report-114/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@cryptadamist@universeodon.com
Ω🪬Ω
New release of #FediAlgo (customizable #algorithm for your #Mastodon timeline) has a couple of cool features:
1. Configuration presets (so you can easily put discussions or trending toots at the top of your #timeline without fiddling with the individual settings)
2. A "What's Trending" section that will show you the top trending hashtags, links, and posts scraped from 30 or so of the most popular Mastodon servers
All the old features like filtering for particular languages / hashtags / users or a minimum number of replies / boosts / etc. are still there.
* Usable demo: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Library: https://github.com/michelcrypt4d4mus/fedialgo
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs
@SymfonyStation@drupal.community
Key learnings from building social apps with ActivityPods. #ActivityPub
https://activitypods.org/key-learnings-from-building-social-apps
@SymfonyStation@drupal.community
Key learnings from building social apps with ActivityPods. #ActivityPub
https://activitypods.org/key-learnings-from-building-social-apps
@fedizen@mastodon.social
»Fediverse Report – #114« https://fediversereport.com/fediverse-report-114/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@sl007@digitalcourage.social · Reply to Sebastian Lasse's post
we can also check online:
index
https://webfinger.net/lookup/?resource=index%40404media.co
feed
https://webfinger.net/lookup/?resource=feed%40404media.co
resolve to the same #ActivityPub Actor.
It would be cooler if it would just resolve both webfingers to https://www.404media.co/.ghost/activitypub/users/index cause then we can JUST use "404media.co" without any handle bullshit too.
This is also how we'll do it in the Public Broadcasters Project, e.g. here also for the subdomains (special interest programmes like ZDF neo or arte)
@nibushibu@vivaldi.net
こんなのもあったのか
新時代の分散型SNS「Concrnt(コンカレント)」を始めよう!|akiRAM https://note.com/akiram_vr/n/nfe5419e4ba2a
@_elena@mastodon.social · Reply to Elena Rossini ⁂'s post
Thank you so much for your enthusiasm! ❤️
So, following your encouragement, I will do weekly blog posts sharing a behind-the-scenes look at the making of my Fedi video(s).
My two amazing interns will be helping out for the next 8 weeks... and they know NOTHING about the Fediverse (we kept things this way so they'll look at the script with fresh eyes and provide feedback from the POV of our ideal audience).
Today I get to tell them about #ActivityPub - exciteeed 🥰
@loke@functional.cafe
Does anyone know of a Common Lisp activitypub library that is complete enough to implement subscription to accounts, tracking subscribers and posting messages?
I want to build a small service which allows users to tag it in a message (or users can ask the serviceto subscribeto it, in which case it will absorb all mesaages), and conaume those messages, and then post updates to its main feed.
@nibushibu@vivaldi.net
こんなのもあったのか
新時代の分散型SNS「Concrnt(コンカレント)」を始めよう!|akiRAM https://note.com/akiram_vr/n/nfe5419e4ba2a
@smallcircles@social.coop
#ActivityPub "The Good, the Bad and the Ugly" is a good article by @dominik
https://chrastecky.dev/technology/activity-pub-the-good-the-bad-and-the-ugly
The two mentioned examples in "The Bad" are long-time issues that were also discussed at #SocialHub. I just responded to one of them on the forum..
The #Mastodon Update(Note) quirk. https://socialhub.activitypub.rocks/t/update-note-quirk/4545/14
The other one is around Direct Messages which are a hack (a Note with special sauce). #LitePub specifies ChatMessage object type here, which is the intended way to extend the protocol. #FEP
@smallcircles@social.coop
#ActivityPub "The Good, the Bad and the Ugly" is a good article by @dominik
https://chrastecky.dev/technology/activity-pub-the-good-the-bad-and-the-ugly
The two mentioned examples in "The Bad" are long-time issues that were also discussed at #SocialHub. I just responded to one of them on the forum..
The #Mastodon Update(Note) quirk. https://socialhub.activitypub.rocks/t/update-note-quirk/4545/14
The other one is around Direct Messages which are a hack (a Note with special sauce). #LitePub specifies ChatMessage object type here, which is the intended way to extend the protocol. #FEP
@smallcircles@social.coop
#ActivityPub "The Good, the Bad and the Ugly" is a good article by @dominik
https://chrastecky.dev/technology/activity-pub-the-good-the-bad-and-the-ugly
The two mentioned examples in "The Bad" are long-time issues that were also discussed at #SocialHub. I just responded to one of them on the forum..
The #Mastodon Update(Note) quirk. https://socialhub.activitypub.rocks/t/update-note-quirk/4545/14
The other one is around Direct Messages which are a hack (a Note with special sauce). #LitePub specifies ChatMessage object type here, which is the intended way to extend the protocol. #FEP
@smallcircles@social.coop · Reply to Nelson's post
Also #SocialHub #ActivityPub developer forum has a bunch of C2S-related topic. You can use the forum search facility.
https://socialhub.activitypub.rocks
A very detailed investigation on what is needed client-side can be found in the #AndStatus project. It was never completed AFAIK as there were among others no server implementations to test against.
@Flipboard@flipboard.social
We’ve just uploaded a bunch of clips from @davidimel's Fediverse Corner panel at the Fediverse House at SXSW 2025, featuring @evan, @mmasnick and @pcottle
We know the sound is super rough 😅 but many of these snippets deserve to be heard. Thanks for bearing with us.
They talk about:
- Solving the cold start problem
- Taking control back from billionaires
- The deal with Threads’ federation
- Keeping vibes sacred (and whole)
https://flipboard.video/c/fediverse.house/videos
#Flipboard #Fediverse #ActivityPub #Threads #OpenSocial #OpenSocialWeb #ColdStartProblem #FediverseHouse #SXSW
@Flipboard@flipboard.social
We’ve just uploaded a bunch of clips from @davidimel's Fediverse Corner panel at the Fediverse House at SXSW 2025, featuring @evan, @mmasnick and @pcottle
We know the sound is super rough 😅 but many of these snippets deserve to be heard. Thanks for bearing with us.
They talk about:
- Solving the cold start problem
- Taking control back from billionaires
- The deal with Threads’ federation
- Keeping vibes sacred (and whole)
https://flipboard.video/c/fediverse.house/videos
#Flipboard #Fediverse #ActivityPub #Threads #OpenSocial #OpenSocialWeb #ColdStartProblem #FediverseHouse #SXSW
@chrisafk@fosstodon.org
It would be really nice to be able to import/export word filters on #Mastdon. Not sure why this functionality isn't there. Perhaps a feature request is in order.
@smallcircles@social.coop
It would be great if the #ActivityPub #Discourse plugin supported moving topics to remote forums it federates with.
I wanted to transfer some topics with a bunch of posts to another discourse installation, but the procedure is quite involved. Not a simple export/import via the UI, unless I overlooked something.
https://socialhub.activitypub.rocks/t/transfer-topics-between-forums/5278
@_elena@mastodon.social · Reply to Elena Rossini ⁂'s post
Thank you so much for your enthusiasm! ❤️
So, following your encouragement, I will do weekly blog posts sharing a behind-the-scenes look at the making of my Fedi video(s).
My two amazing interns will be helping out for the next 8 weeks... and they know NOTHING about the Fediverse (we kept things this way so they'll look at the script with fresh eyes and provide feedback from the POV of our ideal audience).
Today I get to tell them about #ActivityPub - exciteeed 🥰
@smallcircles@social.coop
It would be great if the #ActivityPub #Discourse plugin supported moving topics to remote forums it federates with.
I wanted to transfer some topics with a bunch of posts to another discourse installation, but the procedure is quite involved. Not a simple export/import via the UI, unless I overlooked something.
https://socialhub.activitypub.rocks/t/transfer-topics-between-forums/5278
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@mapache@hachyderm.io
I need to test another feature of @badgefed@vocalcat.com who is available right now and wants a badge from @badgefed@badges.vocalcat.com ?
Help me test decentralized badges.
@chrisafk@fosstodon.org
It would be really nice to be able to import/export word filters on #Mastdon. Not sure why this functionality isn't there. Perhaps a feature request is in order.
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@Linux@mk.absturztau.be
I know most people dislike AI on the Fediverse, but we really do need an AI on the Fediverse to deal with the spam problems.
I work for Meta, and do you think we spend all day, every day, removing spam?
NO. - We have an AI for that.
The only time I see spam is when someone appeals. You'd be surprised on how entitled people feel to post, junk. Beyond that, we mostly deal with normal junk, and spam is generally a low issue.
#Fediverse #ActivityPub #Mastodon #Misskey #Spam
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@1br0wn@eupolicy.social · Reply to Ian Brown 👨🏻💻's post
@ianbrown.tech Hi @pfefferle! Love love love your #ActivityPub plugin for #WordPress! 😍
Any thoughts on this thread? Thanks! https://bsky.app/profile/did:plc:2cxgdrgtsmrbqnjkwyplmp43/post/3lns5xetjek27
@AtomZ@m.cmx.im
大家好,#Fread 现在已经决定开源了,欢迎大家查看代码提交 PR。
Fread 经历了两年多的开发,从开始到现在一直免费使用,之前由于没考虑好到底是付费下载还是免费所以闭源,仓库里也有很多敏感数据一直没法开源,现在主要功能都开发的差不多了,也是时候开源出来了。
虽然这种项目大部分都是业务代码,但是 Fread 还是有些独特之处的,首先使用的是 Kotlin Multiplatform 和 Compose Multiplatform 做跨平台,目前像 Fread 这么复杂的产品使用这样技术栈的其实很少,并且这是比较新的技术,这点 Fread 有很多参考意义。
另外 Fread 因为要兼容多个社交平台以及混合 Feeds,所以架构设计上下了点功夫,目前可以从架构上兼容这些短博客协议。
总之,虽然确实希望通过 Fread 赚钱,但我更希望自己开发了这么久的 App 有更多的人使用和喜欢。
#Mastodon #Bluesky #rss #activitypub #fediverse #FOSS #Android #Opensource #Freesoftware
@board@ovo.st @board@2-5.cc @worldboard@ovo.st @worldboard@2-5.cc
@AtomZ@m.cmx.im
大家好,#Fread 现在已经决定开源了,欢迎大家查看代码提交 PR。
Fread 经历了两年多的开发,从开始到现在一直免费使用,之前由于没考虑好到底是付费下载还是免费所以闭源,仓库里也有很多敏感数据一直没法开源,现在主要功能都开发的差不多了,也是时候开源出来了。
虽然这种项目大部分都是业务代码,但是 Fread 还是有些独特之处的,首先使用的是 Kotlin Multiplatform 和 Compose Multiplatform 做跨平台,目前像 Fread 这么复杂的产品使用这样技术栈的其实很少,并且这是比较新的技术,这点 Fread 有很多参考意义。
另外 Fread 因为要兼容多个社交平台以及混合 Feeds,所以架构设计上下了点功夫,目前可以从架构上兼容这些短博客协议。
总之,虽然确实希望通过 Fread 赚钱,但我更希望自己开发了这么久的 App 有更多的人使用和喜欢。
#Mastodon #Bluesky #rss #activitypub #fediverse #FOSS #Android #Opensource #Freesoftware
@board@ovo.st @board@2-5.cc @worldboard@ovo.st @worldboard@2-5.cc
@mapache@hachyderm.io
I need to test another feature of @badgefed@vocalcat.com who is available right now and wants a badge from @badgefed@badges.vocalcat.com ?
Help me test decentralized badges.
@evan@cosocial.ca
A reply to a followers-only post should be addressed to the OP and the OP's followers, not to the replier's followers. #ActivityPub
@fedify@hollo.social
Want to build your own #ActivityPub implementation, but don't know where to start? Read and follow #Fedify's official tutorial, Creating your own federated microblog, and get started!
@evan@cosocial.ca
A reply to a followers-only post should be addressed to the OP and the OP's followers, not to the replier's followers. #ActivityPub
@js@podcastindex.social
👀 BrowserPub: A browser for exploring #ActivityPub and the ⁂fediverse
@evan@cosocial.ca
A reply to a followers-only post should be addressed to the OP and the OP's followers, not to the replier's followers. #ActivityPub
@fedify@hollo.social
Want to build your own #ActivityPub implementation, but don't know where to start? Read and follow #Fedify's official tutorial, Creating your own federated microblog, and get started!
@weekinfediverse@mitra.social
Servers
- GoToSocial v0.19.0
- ActivityPub for WordPress v5.8.0
- NeoDB v0.11.6.0
- Vernissage Server v1.10.0
- NodeBB v4.2.2
- Custom usernames (Ghost)
Clients
- Fedilab v3.32.2
- Fread v1.3.1
- Voyager v2.31.0
- Blorp v1.1.0
- pl-fe changes summary
Tools and Plugins
- Fediphoto Lineage v7.5
- FediFetcher v7.1.16
- Enable Mastodon Apps v1.4.3 (WordPress plugin)
For developers
Protocol
- FEP-8a8e: A common approach to using the Event object type
- Activity Streams/Primer/Language mapping
- Activity Streams/Primer/Relationship type
Articles
- If I ran Mastodon
- How decentralized is the fediverse
- Fediverse Report – #113
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01964a3e-3eef-f858-31a1-b1385bd0971c
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those skeptical of DMs in #ActivityPub: I'm also considering an alternative verification approach using ActivityPub's Question
feature. Instead of sending numeric codes, the system could send a poll with several emoji options, and the user would select the one that matches what's displayed on their login screen. This visual authentication method might offer better security against certain automated attacks while still leveraging federation rather than platform-specific APIs. Would this approach address some of the privacy concerns around DM-based verification?
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
For those skeptical of DMs in #ActivityPub: I'm also considering an alternative verification approach using ActivityPub's Question
feature. Instead of sending numeric codes, the system could send a poll with several emoji options, and the user would select the one that matches what's displayed on their login screen. This visual authentication method might offer better security against certain automated attacks while still leveraging federation rather than platform-specific APIs. Would this approach address some of the privacy concerns around DM-based verification?
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@hongminhee@hollo.social
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
@weekinfediverse@mitra.social
Servers
- GoToSocial v0.19.0
- ActivityPub for WordPress v5.8.0
- NeoDB v0.11.6.0
- Vernissage Server v1.10.0
- NodeBB v4.2.2
- Custom usernames (Ghost)
Clients
- Fedilab v3.32.2
- Fread v1.3.1
- Voyager v2.31.0
- Blorp v1.1.0
- pl-fe changes summary
Tools and Plugins
- Fediphoto Lineage v7.5
- FediFetcher v7.1.16
- Enable Mastodon Apps v1.4.3 (WordPress plugin)
For developers
Protocol
- FEP-8a8e: A common approach to using the Event object type
- Activity Streams/Primer/Language mapping
- Activity Streams/Primer/Relationship type
Articles
- If I ran Mastodon
- How decentralized is the fediverse
- Fediverse Report – #113
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01964a3e-3eef-f858-31a1-b1385bd0971c
@weekinfediverse@mitra.social
Servers
- GoToSocial v0.19.0
- ActivityPub for WordPress v5.8.0
- NeoDB v0.11.6.0
- Vernissage Server v1.10.0
- NodeBB v4.2.2
- Custom usernames (Ghost)
Clients
- Fedilab v3.32.2
- Fread v1.3.1
- Voyager v2.31.0
- Blorp v1.1.0
- pl-fe changes summary
Tools and Plugins
- Fediphoto Lineage v7.5
- FediFetcher v7.1.16
- Enable Mastodon Apps v1.4.3 (WordPress plugin)
For developers
Protocol
- FEP-8a8e: A common approach to using the Event object type
- Activity Streams/Primer/Language mapping
- Activity Streams/Primer/Relationship type
Articles
- If I ran Mastodon
- How decentralized is the fediverse
- Fediverse Report – #113
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01964a3e-3eef-f858-31a1-b1385bd0971c
@weekinfediverse@mitra.social
Servers
- GoToSocial v0.19.0
- ActivityPub for WordPress v5.8.0
- NeoDB v0.11.6.0
- Vernissage Server v1.10.0
- NodeBB v4.2.2
- Custom usernames (Ghost)
Clients
- Fedilab v3.32.2
- Fread v1.3.1
- Voyager v2.31.0
- Blorp v1.1.0
- pl-fe changes summary
Tools and Plugins
- Fediphoto Lineage v7.5
- FediFetcher v7.1.16
- Enable Mastodon Apps v1.4.3 (WordPress plugin)
For developers
Protocol
- FEP-8a8e: A common approach to using the Event object type
- Activity Streams/Primer/Language mapping
- Activity Streams/Primer/Relationship type
Articles
- If I ran Mastodon
- How decentralized is the fediverse
- Fediverse Report – #113
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01964a3e-3eef-f858-31a1-b1385bd0971c
@weekinfediverse@mitra.social
Servers
- GoToSocial v0.19.0
- ActivityPub for WordPress v5.8.0
- NeoDB v0.11.6.0
- Vernissage Server v1.10.0
- NodeBB v4.2.2
- Custom usernames (Ghost)
Clients
- Fedilab v3.32.2
- Fread v1.3.1
- Voyager v2.31.0
- Blorp v1.1.0
- pl-fe changes summary
Tools and Plugins
- Fediphoto Lineage v7.5
- FediFetcher v7.1.16
- Enable Mastodon Apps v1.4.3 (WordPress plugin)
For developers
Protocol
- FEP-8a8e: A common approach to using the Event object type
- Activity Streams/Primer/Language mapping
- Activity Streams/Primer/Relationship type
Articles
- If I ran Mastodon
- How decentralized is the fediverse
- Fediverse Report – #113
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01964a3e-3eef-f858-31a1-b1385bd0971c
@weekinfediverse@mitra.social
Servers
- GoToSocial v0.19.0
- ActivityPub for WordPress v5.8.0
- NeoDB v0.11.6.0
- Vernissage Server v1.10.0
- NodeBB v4.2.2
- Custom usernames (Ghost)
Clients
- Fedilab v3.32.2
- Fread v1.3.1
- Voyager v2.31.0
- Blorp v1.1.0
- pl-fe changes summary
Tools and Plugins
- Fediphoto Lineage v7.5
- FediFetcher v7.1.16
- Enable Mastodon Apps v1.4.3 (WordPress plugin)
For developers
Protocol
- FEP-8a8e: A common approach to using the Event object type
- Activity Streams/Primer/Language mapping
- Activity Streams/Primer/Relationship type
Articles
- If I ran Mastodon
- How decentralized is the fediverse
- Fediverse Report – #113
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01964a3e-3eef-f858-31a1-b1385bd0971c
@fread@mastodon.social
Hello everyone, I am very happy to announce that after more than two years of development, #Fread has decided to open source. All the codes will be open. Welcome to check it out.
At present, the main technology stack of Fread is as follows: Kotlin Multiplatform, Compose Multiplatform, kotlin-inject, Voyager, Compose-imageloader, Jetpack Room, ktor.https://github.com/0xZhangKe/Fread#Mastodon #Bluesky #rss #activitypub #fediverse #FOSS #Android #Opensource #Freesoftware
@fread@mastodon.social
Hello everyone, I am very happy to announce that after more than two years of development, #Fread has decided to open source. All the codes will be open. Welcome to check it out.
At present, the main technology stack of Fread is as follows: Kotlin Multiplatform, Compose Multiplatform, kotlin-inject, Voyager, Compose-imageloader, Jetpack Room, ktor.https://github.com/0xZhangKe/Fread#Mastodon #Bluesky #rss #activitypub #fediverse #FOSS #Android #Opensource #Freesoftware
@nibushibu@vivaldi.net · Reply to GENKI's post
そもそも、分散化という意味では #BlueSky と #Mastodon を比べるんじゃなくて、 #BlueSky と #Fediverse
をくらべるべきなのではという気もする。 #ATProtocol と #ActivityPub の比較といったほうが良いかも。
#Mastodon の半分が最もメジャーなサーバー以外のサーバーに分散しているということは、#Fediverse
という単位でみたらもっと多くの割合が分散しているということになるはず
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@cryptadamist@universeodon.com
Ω🪬Ω
New release of #FediAlgo (customizable #algorithm for your #Mastodon timeline) has a couple of cool features:
1. Configuration presets (so you can easily put discussions or trending toots at the top of your #timeline without fiddling with the individual settings)
2. A "What's Trending" section that will show you the top trending hashtags, links, and posts scraped from 30 or so of the most popular Mastodon servers
All the old features like filtering for particular languages / hashtags / users or a minimum number of replies / boosts / etc. are still there.
* Usable demo: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Library: https://github.com/michelcrypt4d4mus/fedialgo
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
もしかしたらご存じないかもしれませんが、Fedifyには DiscordとMatrixのコミュニティがあります。ここでは、サポートを受けたり、機能について議論したり、ActivityPubやフェデレーテッドソーシャルネットワークについて話し合うことができます。
お好みのコミュニティにご参加ください。どちらのチャンネルでも、Fedifyやフェデレーション関連のトピックについて活発な議論が行われています。
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
自分だけのActivityPubを作りたいけど、何から始めれば良いのか分からないですか?Fedifyの公式チュートリアル「自分だけのフェディバースのマイクロブログを作ろう!」を読んでみてください!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
자신만의 #ActivityPub 구현을 하고 싶지만, 어디서 시작해야 할지 모르겠나요? #Fedify 공식 튜토리얼인 〈나만의 연합우주 마이크로블로그 만들기〉를 읽고 따라해 보세요!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
自分だけのActivityPubを作りたいけど、何から始めれば良いのか分からないですか?Fedifyの公式チュートリアル「自分だけのフェディバースのマイクロブログを作ろう!」を読んでみてください!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
자신만의 #ActivityPub 구현을 하고 싶지만, 어디서 시작해야 할지 모르겠나요? #Fedify 공식 튜토리얼인 〈나만의 연합우주 마이크로블로그 만들기〉를 읽고 따라해 보세요!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
혹시 모르고 계셨다면, Fedify는 Discord와 Matrix 커뮤니티를 운영하고 있습니다. 이곳에서 도움을 받거나, 기능에 대해 논의하거나, ActivityPub와 연합 소셜 네트워크에 대해 대화를 나눌 수 있습니다.
여러분의 선호도에 따라 어느 커뮤니티든 참여해 주세요. 두 채널 모두 Fedify와 연합 관련 주제에 대한 활발한 논의가 이루어지고 있습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
もしかしたらご存じないかもしれませんが、Fedifyには DiscordとMatrixのコミュニティがあります。ここでは、サポートを受けたり、機能について議論したり、ActivityPubやフェデレーテッドソーシャルネットワークについて話し合うことができます。
お好みのコミュニティにご参加ください。どちらのチャンネルでも、Fedifyやフェデレーション関連のトピックについて活発な議論が行われています。
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
혹시 모르고 계셨다면, Fedify는 Discord와 Matrix 커뮤니티를 운영하고 있습니다. 이곳에서 도움을 받거나, 기능에 대해 논의하거나, ActivityPub와 연합 소셜 네트워크에 대해 대화를 나눌 수 있습니다.
여러분의 선호도에 따라 어느 커뮤니티든 참여해 주세요. 두 채널 모두 Fedify와 연합 관련 주제에 대한 활발한 논의가 이루어지고 있습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
もしかしたらご存じないかもしれませんが、Fedifyには DiscordとMatrixのコミュニティがあります。ここでは、サポートを受けたり、機能について議論したり、ActivityPubやフェデレーテッドソーシャルネットワークについて話し合うことができます。
お好みのコミュニティにご参加ください。どちらのチャンネルでも、Fedifyやフェデレーション関連のトピックについて活発な議論が行われています。
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
혹시 모르고 계셨다면, Fedify는 Discord와 Matrix 커뮤니티를 운영하고 있습니다. 이곳에서 도움을 받거나, 기능에 대해 논의하거나, ActivityPub와 연합 소셜 네트워크에 대해 대화를 나눌 수 있습니다.
여러분의 선호도에 따라 어느 커뮤니티든 참여해 주세요. 두 채널 모두 Fedify와 연합 관련 주제에 대한 활발한 논의가 이루어지고 있습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
自分だけのActivityPubを作りたいけど、何から始めれば良いのか分からないですか?Fedifyの公式チュートリアル「自分だけのフェディバースのマイクロブログを作ろう!」を読んでみてください!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
자신만의 #ActivityPub 구현을 하고 싶지만, 어디서 시작해야 할지 모르겠나요? #Fedify 공식 튜토리얼인 〈나만의 연합우주 마이크로블로그 만들기〉를 읽고 따라해 보세요!
@cryptadamist@universeodon.com
Ω🪬Ω
New release of #FediAlgo (customizable #algorithm for your #Mastodon timeline) has a couple of cool features:
1. Configuration presets (so you can easily put discussions or trending toots at the top of your #timeline without fiddling with the individual settings)
2. A "What's Trending" section that will show you the top trending hashtags, links, and posts scraped from 30 or so of the most popular Mastodon servers
All the old features like filtering for particular languages / hashtags / users or a minimum number of replies / boosts / etc. are still there.
* Usable demo: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Library: https://github.com/michelcrypt4d4mus/fedialgo
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs
@cryptadamist@universeodon.com
Ω🪬Ω
New release of #FediAlgo (customizable #algorithm for your #Mastodon timeline) has a couple of cool features:
1. Configuration presets (so you can easily put discussions or trending toots at the top of your #timeline without fiddling with the individual settings)
2. A "What's Trending" section that will show you the top trending hashtags, links, and posts scraped from 30 or so of the most popular Mastodon servers
All the old features like filtering for particular languages / hashtags / users or a minimum number of replies / boosts / etc. are still there.
* Usable demo: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Library: https://github.com/michelcrypt4d4mus/fedialgo
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs
@cryptadamist@universeodon.com
Ω🪬Ω
New release of #FediAlgo (customizable #algorithm for your #Mastodon timeline) has a couple of cool features:
1. Configuration presets (so you can easily put discussions or trending toots at the top of your #timeline without fiddling with the individual settings)
2. A "What's Trending" section that will show you the top trending hashtags, links, and posts scraped from 30 or so of the most popular Mastodon servers
All the old features like filtering for particular languages / hashtags / users or a minimum number of replies / boosts / etc. are still there.
* Usable demo: https://michelcrypt4d4mus.github.io/fedialgo_demo_app_foryoufeed/
* Code: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
* Library: https://github.com/michelcrypt4d4mus/fedialgo
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #Feed #timeline #algorithmicFeed #algorithmicTimeline #TL #algorithm #node #nodejs
@obenland@mastodon.social · Reply to Konstantin Obenland :yikes:'s post
Another highlight from 5.8.0:
You can now embed any Fediverse post in the WordPress editor—even if it doesn’t support oEmbed! When no oEmbed handler is available, we automatically fall back to our custom embed view.
Basically: if it’s on the Fediverse, you can embed it. ✨
@obenland@mastodon.social
ActivityPub 5.8.0 for WordPress is out now! 🎉
This update includes two things I’ve been especially excited about: new email templates and user-specific notification settings.
Emails now have way more information—mentions and direct messages embed the full post, and the refreshed design looks more modern and polished. New follower emails come with a profile card to help you get a sense of who’s engaging with your content.
👉 Full changelog: https://wordpress.org/plugins/activitypub/#developers
@obenland@mastodon.social · Reply to Konstantin Obenland :yikes:'s post
Another highlight from 5.8.0:
You can now embed any Fediverse post in the WordPress editor—even if it doesn’t support oEmbed! When no oEmbed handler is available, we automatically fall back to our custom embed view.
Basically: if it’s on the Fediverse, you can embed it. ✨
@obenland@mastodon.social
ActivityPub 5.8.0 for WordPress is out now! 🎉
This update includes two things I’ve been especially excited about: new email templates and user-specific notification settings.
Emails now have way more information—mentions and direct messages embed the full post, and the refreshed design looks more modern and polished. New follower emails come with a profile card to help you get a sense of who’s engaging with your content.
👉 Full changelog: https://wordpress.org/plugins/activitypub/#developers
@fedify@hollo.social
Want to build your own #ActivityPub implementation, but don't know where to start? Read and follow #Fedify's official tutorial, Creating your own federated microblog, and get started!
@fedify@hollo.social
Want to build your own #ActivityPub implementation, but don't know where to start? Read and follow #Fedify's official tutorial, Creating your own federated microblog, and get started!
@silverpill@mitra.social
https://github.com/misskey-dev/xq
This must be a part of the plan to turn Misskey into proprietary silo. ATProto and Nostr creators at least tried to solve a real problem, but arguments for creating this protocol are incredibly weak:
>Messages are in plain JSON format, which is wasteful
Message size is not a bottleneck in Fediverse.
>Having schema definitions
>Statically-typed-language-friendly structure.
Skill issue. Many Fediverse projects use statically typed languages.
>Eliminate unnecessary data and boilerplate by focusing on microblogging for its intended use
There is no boilerplate other than @context
. It can be dropped without making your implementation completely incompatible with everything else.
>Allows multiple messages to be combined into a single request to reduce overhead.
Use a different inbox that supports batching:
https://codeberg.org/fediverse/fep/src/branch/main/fep/0499/fep-0499.md
@obenland@mastodon.social · Reply to Konstantin Obenland :yikes:'s post
Another highlight from 5.8.0:
You can now embed any Fediverse post in the WordPress editor—even if it doesn’t support oEmbed! When no oEmbed handler is available, we automatically fall back to our custom embed view.
Basically: if it’s on the Fediverse, you can embed it. ✨
@obenland@mastodon.social
ActivityPub 5.8.0 for WordPress is out now! 🎉
This update includes two things I’ve been especially excited about: new email templates and user-specific notification settings.
Emails now have way more information—mentions and direct messages embed the full post, and the refreshed design looks more modern and polished. New follower emails come with a profile card to help you get a sense of who’s engaging with your content.
👉 Full changelog: https://wordpress.org/plugins/activitypub/#developers
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@silverpill@mitra.social
https://github.com/misskey-dev/xq
This must be a part of the plan to turn Misskey into proprietary silo. ATProto and Nostr creators at least tried to solve a real problem, but arguments for creating this protocol are incredibly weak:
>Messages are in plain JSON format, which is wasteful
Message size is not a bottleneck in Fediverse.
>Having schema definitions
>Statically-typed-language-friendly structure.
Skill issue. Many Fediverse projects use statically typed languages.
>Eliminate unnecessary data and boilerplate by focusing on microblogging for its intended use
There is no boilerplate other than @context
. It can be dropped without making your implementation completely incompatible with everything else.
>Allows multiple messages to be combined into a single request to reduce overhead.
Use a different inbox that supports batching:
https://codeberg.org/fediverse/fep/src/branch/main/fep/0499/fep-0499.md
@elena@aseachange.com
🏕️ my adventures in #selfhosting - day 128 (a bit Clueless edition) 🎬
Bonjour Fedi friends!
I'm having a really interesting week: 4 adult caretakers in a house with 3 little children... as I admitted to someone on here, self-hosting is FAR easier than being a referee in fights about LEGOs 😅
Now, whenever the cousins are busy playing in the garden, I try to do a bit of work, namely: figuring out #PeerTube from the POV of a self-hoster.
Yesterday I finally understood how I could create a user account (other than "root" - the superuser created during the PeerTube installation).
Today I'm busy trying to solve another problem: how do you tell your followers you've moved to a new instance? Because yes, PeerTube is powered by #ActivityPub, but it doesn't support the MOVE function.
I rarely posted on my MakerTube account and only have 150 subscribers, who followed me when reading about it on my blog post about PeerTube.
But I have to admit, the whole "following" thing is really convoluted on PeerTube because you can follow an entire account or specific channels. And I'm a little lost regarding how I notify my followers about the change.
If you have any suggestions, I'm all ears!
Oh and some news for you first... here is my new PeerTube home: https://videos.elenarossini.com/a/ele/video-channels
Special thanks to
@yunohost
for empowering me to set up my own instance ❤️
#MySoCalledSudoLife #video
@silverpill@mitra.social
https://github.com/misskey-dev/xq
This must be a part of the plan to turn Misskey into proprietary silo. ATProto and Nostr creators at least tried to solve a real problem, but arguments for creating this protocol are incredibly weak:
>Messages are in plain JSON format, which is wasteful
Message size is not a bottleneck in Fediverse.
>Having schema definitions
>Statically-typed-language-friendly structure.
Skill issue. Many Fediverse projects use statically typed languages.
>Eliminate unnecessary data and boilerplate by focusing on microblogging for its intended use
There is no boilerplate other than @context
. It can be dropped without making your implementation completely incompatible with everything else.
>Allows multiple messages to be combined into a single request to reduce overhead.
Use a different inbox that supports batching:
https://codeberg.org/fediverse/fep/src/branch/main/fep/0499/fep-0499.md
@silverpill@mitra.social
https://github.com/misskey-dev/xq
This must be a part of the plan to turn Misskey into proprietary silo. ATProto and Nostr creators at least tried to solve a real problem, but arguments for creating this protocol are incredibly weak:
>Messages are in plain JSON format, which is wasteful
Message size is not a bottleneck in Fediverse.
>Having schema definitions
>Statically-typed-language-friendly structure.
Skill issue. Many Fediverse projects use statically typed languages.
>Eliminate unnecessary data and boilerplate by focusing on microblogging for its intended use
There is no boilerplate other than @context
. It can be dropped without making your implementation completely incompatible with everything else.
>Allows multiple messages to be combined into a single request to reduce overhead.
Use a different inbox that supports batching:
https://codeberg.org/fediverse/fep/src/branch/main/fep/0499/fep-0499.md
@silverpill@mitra.social
https://github.com/misskey-dev/xq
This must be a part of the plan to turn Misskey into proprietary silo. ATProto and Nostr creators at least tried to solve a real problem, but arguments for creating this protocol are incredibly weak:
>Messages are in plain JSON format, which is wasteful
Message size is not a bottleneck in Fediverse.
>Having schema definitions
>Statically-typed-language-friendly structure.
Skill issue. Many Fediverse projects use statically typed languages.
>Eliminate unnecessary data and boilerplate by focusing on microblogging for its intended use
There is no boilerplate other than @context
. It can be dropped without making your implementation completely incompatible with everything else.
>Allows multiple messages to be combined into a single request to reduce overhead.
Use a different inbox that supports batching:
https://codeberg.org/fediverse/fep/src/branch/main/fep/0499/fep-0499.md
@silverpill@mitra.social
https://github.com/misskey-dev/xq
This must be a part of the plan to turn Misskey into proprietary silo. ATProto and Nostr creators at least tried to solve a real problem, but arguments for creating this protocol are incredibly weak:
>Messages are in plain JSON format, which is wasteful
Message size is not a bottleneck in Fediverse.
>Having schema definitions
>Statically-typed-language-friendly structure.
Skill issue. Many Fediverse projects use statically typed languages.
>Eliminate unnecessary data and boilerplate by focusing on microblogging for its intended use
There is no boilerplate other than @context
. It can be dropped without making your implementation completely incompatible with everything else.
>Allows multiple messages to be combined into a single request to reduce overhead.
Use a different inbox that supports batching:
https://codeberg.org/fediverse/fep/src/branch/main/fep/0499/fep-0499.md
@silverpill@mitra.social
https://github.com/misskey-dev/xq
This must be a part of the plan to turn Misskey into proprietary silo. ATProto and Nostr creators at least tried to solve a real problem, but arguments for creating this protocol are incredibly weak:
>Messages are in plain JSON format, which is wasteful
Message size is not a bottleneck in Fediverse.
>Having schema definitions
>Statically-typed-language-friendly structure.
Skill issue. Many Fediverse projects use statically typed languages.
>Eliminate unnecessary data and boilerplate by focusing on microblogging for its intended use
There is no boilerplate other than @context
. It can be dropped without making your implementation completely incompatible with everything else.
>Allows multiple messages to be combined into a single request to reduce overhead.
Use a different inbox that supports batching:
https://codeberg.org/fediverse/fep/src/branch/main/fep/0499/fep-0499.md
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
BotKit 0.2.0 버전이 릴리스되었습니다! BotKit을 처음 접하시는 분들을 위해 간단히 소개하자면, BotKit은 TypeScript로 개발된 독립형 #ActivityPub 봇 프레임워크입니다. Mastodon, Misskey 등 다양한 #연합우주(#fediverse) 플랫폼과 상호작용할 수 있으며, 기존 플랫폼의 제약에서 벗어나 자유롭게 봇을 만들 수 있습니다.
이번 릴리스는 연합우주 봇 개발을 더 쉽고 강력하게 만들기 위한 여정에서 중요한 발걸음입니다. 커뮤니티에서 요청해 왔던 여러 기능들을 새롭게 선보입니다.
BotKit을 개발하면서 우리는 항상 봇이 더 표현력 있고 상호작용이 풍부하도록 만드는 데 집중해 왔습니다. 0.2.0 버전에서는 연합우주의 사회적 측면을 봇에 접목시켜 한 단계 더 발전시켰습니다.
가장 많이 요청받았던 기능 중 하나가 #커스텀_에모지 지원입니다. 이제 봇은 독특한 시각적 요소로 메시지를 돋보이게 하며 자신만의 개성을 표현할 수 있습니다.
// 봇의 커스텀 에모지 정의하기
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// 메시지에 커스텀 에모지 사용하기
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)}은 Fedify ${customEmoji(emojis.fedify)}의 지원을 받습니다`
);
이 새로운 API를 통해 다음과 같은 기능을 사용할 수 있습니다.
Bot.addCustomEmojis()
로 봇에 커스텀 에모지 추가하기customEmoji()
함수로 메시지에 에모지 포함하기Emoji
객체를 text
태그 템플릿에서 사용하기소통은 단순히 메시지를 게시하는 것만이 아닙니다. 다른 사람의 메시지에 반응하는 것도 중요합니다. 새로운 반응 시스템은 봇과 팔로워 사이에 자연스러운 상호작용 지점을 만들어 줍니다.
// 표준 유니코드 에모지로 메시지에 반응하기
await message.react(emoji`👍`);
// 또는 정의한 커스텀 에모지로 반응하기
await message.react(emojis.botkit);
// 반응을 인식하고 응답하는 봇 만들기
bot.onReact = async (session, reaction) => {
await session.publish(
text`${reaction.actor}님, 제 메시지에 ${reaction.emoji} 반응을 남겨주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
이 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
Message.react()
를 사용하여 유니코드 에모지로 메시지에 반응하기Bot.onReact
와 Bot.onUnreact
핸들러로 반응 이벤트 처리하기토론에서는 종종 다른 사람이 말한 내용을 참조해야 할 때가 있습니다. 새로운 #인용 기능은 더 응집력 있는 대화 스레드를 만들어 줍니다.
// 봇의 게시물에서 다른 메시지 인용하기
await session.publish(
text`이 흥미로운 관점에 대한 답변입니다...`,
{ quoteTarget: originalMessage }
);
// 사용자가 봇의 메시지를 인용할 때 처리하기
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`${quoteMessage.actor}님, 제 생각을 공유해 주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
인용 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
quoteTarget
옵션으로 메시지 인용하기Message.quoteTarget
을 통해 인용된 메시지에 접근하기Bot.onQuote
이벤트 핸들러로 인용 이벤트 처리하기소통은 시각적인 요소도 중요하기 때문에 봇의 표현 방식을 개선했습니다.
연합우주에서 액티비티가 전파되는 방식도 개선했습니다.
이러한 개선 사항은 다양한 연합우주 플랫폼에서 봇의 상호작용이 일관되고 안정적으로 이루어지도록 보장합니다.
이러한 새로운 기능을 경험해 보고 싶으신가요? BotKit 0.2.0은 JSR에서 받을 수 있으며 간단한 명령어로 설치할 수 있습니다.
deno add jsr:@fedify/botkit@0.2.0
BotKit은 Temporal API(JavaScript에서 아직 시범적인 기능)를 사용하므로 deno.json에서 이를 활성화해야 합니다.
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
이 간단한 단계를 통해 최신 기능으로 연합우주 봇을 만들거나 업그레이드할 준비가 완료되었습니다.
BotKit 0.2.0은 연합우주 봇 개발을 접근하기 쉽고, 강력하며, 즐겁게 만들기 위한 우리의 지속적인 노력을 보여줍니다. 이러한 새로운 기능들이 여러분의 봇이 연합우주 커뮤니티에서 더 매력적이고 상호작용이 풍부한 구성원이 되는 데 도움이 될 것이라고 믿습니다.
전체 문서와 더 많은 예제는 저희 문서 사이트에서 확인하실 수 있습니다.
피드백, 기능 요청, 코드 기여를 통해 이번 릴리스에 도움을 주신 모든 분들께 감사드립니다. BotKit 커뮤니티는 계속 성장하고 있으며, 여러분이 만들어낼 작품들을 기대합니다!
BotKit은 ActivityPub 서버 애플리케이션을 만들기 위한 하위 레벨 프레임워크인 Fedify의 지원을 받습니다.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@omi_geek@mstdn.jp · Reply to Mattias Eriksson 🦀🚵♂️'s post
@snaggen My concern during the account migration is that the original server is being used for redirection. Even if the migration is successful, I’m worried that if the original server were to disappear, my account might also vanish from the new server. #activitypub
@Flipboard@flipboard.social
Fighting words from @molly0xfff's opening talk at the Fediverse House at SXSW 2025:
“We're facing an existential threat. We need a web that serves people not profit, a web built on protocols, not platforms…It's being built right now by people like you in communities like this one.”
Thank you, developers and denizens of the open social web.🙏🏼
https://flipboard.video/w/p7cECAUgThGrfQo9Cqvb8r
#OpenSocial #OpenSocialWeb #ProtocolsNotPlatforms #MollyWhite #DigitalSovereignty #ActivityPub #Fediverse #FediverseHouse #SXSW
@dansup@mastodon.social
@Flipboard@flipboard.social
Fighting words from @molly0xfff's opening talk at the Fediverse House at SXSW 2025:
“We're facing an existential threat. We need a web that serves people not profit, a web built on protocols, not platforms…It's being built right now by people like you in communities like this one.”
Thank you, developers and denizens of the open social web.🙏🏼
https://flipboard.video/w/p7cECAUgThGrfQo9Cqvb8r
#OpenSocial #OpenSocialWeb #ProtocolsNotPlatforms #MollyWhite #DigitalSovereignty #ActivityPub #Fediverse #FediverseHouse #SXSW
@Flipboard@flipboard.social
Fighting words from @molly0xfff's opening talk at the Fediverse House at SXSW 2025:
“We're facing an existential threat. We need a web that serves people not profit, a web built on protocols, not platforms…It's being built right now by people like you in communities like this one.”
Thank you, developers and denizens of the open social web.🙏🏼
https://flipboard.video/w/p7cECAUgThGrfQo9Cqvb8r
#OpenSocial #OpenSocialWeb #ProtocolsNotPlatforms #MollyWhite #DigitalSovereignty #ActivityPub #Fediverse #FediverseHouse #SXSW
@Flipboard@flipboard.social
Fighting words from @molly0xfff's opening talk at the Fediverse House at SXSW 2025:
“We're facing an existential threat. We need a web that serves people not profit, a web built on protocols, not platforms…It's being built right now by people like you in communities like this one.”
Thank you, developers and denizens of the open social web.🙏🏼
https://flipboard.video/w/p7cECAUgThGrfQo9Cqvb8r
#OpenSocial #OpenSocialWeb #ProtocolsNotPlatforms #MollyWhite #DigitalSovereignty #ActivityPub #Fediverse #FediverseHouse #SXSW
@Flipboard@flipboard.social
Fighting words from @molly0xfff's opening talk at the Fediverse House at SXSW 2025:
“We're facing an existential threat. We need a web that serves people not profit, a web built on protocols, not platforms…It's being built right now by people like you in communities like this one.”
Thank you, developers and denizens of the open social web.🙏🏼
https://flipboard.video/w/p7cECAUgThGrfQo9Cqvb8r
#OpenSocial #OpenSocialWeb #ProtocolsNotPlatforms #MollyWhite #DigitalSovereignty #ActivityPub #Fediverse #FediverseHouse #SXSW
@dansup@mastodon.social
@ivangj@mastodon.social
Hey babe, wake up, there's a project to standardize #fediverse links!
@pfefferle@mastodon.social
have you had the chance to listen to the latest @dothewoo.io episode with the awesome @linos ?
we are talking about his work, bringing (WordPress) Events to the #fediverse ♥️
this perfectly highlights the potential of a federated, self-hostable CMS.!!!
https://dothewoo.io/bring-federated-events-to-your-wordpress-site-with-andre-menrath/
@pfefferle@mastodon.social
have you had the chance to listen to the latest @dothewoo.io episode with the awesome @linos ?
we are talking about his work, bringing (WordPress) Events to the #fediverse ♥️
this perfectly highlights the potential of a federated, self-hostable CMS.!!!
https://dothewoo.io/bring-federated-events-to-your-wordpress-site-with-andre-menrath/
@dansup@mastodon.social
@john_fisherman@mastodon.social
The guys at Ghost are doing a great job baking #ActivityPub into their core, and sharing the weekly exciting updates here:
Give them a follow, they lost most of their followers recently due to a malfunctioning in the systems.
https://activitypub.ghost.org/you-think-youre-following-us-but-you-might-not-be/
@john_fisherman@mastodon.social
The guys at Ghost are doing a great job baking #ActivityPub into their core, and sharing the weekly exciting updates here:
Give them a follow, they lost most of their followers recently due to a malfunctioning in the systems.
https://activitypub.ghost.org/you-think-youre-following-us-but-you-might-not-be/
@hongminhee@hollo.social
My stance on #ActivityPub's adoption of JSON-LD: Since we've already decided to use JSON-LD, I hope we do it properly. However, if we hadn't used JSON-LD from the beginning, things would have been much less complicated.
@dansup@mastodon.social
@hongminhee@hollo.social
My stance on #ActivityPub's adoption of JSON-LD: Since we've already decided to use JSON-LD, I hope we do it properly. However, if we hadn't used JSON-LD from the beginning, things would have been much less complicated.
@mro@digitalcourage.social · Reply to Torsten :verified: :verified:'s post
Hi @tor @SheDrivesMobility,
Du meinst so wie 1x #Internet abschalten? Klar ginge das. Ist aber was anderes, als auf Zuruf einzelne Leute #knebeln lassen.
Es gibt wohl niemanden, der alle laufenden #ActivityPub Server zum Ausschalten kennt.
@dansup@mastodon.social
@hongminhee@hollo.social
My stance on #ActivityPub's adoption of JSON-LD: Since we've already decided to use JSON-LD, I hope we do it properly. However, if we hadn't used JSON-LD from the beginning, things would have been much less complicated.
@hongminhee@hollo.social
My stance on #ActivityPub's adoption of JSON-LD: Since we've already decided to use JSON-LD, I hope we do it properly. However, if we hadn't used JSON-LD from the beginning, things would have been much less complicated.
@hongminhee@hollo.social
My stance on #ActivityPub's adoption of JSON-LD: Since we've already decided to use JSON-LD, I hope we do it properly. However, if we hadn't used JSON-LD from the beginning, things would have been much less complicated.
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@liaizon@social.wake.st · Reply to wakest ⁂'s post
Flickr CEO Don MacAskill (@d0n) is currently running a poll to decide whether to add #ActivityPub to Flickr to join the #fediverse (Mastodon, Pixelfed, Peertube, etc.)
Make your voice heard:
https://sfba.social/@d0n/109422647995225732
Poll on Twitter too:
https://twitter.com/DonMacAskill/status/1597256480519966720
Remember this has good and bad repercussions whether you use Flickr or not, it would be the first time an old giant joins us but also would bring many many new issues we would have to face together. Please boost for reach!
@hongminhee@hollo.social
I've been reflecting lately on projects like @fedify, @hollo, and @botkit. Sometimes I wonder if I'm solving problems that very few people actually need solved. How many developers truly want to build their own #ActivityPub server from scratch?
It feels a bit like inventing shoes that let people walk on their hands all day. Would there be a viable market? How many would actually buy them?
That's the sense I get with these projects. They do have users who find them tremendously valuable, but the total user base is inherently limited. The tools serve an important function for a small audience of specialized developers.
There are moments when my motivation wavers. When the user community consists of just a handful of enthusiastic supporters, it's sometimes difficult to maintain momentum and justify the ongoing investment of time and energy.
And yet, there's something meaningful about creating specialized tools that solve complex problems well, even if they're only used by a few. Perhaps that's enough.
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@Flipboard@flipboard.social
It was our honor to host the Fediverse House at SXSW 2025. It didn’t matter whether you were in the ActivityPub or AT Proto camp. We were all Team Fediverse, uniting to “move fast and break kings” in the name of building a better internet.
https://flipboard.video/w/1vjJdhLukXZgm4rks8RwMK
#Fediverse #FediverseHouse #ActivityPub #ATProto #Flipboard #OpenSocial #OpenSocialWeb #SXSW #MoveFastBreakKings #TeamFediverse
@Flipboard@flipboard.social · Reply to Flipboard's post
We’ll be sharing highlights all week on our social channels and at PeerTube, including fireside chats with @pluralistic and @pfrazee.com, clips from @davidimel's Fediverse Corner, and a panel about building communities on the social web featuring @andypiper. Thanks to all who joined us at #FediverseHouse!
#Fediverse #ActivityPub #ATProto #Flipboard #OpenSocial #OpenSocialWeb #SXSW #MoveFastBreakKings #TeamFediverse
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@FrankEndrullat@mastodon.social · Reply to Frank Endrullat 🌻's post
@omi_geek But also, my livelihood / income does not depend on my social media exposure / social media graph. For other people it may be different, and current #activitypub may not be good enough. I can only comment for myself.
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@fedify@hollo.social
Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder
.
As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder
pattern helps solve this by separating the configuration phase from instantiation.
Instead of this:
// federation.ts
import { createFederation } from "@fedify/fedify";
export const federation = createFederation<AppContext>({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
// Now we need to import this federation instance in other files
// to register dispatchers and listeners...
You can now do this:
// builder.ts
import { createFederationBuilder } from "@fedify/fedify";
export const builder = createFederationBuilder<AppContext>();
// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";
builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
// Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";
builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
.on(Follow, async (ctx, follow) => {
// Follow handling
});
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";
// Build the Federation object with actual dependencies
export const federation = await builder.build({
kv: new DbKvStore(),
queue: new RedisMessageQueue(),
// Other options...
});
This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation
instance.
The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!
Want to try it right now? You can install the development version from JSR or npm:
# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01
# Node.js
npm add @fedify/fedify@1.6.0-dev.777
# Bun
bun add @fedify/fedify@1.6.0-dev.777
@omi_geek@mstdn.jp
I’ve heard that #activitypub has shortcomings that prevent perfect account migration, but I don’t think moving accounts is that important. Whether you choose to stay grounded or live like a nomad is a personal choice. #fediverse #bluesky
@richiekhoo@hachyderm.io
As we consider ways to implement #ActivityPub into our FOSS Community Calendar Ecosystem platform Koalagator, I've been looking over the differing specs for how to specify the event object schema.
Have any other folk wrestled with this?Asking before I get arms deep in this stuff.
For those playing at home...
---
Schema.org - Event
Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet.
-----
W3C Activity Vocabulary - Event
This specification describes the Activity vocabulary. It is intended to be used in the context of the ActivityStreams 2.0 format and provides a foundational vocabulary for activity structures, and specific activity types.
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-event
----
Fediverse Enhancement Proposal
FEP-8a8e: A common approach to using the Event object type
ActivityStreams defines the Object Type Event. In real-world applications, the event object immediately showed the need for extension. Applications featuring Event objects have often chosen to add additional attributes and clarifications (i.e., interpretations) in order to implement their particular use case. This proposal clarifies and extends the ActivityPub standard to address the needs that have arisen in real-world implementations.
https://codeberg.org/linos/fep/src/branch/fep-8a8e/fep/8a8e/fep-8a8e.md
---
[HTML] Microformats - h-event
People are using microformats to mark up profiles, posts, events and other data on their personal sites, enabling developers to build applications which use this data in useful and interesting ways.
https://microformats.org/wiki/h-event
---
iCalendar Standard (RFC 5545)
iCalendar was first defined as a standard as RFC 2445 in 1998 by the Internet Engineering Task Force (IETF). Today, iCalendar is used to import and synchronize events on various platforms, including smart phones, computer and web applications.
https://icalendar.org/the-icalendar-standard-2.html
#EventObjectSchema
#Calendar #Standards #WebStandards #W3C #Microformats #FEP #FediverseEnhancementProposals #iCal #iCalendar #FOSS #WebDevelopment #WebDesign #RubyOnRails #Rails #Mastodon #Dev #Developer #OpenStandards
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
I've been reflecting lately on projects like @fedify, @hollo, and @botkit. Sometimes I wonder if I'm solving problems that very few people actually need solved. How many developers truly want to build their own #ActivityPub server from scratch?
It feels a bit like inventing shoes that let people walk on their hands all day. Would there be a viable market? How many would actually buy them?
That's the sense I get with these projects. They do have users who find them tremendously valuable, but the total user base is inherently limited. The tools serve an important function for a small audience of specialized developers.
There are moments when my motivation wavers. When the user community consists of just a handful of enthusiastic supporters, it's sometimes difficult to maintain momentum and justify the ongoing investment of time and energy.
And yet, there's something meaningful about creating specialized tools that solve complex problems well, even if they're only used by a few. Perhaps that's enough.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
I've been reflecting lately on projects like @fedify, @hollo, and @botkit. Sometimes I wonder if I'm solving problems that very few people actually need solved. How many developers truly want to build their own #ActivityPub server from scratch?
It feels a bit like inventing shoes that let people walk on their hands all day. Would there be a viable market? How many would actually buy them?
That's the sense I get with these projects. They do have users who find them tremendously valuable, but the total user base is inherently limited. The tools serve an important function for a small audience of specialized developers.
There are moments when my motivation wavers. When the user community consists of just a handful of enthusiastic supporters, it's sometimes difficult to maintain momentum and justify the ongoing investment of time and energy.
And yet, there's something meaningful about creating specialized tools that solve complex problems well, even if they're only used by a few. Perhaps that's enough.
@hongminhee@hollo.social
I've been reflecting lately on projects like @fedify, @hollo, and @botkit. Sometimes I wonder if I'm solving problems that very few people actually need solved. How many developers truly want to build their own #ActivityPub server from scratch?
It feels a bit like inventing shoes that let people walk on their hands all day. Would there be a viable market? How many would actually buy them?
That's the sense I get with these projects. They do have users who find them tremendously valuable, but the total user base is inherently limited. The tools serve an important function for a small audience of specialized developers.
There are moments when my motivation wavers. When the user community consists of just a handful of enthusiastic supporters, it's sometimes difficult to maintain momentum and justify the ongoing investment of time and energy.
And yet, there's something meaningful about creating specialized tools that solve complex problems well, even if they're only used by a few. Perhaps that's enough.
@hongminhee@hollo.social
I've been reflecting lately on projects like @fedify, @hollo, and @botkit. Sometimes I wonder if I'm solving problems that very few people actually need solved. How many developers truly want to build their own #ActivityPub server from scratch?
It feels a bit like inventing shoes that let people walk on their hands all day. Would there be a viable market? How many would actually buy them?
That's the sense I get with these projects. They do have users who find them tremendously valuable, but the total user base is inherently limited. The tools serve an important function for a small audience of specialized developers.
There are moments when my motivation wavers. When the user community consists of just a handful of enthusiastic supporters, it's sometimes difficult to maintain momentum and justify the ongoing investment of time and energy.
And yet, there's something meaningful about creating specialized tools that solve complex problems well, even if they're only used by a few. Perhaps that's enough.
@Flipboard@flipboard.social
It was our honor to host the Fediverse House at SXSW 2025. It didn’t matter whether you were in the ActivityPub or AT Proto camp. We were all Team Fediverse, uniting to “move fast and break kings” in the name of building a better internet.
https://flipboard.video/w/1vjJdhLukXZgm4rks8RwMK
#Fediverse #FediverseHouse #ActivityPub #ATProto #Flipboard #OpenSocial #OpenSocialWeb #SXSW #MoveFastBreakKings #TeamFediverse
@Flipboard@flipboard.social
It was our honor to host the Fediverse House at SXSW 2025. It didn’t matter whether you were in the ActivityPub or AT Proto camp. We were all Team Fediverse, uniting to “move fast and break kings” in the name of building a better internet.
https://flipboard.video/w/1vjJdhLukXZgm4rks8RwMK
#Fediverse #FediverseHouse #ActivityPub #ATProto #Flipboard #OpenSocial #OpenSocialWeb #SXSW #MoveFastBreakKings #TeamFediverse
@Flipboard@flipboard.social · Reply to Flipboard's post
We’ll be sharing highlights all week on our social channels and at PeerTube, including fireside chats with @pluralistic and @pfrazee.com, clips from @davidimel's Fediverse Corner, and a panel about building communities on the social web featuring @andypiper. Thanks to all who joined us at #FediverseHouse!
#Fediverse #ActivityPub #ATProto #Flipboard #OpenSocial #OpenSocialWeb #SXSW #MoveFastBreakKings #TeamFediverse
@Flipboard@flipboard.social · Reply to Flipboard's post
We’ll be sharing highlights all week on our social channels and at PeerTube, including fireside chats with @pluralistic and @pfrazee.com, clips from @davidimel's Fediverse Corner, and a panel about building communities on the social web featuring @andypiper. Thanks to all who joined us at #FediverseHouse!
#Fediverse #ActivityPub #ATProto #Flipboard #OpenSocial #OpenSocialWeb #SXSW #MoveFastBreakKings #TeamFediverse
@Flipboard@flipboard.social
It was our honor to host the Fediverse House at SXSW 2025. It didn’t matter whether you were in the ActivityPub or AT Proto camp. We were all Team Fediverse, uniting to “move fast and break kings” in the name of building a better internet.
https://flipboard.video/w/1vjJdhLukXZgm4rks8RwMK
#Fediverse #FediverseHouse #ActivityPub #ATProto #Flipboard #OpenSocial #OpenSocialWeb #SXSW #MoveFastBreakKings #TeamFediverse
@loke@functional.cafe
Does anyone know of a Common Lisp activitypub library that is complete enough to implement subscription to accounts, tracking subscribers and posting messages?
I want to build a small service which allows users to tag it in a message (or users can ask the serviceto subscribeto it, in which case it will absorb all mesaages), and conaume those messages, and then post updates to its main feed.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#フェディバース(#fediverse)用のボットを作りたいですか?#BotKit by Fedifyを使えば、わずか数行のコードでスタンドアロンのActivityPubボットを構築できます!従来のMastodonやMisskeyボットとは異なり、BotKitはプラットフォームの制約なしに完全なActivityPubサーバーを作成できます。
BotKitでできること:
ドキュメントはhttps://botkit.fedify.dev/で確認し、今からフェディバースボットの構築を始めましょう!
@Flipboard@flipboard.social · Reply to Flipboard's post
We’ll be sharing highlights all week on our social channels and at PeerTube, including fireside chats with @pluralistic and @pfrazee.com, clips from @davidimel's Fediverse Corner, and a panel about building communities on the social web featuring @andypiper. Thanks to all who joined us at #FediverseHouse!
#Fediverse #ActivityPub #ATProto #Flipboard #OpenSocial #OpenSocialWeb #SXSW #MoveFastBreakKings #TeamFediverse
@Flipboard@flipboard.social
It was our honor to host the Fediverse House at SXSW 2025. It didn’t matter whether you were in the ActivityPub or AT Proto camp. We were all Team Fediverse, uniting to “move fast and break kings” in the name of building a better internet.
https://flipboard.video/w/1vjJdhLukXZgm4rks8RwMK
#Fediverse #FediverseHouse #ActivityPub #ATProto #Flipboard #OpenSocial #OpenSocialWeb #SXSW #MoveFastBreakKings #TeamFediverse
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@weekinfediverse@mitra.social
Servers
- Funkwhale v1.4.1
- Manyfold v0.108.0
- Mitra v4.0.0
- snac v2.75
- Bookwyrm v0.7.5
- Mbin v1.8.2
- Vernissage Server v1.9.0
- kmyblue v18.0
- Recapping your feedback (Ghost)
Clients
- Mastodon for Android v2.9.6
- Voyager v2.30.0
- Tesseract v1.4.37
Tools and Plugins
- Event Bridge for ActivityPub v1.1.0 (WordPress plugin)
- Enable Mastodon Apps v1.4.2 (WordPress plugin)
For developers
- Federails v0.6.2
- Ditch the DIY Drama: Why Use Fedify Instead of Building ActivityPub from Scratch?
Protocol
Articles
- Integrating a News Publication Into the Fediverse
- Sustaining Decentralised Social Platforms: Analysing User Activity and Governance Structures on Mastodon
- Fediverse Report – #112
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196266f-f5d6-a460-90b7-b3a25e489ab3
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
BotKit 0.2.0 버전이 릴리스되었습니다! BotKit을 처음 접하시는 분들을 위해 간단히 소개하자면, BotKit은 TypeScript로 개발된 독립형 #ActivityPub 봇 프레임워크입니다. Mastodon, Misskey 등 다양한 #연합우주(#fediverse) 플랫폼과 상호작용할 수 있으며, 기존 플랫폼의 제약에서 벗어나 자유롭게 봇을 만들 수 있습니다.
이번 릴리스는 연합우주 봇 개발을 더 쉽고 강력하게 만들기 위한 여정에서 중요한 발걸음입니다. 커뮤니티에서 요청해 왔던 여러 기능들을 새롭게 선보입니다.
BotKit을 개발하면서 우리는 항상 봇이 더 표현력 있고 상호작용이 풍부하도록 만드는 데 집중해 왔습니다. 0.2.0 버전에서는 연합우주의 사회적 측면을 봇에 접목시켜 한 단계 더 발전시켰습니다.
가장 많이 요청받았던 기능 중 하나가 #커스텀_에모지 지원입니다. 이제 봇은 독특한 시각적 요소로 메시지를 돋보이게 하며 자신만의 개성을 표현할 수 있습니다.
// 봇의 커스텀 에모지 정의하기
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// 메시지에 커스텀 에모지 사용하기
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)}은 Fedify ${customEmoji(emojis.fedify)}의 지원을 받습니다`
);
이 새로운 API를 통해 다음과 같은 기능을 사용할 수 있습니다.
Bot.addCustomEmojis()
로 봇에 커스텀 에모지 추가하기customEmoji()
함수로 메시지에 에모지 포함하기Emoji
객체를 text
태그 템플릿에서 사용하기소통은 단순히 메시지를 게시하는 것만이 아닙니다. 다른 사람의 메시지에 반응하는 것도 중요합니다. 새로운 반응 시스템은 봇과 팔로워 사이에 자연스러운 상호작용 지점을 만들어 줍니다.
// 표준 유니코드 에모지로 메시지에 반응하기
await message.react(emoji`👍`);
// 또는 정의한 커스텀 에모지로 반응하기
await message.react(emojis.botkit);
// 반응을 인식하고 응답하는 봇 만들기
bot.onReact = async (session, reaction) => {
await session.publish(
text`${reaction.actor}님, 제 메시지에 ${reaction.emoji} 반응을 남겨주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
이 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
Message.react()
를 사용하여 유니코드 에모지로 메시지에 반응하기Bot.onReact
와 Bot.onUnreact
핸들러로 반응 이벤트 처리하기토론에서는 종종 다른 사람이 말한 내용을 참조해야 할 때가 있습니다. 새로운 #인용 기능은 더 응집력 있는 대화 스레드를 만들어 줍니다.
// 봇의 게시물에서 다른 메시지 인용하기
await session.publish(
text`이 흥미로운 관점에 대한 답변입니다...`,
{ quoteTarget: originalMessage }
);
// 사용자가 봇의 메시지를 인용할 때 처리하기
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`${quoteMessage.actor}님, 제 생각을 공유해 주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
인용 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
quoteTarget
옵션으로 메시지 인용하기Message.quoteTarget
을 통해 인용된 메시지에 접근하기Bot.onQuote
이벤트 핸들러로 인용 이벤트 처리하기소통은 시각적인 요소도 중요하기 때문에 봇의 표현 방식을 개선했습니다.
연합우주에서 액티비티가 전파되는 방식도 개선했습니다.
이러한 개선 사항은 다양한 연합우주 플랫폼에서 봇의 상호작용이 일관되고 안정적으로 이루어지도록 보장합니다.
이러한 새로운 기능을 경험해 보고 싶으신가요? BotKit 0.2.0은 JSR에서 받을 수 있으며 간단한 명령어로 설치할 수 있습니다.
deno add jsr:@fedify/botkit@0.2.0
BotKit은 Temporal API(JavaScript에서 아직 시범적인 기능)를 사용하므로 deno.json에서 이를 활성화해야 합니다.
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
이 간단한 단계를 통해 최신 기능으로 연합우주 봇을 만들거나 업그레이드할 준비가 완료되었습니다.
BotKit 0.2.0은 연합우주 봇 개발을 접근하기 쉽고, 강력하며, 즐겁게 만들기 위한 우리의 지속적인 노력을 보여줍니다. 이러한 새로운 기능들이 여러분의 봇이 연합우주 커뮤니티에서 더 매력적이고 상호작용이 풍부한 구성원이 되는 데 도움이 될 것이라고 믿습니다.
전체 문서와 더 많은 예제는 저희 문서 사이트에서 확인하실 수 있습니다.
피드백, 기능 요청, 코드 기여를 통해 이번 릴리스에 도움을 주신 모든 분들께 감사드립니다. BotKit 커뮤니티는 계속 성장하고 있으며, 여러분이 만들어낼 작품들을 기대합니다!
BotKit은 ActivityPub 서버 애플리케이션을 만들기 위한 하위 레벨 프레임워크인 Fedify의 지원을 받습니다.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
Coming soon in #BotKit 0.2.0: Native #quote post support!
We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.
The quoting feature set includes:
Bot.onQuote
event handlerMessage.quoteTarget
propertyquoteTarget
option in Session.publish()
and Message.reply()
methodsHere's a quick example of how you can use the quote detection:
bot.onQuote = async (session, quote) => {
// The quote parameter is a Message object representing the post that quoted your bot
await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
// You can access the original quoted message
const originalPost = quote.quoteTarget;
console.log(`Original message: ${originalPost?.text}`);
};
And creating quote posts is just as simple:
// Quote in a new post
await session.publish(
text`I'm quoting this interesting message!`,
{ quoteTarget: someMessage }
);
// Or quote in a reply
await message.reply(
text`Interesting point! I'm quoting another relevant post here.`,
{ quoteTarget: anotherMessage }
);
Remember that quoting behavior may vary across different #ActivityPub implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.
Want to try these features right now? You can install the development version from JSR:
deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc
We're looking forward to seeing how you use these quoting capabilities in your bots!
@fedify@hollo.social
In case you weren't aware, #Fedify has both #Discord and #Matrix communities where you can get help, discuss features, or just chat about #ActivityPub and federated social networks.
Feel free to join either community based on your preference. Both channels have active discussions about Fedify and federation topics.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
BotKit 0.2.0 버전이 릴리스되었습니다! BotKit을 처음 접하시는 분들을 위해 간단히 소개하자면, BotKit은 TypeScript로 개발된 독립형 #ActivityPub 봇 프레임워크입니다. Mastodon, Misskey 등 다양한 #연합우주(#fediverse) 플랫폼과 상호작용할 수 있으며, 기존 플랫폼의 제약에서 벗어나 자유롭게 봇을 만들 수 있습니다.
이번 릴리스는 연합우주 봇 개발을 더 쉽고 강력하게 만들기 위한 여정에서 중요한 발걸음입니다. 커뮤니티에서 요청해 왔던 여러 기능들을 새롭게 선보입니다.
BotKit을 개발하면서 우리는 항상 봇이 더 표현력 있고 상호작용이 풍부하도록 만드는 데 집중해 왔습니다. 0.2.0 버전에서는 연합우주의 사회적 측면을 봇에 접목시켜 한 단계 더 발전시켰습니다.
가장 많이 요청받았던 기능 중 하나가 #커스텀_에모지 지원입니다. 이제 봇은 독특한 시각적 요소로 메시지를 돋보이게 하며 자신만의 개성을 표현할 수 있습니다.
// 봇의 커스텀 에모지 정의하기
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// 메시지에 커스텀 에모지 사용하기
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)}은 Fedify ${customEmoji(emojis.fedify)}의 지원을 받습니다`
);
이 새로운 API를 통해 다음과 같은 기능을 사용할 수 있습니다.
Bot.addCustomEmojis()
로 봇에 커스텀 에모지 추가하기customEmoji()
함수로 메시지에 에모지 포함하기Emoji
객체를 text
태그 템플릿에서 사용하기소통은 단순히 메시지를 게시하는 것만이 아닙니다. 다른 사람의 메시지에 반응하는 것도 중요합니다. 새로운 반응 시스템은 봇과 팔로워 사이에 자연스러운 상호작용 지점을 만들어 줍니다.
// 표준 유니코드 에모지로 메시지에 반응하기
await message.react(emoji`👍`);
// 또는 정의한 커스텀 에모지로 반응하기
await message.react(emojis.botkit);
// 반응을 인식하고 응답하는 봇 만들기
bot.onReact = async (session, reaction) => {
await session.publish(
text`${reaction.actor}님, 제 메시지에 ${reaction.emoji} 반응을 남겨주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
이 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
Message.react()
를 사용하여 유니코드 에모지로 메시지에 반응하기Bot.onReact
와 Bot.onUnreact
핸들러로 반응 이벤트 처리하기토론에서는 종종 다른 사람이 말한 내용을 참조해야 할 때가 있습니다. 새로운 #인용 기능은 더 응집력 있는 대화 스레드를 만들어 줍니다.
// 봇의 게시물에서 다른 메시지 인용하기
await session.publish(
text`이 흥미로운 관점에 대한 답변입니다...`,
{ quoteTarget: originalMessage }
);
// 사용자가 봇의 메시지를 인용할 때 처리하기
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`${quoteMessage.actor}님, 제 생각을 공유해 주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
인용 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
quoteTarget
옵션으로 메시지 인용하기Message.quoteTarget
을 통해 인용된 메시지에 접근하기Bot.onQuote
이벤트 핸들러로 인용 이벤트 처리하기소통은 시각적인 요소도 중요하기 때문에 봇의 표현 방식을 개선했습니다.
연합우주에서 액티비티가 전파되는 방식도 개선했습니다.
이러한 개선 사항은 다양한 연합우주 플랫폼에서 봇의 상호작용이 일관되고 안정적으로 이루어지도록 보장합니다.
이러한 새로운 기능을 경험해 보고 싶으신가요? BotKit 0.2.0은 JSR에서 받을 수 있으며 간단한 명령어로 설치할 수 있습니다.
deno add jsr:@fedify/botkit@0.2.0
BotKit은 Temporal API(JavaScript에서 아직 시범적인 기능)를 사용하므로 deno.json에서 이를 활성화해야 합니다.
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
이 간단한 단계를 통해 최신 기능으로 연합우주 봇을 만들거나 업그레이드할 준비가 완료되었습니다.
BotKit 0.2.0은 연합우주 봇 개발을 접근하기 쉽고, 강력하며, 즐겁게 만들기 위한 우리의 지속적인 노력을 보여줍니다. 이러한 새로운 기능들이 여러분의 봇이 연합우주 커뮤니티에서 더 매력적이고 상호작용이 풍부한 구성원이 되는 데 도움이 될 것이라고 믿습니다.
전체 문서와 더 많은 예제는 저희 문서 사이트에서 확인하실 수 있습니다.
피드백, 기능 요청, 코드 기여를 통해 이번 릴리스에 도움을 주신 모든 분들께 감사드립니다. BotKit 커뮤니티는 계속 성장하고 있으며, 여러분이 만들어낼 작품들을 기대합니다!
BotKit은 ActivityPub 서버 애플리케이션을 만들기 위한 하위 레벨 프레임워크인 Fedify의 지원을 받습니다.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
BotKit 0.2.0 버전이 릴리스되었습니다! BotKit을 처음 접하시는 분들을 위해 간단히 소개하자면, BotKit은 TypeScript로 개발된 독립형 #ActivityPub 봇 프레임워크입니다. Mastodon, Misskey 등 다양한 #연합우주(#fediverse) 플랫폼과 상호작용할 수 있으며, 기존 플랫폼의 제약에서 벗어나 자유롭게 봇을 만들 수 있습니다.
이번 릴리스는 연합우주 봇 개발을 더 쉽고 강력하게 만들기 위한 여정에서 중요한 발걸음입니다. 커뮤니티에서 요청해 왔던 여러 기능들을 새롭게 선보입니다.
BotKit을 개발하면서 우리는 항상 봇이 더 표현력 있고 상호작용이 풍부하도록 만드는 데 집중해 왔습니다. 0.2.0 버전에서는 연합우주의 사회적 측면을 봇에 접목시켜 한 단계 더 발전시켰습니다.
가장 많이 요청받았던 기능 중 하나가 #커스텀_에모지 지원입니다. 이제 봇은 독특한 시각적 요소로 메시지를 돋보이게 하며 자신만의 개성을 표현할 수 있습니다.
// 봇의 커스텀 에모지 정의하기
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// 메시지에 커스텀 에모지 사용하기
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)}은 Fedify ${customEmoji(emojis.fedify)}의 지원을 받습니다`
);
이 새로운 API를 통해 다음과 같은 기능을 사용할 수 있습니다.
Bot.addCustomEmojis()
로 봇에 커스텀 에모지 추가하기customEmoji()
함수로 메시지에 에모지 포함하기Emoji
객체를 text
태그 템플릿에서 사용하기소통은 단순히 메시지를 게시하는 것만이 아닙니다. 다른 사람의 메시지에 반응하는 것도 중요합니다. 새로운 반응 시스템은 봇과 팔로워 사이에 자연스러운 상호작용 지점을 만들어 줍니다.
// 표준 유니코드 에모지로 메시지에 반응하기
await message.react(emoji`👍`);
// 또는 정의한 커스텀 에모지로 반응하기
await message.react(emojis.botkit);
// 반응을 인식하고 응답하는 봇 만들기
bot.onReact = async (session, reaction) => {
await session.publish(
text`${reaction.actor}님, 제 메시지에 ${reaction.emoji} 반응을 남겨주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
이 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
Message.react()
를 사용하여 유니코드 에모지로 메시지에 반응하기Bot.onReact
와 Bot.onUnreact
핸들러로 반응 이벤트 처리하기토론에서는 종종 다른 사람이 말한 내용을 참조해야 할 때가 있습니다. 새로운 #인용 기능은 더 응집력 있는 대화 스레드를 만들어 줍니다.
// 봇의 게시물에서 다른 메시지 인용하기
await session.publish(
text`이 흥미로운 관점에 대한 답변입니다...`,
{ quoteTarget: originalMessage }
);
// 사용자가 봇의 메시지를 인용할 때 처리하기
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`${quoteMessage.actor}님, 제 생각을 공유해 주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
인용 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
quoteTarget
옵션으로 메시지 인용하기Message.quoteTarget
을 통해 인용된 메시지에 접근하기Bot.onQuote
이벤트 핸들러로 인용 이벤트 처리하기소통은 시각적인 요소도 중요하기 때문에 봇의 표현 방식을 개선했습니다.
연합우주에서 액티비티가 전파되는 방식도 개선했습니다.
이러한 개선 사항은 다양한 연합우주 플랫폼에서 봇의 상호작용이 일관되고 안정적으로 이루어지도록 보장합니다.
이러한 새로운 기능을 경험해 보고 싶으신가요? BotKit 0.2.0은 JSR에서 받을 수 있으며 간단한 명령어로 설치할 수 있습니다.
deno add jsr:@fedify/botkit@0.2.0
BotKit은 Temporal API(JavaScript에서 아직 시범적인 기능)를 사용하므로 deno.json에서 이를 활성화해야 합니다.
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
이 간단한 단계를 통해 최신 기능으로 연합우주 봇을 만들거나 업그레이드할 준비가 완료되었습니다.
BotKit 0.2.0은 연합우주 봇 개발을 접근하기 쉽고, 강력하며, 즐겁게 만들기 위한 우리의 지속적인 노력을 보여줍니다. 이러한 새로운 기능들이 여러분의 봇이 연합우주 커뮤니티에서 더 매력적이고 상호작용이 풍부한 구성원이 되는 데 도움이 될 것이라고 믿습니다.
전체 문서와 더 많은 예제는 저희 문서 사이트에서 확인하실 수 있습니다.
피드백, 기능 요청, 코드 기여를 통해 이번 릴리스에 도움을 주신 모든 분들께 감사드립니다. BotKit 커뮤니티는 계속 성장하고 있으며, 여러분이 만들어낼 작품들을 기대합니다!
BotKit은 ActivityPub 서버 애플리케이션을 만들기 위한 하위 레벨 프레임워크인 Fedify의 지원을 받습니다.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
BotKit 0.2.0 버전이 릴리스되었습니다! BotKit을 처음 접하시는 분들을 위해 간단히 소개하자면, BotKit은 TypeScript로 개발된 독립형 #ActivityPub 봇 프레임워크입니다. Mastodon, Misskey 등 다양한 #연합우주(#fediverse) 플랫폼과 상호작용할 수 있으며, 기존 플랫폼의 제약에서 벗어나 자유롭게 봇을 만들 수 있습니다.
이번 릴리스는 연합우주 봇 개발을 더 쉽고 강력하게 만들기 위한 여정에서 중요한 발걸음입니다. 커뮤니티에서 요청해 왔던 여러 기능들을 새롭게 선보입니다.
BotKit을 개발하면서 우리는 항상 봇이 더 표현력 있고 상호작용이 풍부하도록 만드는 데 집중해 왔습니다. 0.2.0 버전에서는 연합우주의 사회적 측면을 봇에 접목시켜 한 단계 더 발전시켰습니다.
가장 많이 요청받았던 기능 중 하나가 #커스텀_에모지 지원입니다. 이제 봇은 독특한 시각적 요소로 메시지를 돋보이게 하며 자신만의 개성을 표현할 수 있습니다.
// 봇의 커스텀 에모지 정의하기
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// 메시지에 커스텀 에모지 사용하기
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)}은 Fedify ${customEmoji(emojis.fedify)}의 지원을 받습니다`
);
이 새로운 API를 통해 다음과 같은 기능을 사용할 수 있습니다.
Bot.addCustomEmojis()
로 봇에 커스텀 에모지 추가하기customEmoji()
함수로 메시지에 에모지 포함하기Emoji
객체를 text
태그 템플릿에서 사용하기소통은 단순히 메시지를 게시하는 것만이 아닙니다. 다른 사람의 메시지에 반응하는 것도 중요합니다. 새로운 반응 시스템은 봇과 팔로워 사이에 자연스러운 상호작용 지점을 만들어 줍니다.
// 표준 유니코드 에모지로 메시지에 반응하기
await message.react(emoji`👍`);
// 또는 정의한 커스텀 에모지로 반응하기
await message.react(emojis.botkit);
// 반응을 인식하고 응답하는 봇 만들기
bot.onReact = async (session, reaction) => {
await session.publish(
text`${reaction.actor}님, 제 메시지에 ${reaction.emoji} 반응을 남겨주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
이 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
Message.react()
를 사용하여 유니코드 에모지로 메시지에 반응하기Bot.onReact
와 Bot.onUnreact
핸들러로 반응 이벤트 처리하기토론에서는 종종 다른 사람이 말한 내용을 참조해야 할 때가 있습니다. 새로운 #인용 기능은 더 응집력 있는 대화 스레드를 만들어 줍니다.
// 봇의 게시물에서 다른 메시지 인용하기
await session.publish(
text`이 흥미로운 관점에 대한 답변입니다...`,
{ quoteTarget: originalMessage }
);
// 사용자가 봇의 메시지를 인용할 때 처리하기
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`${quoteMessage.actor}님, 제 생각을 공유해 주셔서 감사합니다!`,
{ visibility: "direct" }
);
};
인용 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.
quoteTarget
옵션으로 메시지 인용하기Message.quoteTarget
을 통해 인용된 메시지에 접근하기Bot.onQuote
이벤트 핸들러로 인용 이벤트 처리하기소통은 시각적인 요소도 중요하기 때문에 봇의 표현 방식을 개선했습니다.
연합우주에서 액티비티가 전파되는 방식도 개선했습니다.
이러한 개선 사항은 다양한 연합우주 플랫폼에서 봇의 상호작용이 일관되고 안정적으로 이루어지도록 보장합니다.
이러한 새로운 기능을 경험해 보고 싶으신가요? BotKit 0.2.0은 JSR에서 받을 수 있으며 간단한 명령어로 설치할 수 있습니다.
deno add jsr:@fedify/botkit@0.2.0
BotKit은 Temporal API(JavaScript에서 아직 시범적인 기능)를 사용하므로 deno.json에서 이를 활성화해야 합니다.
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
이 간단한 단계를 통해 최신 기능으로 연합우주 봇을 만들거나 업그레이드할 준비가 완료되었습니다.
BotKit 0.2.0은 연합우주 봇 개발을 접근하기 쉽고, 강력하며, 즐겁게 만들기 위한 우리의 지속적인 노력을 보여줍니다. 이러한 새로운 기능들이 여러분의 봇이 연합우주 커뮤니티에서 더 매력적이고 상호작용이 풍부한 구성원이 되는 데 도움이 될 것이라고 믿습니다.
전체 문서와 더 많은 예제는 저희 문서 사이트에서 확인하실 수 있습니다.
피드백, 기능 요청, 코드 기여를 통해 이번 릴리스에 도움을 주신 모든 분들께 감사드립니다. BotKit 커뮤니티는 계속 성장하고 있으며, 여러분이 만들어낼 작품들을 기대합니다!
BotKit은 ActivityPub 서버 애플리케이션을 만들기 위한 하위 레벨 프레임워크인 Fedify의 지원을 받습니다.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@fread@mastodon.social
#Fread 1.3.1 has been released, the release note is as follows:
1. Now supports mirror URLs🎉🎉🎉.
2. Interaction experience has been optimized.
3. A few bugs have been fixed.
#Mastodon #Bluesky #rss #activitypub #fediverse
https://play.google.com/store/apps/details?id=com.zhangke.fread
@botkit@hollo.social
Coming soon in #BotKit 0.2.0: Native #quote post support!
We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.
The quoting feature set includes:
Bot.onQuote
event handlerMessage.quoteTarget
propertyquoteTarget
option in Session.publish()
and Message.reply()
methodsHere's a quick example of how you can use the quote detection:
bot.onQuote = async (session, quote) => {
// The quote parameter is a Message object representing the post that quoted your bot
await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
// You can access the original quoted message
const originalPost = quote.quoteTarget;
console.log(`Original message: ${originalPost?.text}`);
};
And creating quote posts is just as simple:
// Quote in a new post
await session.publish(
text`I'm quoting this interesting message!`,
{ quoteTarget: someMessage }
);
// Or quote in a reply
await message.reply(
text`Interesting point! I'm quoting another relevant post here.`,
{ quoteTarget: anotherMessage }
);
Remember that quoting behavior may vary across different #ActivityPub implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.
Want to try these features right now? You can install the development version from JSR:
deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc
We're looking forward to seeing how you use these quoting capabilities in your bots!
@botkit@hollo.social
Coming soon in #BotKit 0.2.0: Native #quote post support!
We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.
The quoting feature set includes:
Bot.onQuote
event handlerMessage.quoteTarget
propertyquoteTarget
option in Session.publish()
and Message.reply()
methodsHere's a quick example of how you can use the quote detection:
bot.onQuote = async (session, quote) => {
// The quote parameter is a Message object representing the post that quoted your bot
await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
// You can access the original quoted message
const originalPost = quote.quoteTarget;
console.log(`Original message: ${originalPost?.text}`);
};
And creating quote posts is just as simple:
// Quote in a new post
await session.publish(
text`I'm quoting this interesting message!`,
{ quoteTarget: someMessage }
);
// Or quote in a reply
await message.reply(
text`Interesting point! I'm quoting another relevant post here.`,
{ quoteTarget: anotherMessage }
);
Remember that quoting behavior may vary across different #ActivityPub implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.
Want to try these features right now? You can install the development version from JSR:
deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc
We're looking forward to seeing how you use these quoting capabilities in your bots!
@botkit@hollo.social
Coming soon in #BotKit 0.2.0: Native #quote post support!
We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.
The quoting feature set includes:
Bot.onQuote
event handlerMessage.quoteTarget
propertyquoteTarget
option in Session.publish()
and Message.reply()
methodsHere's a quick example of how you can use the quote detection:
bot.onQuote = async (session, quote) => {
// The quote parameter is a Message object representing the post that quoted your bot
await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
// You can access the original quoted message
const originalPost = quote.quoteTarget;
console.log(`Original message: ${originalPost?.text}`);
};
And creating quote posts is just as simple:
// Quote in a new post
await session.publish(
text`I'm quoting this interesting message!`,
{ quoteTarget: someMessage }
);
// Or quote in a reply
await message.reply(
text`Interesting point! I'm quoting another relevant post here.`,
{ quoteTarget: anotherMessage }
);
Remember that quoting behavior may vary across different #ActivityPub implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.
Want to try these features right now? You can install the development version from JSR:
deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc
We're looking forward to seeing how you use these quoting capabilities in your bots!
@botkit@hollo.social
Coming soon in #BotKit 0.2.0: Native #quote post support!
We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.
The quoting feature set includes:
Bot.onQuote
event handlerMessage.quoteTarget
propertyquoteTarget
option in Session.publish()
and Message.reply()
methodsHere's a quick example of how you can use the quote detection:
bot.onQuote = async (session, quote) => {
// The quote parameter is a Message object representing the post that quoted your bot
await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
// You can access the original quoted message
const originalPost = quote.quoteTarget;
console.log(`Original message: ${originalPost?.text}`);
};
And creating quote posts is just as simple:
// Quote in a new post
await session.publish(
text`I'm quoting this interesting message!`,
{ quoteTarget: someMessage }
);
// Or quote in a reply
await message.reply(
text`Interesting point! I'm quoting another relevant post here.`,
{ quoteTarget: anotherMessage }
);
Remember that quoting behavior may vary across different #ActivityPub implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.
Want to try these features right now? You can install the development version from JSR:
deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc
We're looking forward to seeing how you use these quoting capabilities in your bots!
@botkit@hollo.social
Coming soon in #BotKit 0.2.0: Native #quote post support!
We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.
The quoting feature set includes:
Bot.onQuote
event handlerMessage.quoteTarget
propertyquoteTarget
option in Session.publish()
and Message.reply()
methodsHere's a quick example of how you can use the quote detection:
bot.onQuote = async (session, quote) => {
// The quote parameter is a Message object representing the post that quoted your bot
await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`);
// You can access the original quoted message
const originalPost = quote.quoteTarget;
console.log(`Original message: ${originalPost?.text}`);
};
And creating quote posts is just as simple:
// Quote in a new post
await session.publish(
text`I'm quoting this interesting message!`,
{ quoteTarget: someMessage }
);
// Or quote in a reply
await message.reply(
text`Interesting point! I'm quoting another relevant post here.`,
{ quoteTarget: anotherMessage }
);
Remember that quoting behavior may vary across different #ActivityPub implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.
Want to try these features right now? You can install the development version from JSR:
deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc
We're looking forward to seeing how you use these quoting capabilities in your bots!
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@botkit@hollo.social
We're excited to introduce emoji reactions in the upcoming #BotKit 0.2.0 release!
With the new Message.react()
method, your bot can now react to messages using standard Unicode #emojis:
await message.react(emoji`👍`);
#Custom_emoji support is also included, allowing your bot to react with server-specific emojis:
const emojis = bot.addCustomEmojis({
// Use a remote image URL:
yesBlob: {
url: "https://cdn3.emoji.gg/emojis/68238-yesblob.png",
mediaType: "image/png",
},
// Use a local image file:
noBlob: {
file: `${import.meta.dirname}/emojis/no_blob.png`,
mediaType: "image/webp",
},
});
await message.react(emojis.yesBlob);
Reactions can be removed using the AuthorizedReaction.unreact()
method:
const reaction = await message.react(emoji`❤️`);
await reaction.unreact();
Want to try these features now? You can install the development version from JSR today:
deno add jsr:@fedify/botkit@0.2.0-dev.84+c997c6a6
We're looking forward to seeing how your bots express themselves with this new feature!
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@fedify@hollo.social
In case you weren't aware, #Fedify has both #Discord and #Matrix communities where you can get help, discuss features, or just chat about #ActivityPub and federated social networks.
Feel free to join either community based on your preference. Both channels have active discussions about Fedify and federation topics.
@weekinfediverse@mitra.social
Servers
- Funkwhale v1.4.1
- Manyfold v0.108.0
- Mitra v4.0.0
- snac v2.75
- Bookwyrm v0.7.5
- Mbin v1.8.2
- Vernissage Server v1.9.0
- kmyblue v18.0
- Recapping your feedback (Ghost)
Clients
- Mastodon for Android v2.9.6
- Voyager v2.30.0
- Tesseract v1.4.37
Tools and Plugins
- Event Bridge for ActivityPub v1.1.0 (WordPress plugin)
- Enable Mastodon Apps v1.4.2 (WordPress plugin)
For developers
- Federails v0.6.2
- Ditch the DIY Drama: Why Use Fedify Instead of Building ActivityPub from Scratch?
Protocol
Articles
- Integrating a News Publication Into the Fediverse
- Sustaining Decentralised Social Platforms: Analysing User Activity and Governance Structures on Mastodon
- Fediverse Report – #112
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196266f-f5d6-a460-90b7-b3a25e489ab3
@botkit@hollo.social
We're excited to introduce emoji reactions in the upcoming #BotKit 0.2.0 release!
With the new Message.react()
method, your bot can now react to messages using standard Unicode #emojis:
await message.react(emoji`👍`);
#Custom_emoji support is also included, allowing your bot to react with server-specific emojis:
const emojis = bot.addCustomEmojis({
// Use a remote image URL:
yesBlob: {
url: "https://cdn3.emoji.gg/emojis/68238-yesblob.png",
mediaType: "image/png",
},
// Use a local image file:
noBlob: {
file: `${import.meta.dirname}/emojis/no_blob.png`,
mediaType: "image/webp",
},
});
await message.react(emojis.yesBlob);
Reactions can be removed using the AuthorizedReaction.unreact()
method:
const reaction = await message.react(emoji`❤️`);
await reaction.unreact();
Want to try these features now? You can install the development version from JSR today:
deno add jsr:@fedify/botkit@0.2.0-dev.84+c997c6a6
We're looking forward to seeing how your bots express themselves with this new feature!
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@sl007@digitalcourage.social · Reply to Michael Brandtner's post
Danke.
Wollte diesen Thread als Anlaß nehmen, einige pinpoints für Entwickler*innen hierzulassen, wie föderierte algorithmische Timelines gelingen.
Wir beschreiben im Buch, bei UN und Public Spaces Talk (gepinnt) die Hintergründe und in https://www.youtube.com/live/Ieihyq3JbWs?t=7710 konkret, was wir machen.
Eine Grundlage für algorithmische Timeline wäre eine standardisierte Vegleichbarkeit von Inhalten.
Das wichtigste hierbei sind für uns eindeutige Links basierend auf wikidata, OSM und dem Restwissen der Welt.
Um z.B. meine Perle zu beschreiben, ist der primäre Link https://www.wikidata.org/wiki/Q1055 und ein eindeutiges as:Profile speichert die OSM Links und etliche andere.
Dies bedeutet gleichzeitig, das wir maschinenlesbar das Wissen haben, über was geredet wird und in allen Sprachen die Beschreibungen, Texte, commons etc.
Dann erweitern wir #ActivityPub mit verschiedenen Indexes - z. B.
[ - Wo? }
location mit geohash, siehe https://github.com/w3c/activitystreams/issues/582
Dann wissen wir Plätze innerhalb oder nah bei etc.
🧵 1/3
@botkit@hollo.social
We're excited to introduce emoji reactions in the upcoming #BotKit 0.2.0 release!
With the new Message.react()
method, your bot can now react to messages using standard Unicode #emojis:
await message.react(emoji`👍`);
#Custom_emoji support is also included, allowing your bot to react with server-specific emojis:
const emojis = bot.addCustomEmojis({
// Use a remote image URL:
yesBlob: {
url: "https://cdn3.emoji.gg/emojis/68238-yesblob.png",
mediaType: "image/png",
},
// Use a local image file:
noBlob: {
file: `${import.meta.dirname}/emojis/no_blob.png`,
mediaType: "image/webp",
},
});
await message.react(emojis.yesBlob);
Reactions can be removed using the AuthorizedReaction.unreact()
method:
const reaction = await message.react(emoji`❤️`);
await reaction.unreact();
Want to try these features now? You can install the development version from JSR today:
deno add jsr:@fedify/botkit@0.2.0-dev.84+c997c6a6
We're looking forward to seeing how your bots express themselves with this new feature!
@botkit@hollo.social
We're excited to introduce emoji reactions in the upcoming #BotKit 0.2.0 release!
With the new Message.react()
method, your bot can now react to messages using standard Unicode #emojis:
await message.react(emoji`👍`);
#Custom_emoji support is also included, allowing your bot to react with server-specific emojis:
const emojis = bot.addCustomEmojis({
// Use a remote image URL:
yesBlob: {
url: "https://cdn3.emoji.gg/emojis/68238-yesblob.png",
mediaType: "image/png",
},
// Use a local image file:
noBlob: {
file: `${import.meta.dirname}/emojis/no_blob.png`,
mediaType: "image/webp",
},
});
await message.react(emojis.yesBlob);
Reactions can be removed using the AuthorizedReaction.unreact()
method:
const reaction = await message.react(emoji`❤️`);
await reaction.unreact();
Want to try these features now? You can install the development version from JSR today:
deno add jsr:@fedify/botkit@0.2.0-dev.84+c997c6a6
We're looking forward to seeing how your bots express themselves with this new feature!
@botkit@hollo.social
We're excited to introduce emoji reactions in the upcoming #BotKit 0.2.0 release!
With the new Message.react()
method, your bot can now react to messages using standard Unicode #emojis:
await message.react(emoji`👍`);
#Custom_emoji support is also included, allowing your bot to react with server-specific emojis:
const emojis = bot.addCustomEmojis({
// Use a remote image URL:
yesBlob: {
url: "https://cdn3.emoji.gg/emojis/68238-yesblob.png",
mediaType: "image/png",
},
// Use a local image file:
noBlob: {
file: `${import.meta.dirname}/emojis/no_blob.png`,
mediaType: "image/webp",
},
});
await message.react(emojis.yesBlob);
Reactions can be removed using the AuthorizedReaction.unreact()
method:
const reaction = await message.react(emoji`❤️`);
await reaction.unreact();
Want to try these features now? You can install the development version from JSR today:
deno add jsr:@fedify/botkit@0.2.0-dev.84+c997c6a6
We're looking forward to seeing how your bots express themselves with this new feature!
@botkit@hollo.social
We're excited to announce that #BotKit 0.2.0 will introduce custom emoji support! This feature allows your bots to express themselves with more personality and engagement.
What's included:
Bot.addCustomEmojis()
customEmoji()
functionSimple example:
// Define custom emojis
const emojis = bot.addCustomEmojis({
botkit: { file: "./botkit.png", type: "image/png" },
fedify: { url: "https://fedify.dev/logo.png", type: "image/png" }
});
// Use in messages
await session.publish(
text`Hello world! ${customEmoji(emojis.botkit)}`
);
Want to try it early? You can install the development version from JSR today:
deno add jsr:@fedify/botkit@0.2.0-dev.82+8a0438e6
@botkit@hollo.social
We're excited to announce that #BotKit 0.2.0 will introduce custom emoji support! This feature allows your bots to express themselves with more personality and engagement.
What's included:
Bot.addCustomEmojis()
customEmoji()
functionSimple example:
// Define custom emojis
const emojis = bot.addCustomEmojis({
botkit: { file: "./botkit.png", type: "image/png" },
fedify: { url: "https://fedify.dev/logo.png", type: "image/png" }
});
// Use in messages
await session.publish(
text`Hello world! ${customEmoji(emojis.botkit)}`
);
Want to try it early? You can install the development version from JSR today:
deno add jsr:@fedify/botkit@0.2.0-dev.82+8a0438e6
@botkit@hollo.social
We're excited to announce that #BotKit 0.2.0 will introduce custom emoji support! This feature allows your bots to express themselves with more personality and engagement.
What's included:
Bot.addCustomEmojis()
customEmoji()
functionSimple example:
// Define custom emojis
const emojis = bot.addCustomEmojis({
botkit: { file: "./botkit.png", type: "image/png" },
fedify: { url: "https://fedify.dev/logo.png", type: "image/png" }
});
// Use in messages
await session.publish(
text`Hello world! ${customEmoji(emojis.botkit)}`
);
Want to try it early? You can install the development version from JSR today:
deno add jsr:@fedify/botkit@0.2.0-dev.82+8a0438e6
@botkit@hollo.social
We're excited to announce that #BotKit 0.2.0 will introduce custom emoji support! This feature allows your bots to express themselves with more personality and engagement.
What's included:
Bot.addCustomEmojis()
customEmoji()
functionSimple example:
// Define custom emojis
const emojis = bot.addCustomEmojis({
botkit: { file: "./botkit.png", type: "image/png" },
fedify: { url: "https://fedify.dev/logo.png", type: "image/png" }
});
// Use in messages
await session.publish(
text`Hello world! ${customEmoji(emojis.botkit)}`
);
Want to try it early? You can install the development version from JSR today:
deno add jsr:@fedify/botkit@0.2.0-dev.82+8a0438e6
@fedify@hollo.social
In case you weren't aware, #Fedify has both #Discord and #Matrix communities where you can get help, discuss features, or just chat about #ActivityPub and federated social networks.
Feel free to join either community based on your preference. Both channels have active discussions about Fedify and federation topics.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
もしかしたらご存じないかもしれませんが、Fedifyには DiscordとMatrixのコミュニティがあります。ここでは、サポートを受けたり、機能について議論したり、ActivityPubやフェデレーテッドソーシャルネットワークについて話し合うことができます。
お好みのコミュニティにご参加ください。どちらのチャンネルでも、Fedifyやフェデレーション関連のトピックについて活発な議論が行われています。
@fedify@hollo.social
In case you weren't aware, #Fedify has both #Discord and #Matrix communities where you can get help, discuss features, or just chat about #ActivityPub and federated social networks.
Feel free to join either community based on your preference. Both channels have active discussions about Fedify and federation topics.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
もしかしたらご存じないかもしれませんが、Fedifyには DiscordとMatrixのコミュニティがあります。ここでは、サポートを受けたり、機能について議論したり、ActivityPubやフェデレーテッドソーシャルネットワークについて話し合うことができます。
お好みのコミュニティにご参加ください。どちらのチャンネルでも、Fedifyやフェデレーション関連のトピックについて活発な議論が行われています。
@fedify@hollo.social
In case you weren't aware, #Fedify has both #Discord and #Matrix communities where you can get help, discuss features, or just chat about #ActivityPub and federated social networks.
Feel free to join either community based on your preference. Both channels have active discussions about Fedify and federation topics.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
もしかしたらご存じないかもしれませんが、Fedifyには DiscordとMatrixのコミュニティがあります。ここでは、サポートを受けたり、機能について議論したり、ActivityPubやフェデレーテッドソーシャルネットワークについて話し合うことができます。
お好みのコミュニティにご参加ください。どちらのチャンネルでも、Fedifyやフェデレーション関連のトピックについて活発な議論が行われています。
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
혹시 모르고 계셨다면, Fedify는 Discord와 Matrix 커뮤니티를 운영하고 있습니다. 이곳에서 도움을 받거나, 기능에 대해 논의하거나, ActivityPub와 연합 소셜 네트워크에 대해 대화를 나눌 수 있습니다.
여러분의 선호도에 따라 어느 커뮤니티든 참여해 주세요. 두 채널 모두 Fedify와 연합 관련 주제에 대한 활발한 논의가 이루어지고 있습니다.
@fedify@hollo.social
In case you weren't aware, #Fedify has both #Discord and #Matrix communities where you can get help, discuss features, or just chat about #ActivityPub and federated social networks.
Feel free to join either community based on your preference. Both channels have active discussions about Fedify and federation topics.
@fedify@hollo.social
In case you weren't aware, #Fedify has both #Discord and #Matrix communities where you can get help, discuss features, or just chat about #ActivityPub and federated social networks.
Feel free to join either community based on your preference. Both channels have active discussions about Fedify and federation topics.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@hongminhee@hollo.social
As someone who has developed several #ActivityPub software implementations (Fedify, Hollo, BotKit, and Hackers' Pub), I believe one of the most frustrating features to implement in the #fediverse is #custom_emoji.
The challenges are numerous:
First, there's no standardization. ActivityPub specifications don't define how custom emoji should work, leading to inconsistent implementations across different servers like Mastodon and Misskey.
Rendering is particularly problematic. Emojis must display properly across different contexts (in text, as reactions, in emoji pickers) while maintaining quality at various sizes. Animated emojis add another layer of complexity.
Perhaps most concerning is the poor #accessibility. Most implementations simply use the emoji code (like :party_blob:
) as the alt
text, which provides no meaningful information to screen reader users (in particular, non-English speakers) about what the emoji actually depicts or means.
What really dampens my motivation to implement this feature is knowing I'm investing significant effort into something that ultimately creates accessibility barriers. It's disheartening to work hard on a feature that excludes part of the community.
@awfulwoman@indieweb.social · Reply to Charlie O’Hara's post
I can go and write a malicious client right now and go and read your follower-only messages. That’s beyond fucked up. #ActivityPub #Mastodon
@awfulwoman@indieweb.social · Reply to Charlie O’Hara's post
I’m honestly agog that the whole privacy thing is based on trust between instances, and not, LET’S SAY, cryptography. 😱 #ActivityPub #Mastodon
@awfulwoman@indieweb.social
Upon reading more about the Puxelfed follower bug - and realising it’s a fundamental problem with the ActivityPub protocol - I can’t see much point in staying follower-only on Mastodon. I’ll go public and just keep my mouth shut about anything even vaguely related to work.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@weekinfediverse@mitra.social
Servers
- Funkwhale v1.4.1
- Manyfold v0.108.0
- Mitra v4.0.0
- snac v2.75
- Bookwyrm v0.7.5
- Mbin v1.8.2
- Vernissage Server v1.9.0
- kmyblue v18.0
- Recapping your feedback (Ghost)
Clients
- Mastodon for Android v2.9.6
- Voyager v2.30.0
- Tesseract v1.4.37
Tools and Plugins
- Event Bridge for ActivityPub v1.1.0 (WordPress plugin)
- Enable Mastodon Apps v1.4.2 (WordPress plugin)
For developers
- Federails v0.6.2
- Ditch the DIY Drama: Why Use Fedify Instead of Building ActivityPub from Scratch?
Protocol
Articles
- Integrating a News Publication Into the Fediverse
- Sustaining Decentralised Social Platforms: Analysing User Activity and Governance Structures on Mastodon
- Fediverse Report – #112
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196266f-f5d6-a460-90b7-b3a25e489ab3
@weekinfediverse@mitra.social
Servers
- Funkwhale v1.4.1
- Manyfold v0.108.0
- Mitra v4.0.0
- snac v2.75
- Bookwyrm v0.7.5
- Mbin v1.8.2
- Vernissage Server v1.9.0
- kmyblue v18.0
- Recapping your feedback (Ghost)
Clients
- Mastodon for Android v2.9.6
- Voyager v2.30.0
- Tesseract v1.4.37
Tools and Plugins
- Event Bridge for ActivityPub v1.1.0 (WordPress plugin)
- Enable Mastodon Apps v1.4.2 (WordPress plugin)
For developers
- Federails v0.6.2
- Ditch the DIY Drama: Why Use Fedify Instead of Building ActivityPub from Scratch?
Protocol
Articles
- Integrating a News Publication Into the Fediverse
- Sustaining Decentralised Social Platforms: Analysing User Activity and Governance Structures on Mastodon
- Fediverse Report – #112
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196266f-f5d6-a460-90b7-b3a25e489ab3
@weekinfediverse@mitra.social
Servers
- Funkwhale v1.4.1
- Manyfold v0.108.0
- Mitra v4.0.0
- snac v2.75
- Bookwyrm v0.7.5
- Mbin v1.8.2
- Vernissage Server v1.9.0
- kmyblue v18.0
- Recapping your feedback (Ghost)
Clients
- Mastodon for Android v2.9.6
- Voyager v2.30.0
- Tesseract v1.4.37
Tools and Plugins
- Event Bridge for ActivityPub v1.1.0 (WordPress plugin)
- Enable Mastodon Apps v1.4.2 (WordPress plugin)
For developers
- Federails v0.6.2
- Ditch the DIY Drama: Why Use Fedify Instead of Building ActivityPub from Scratch?
Protocol
Articles
- Integrating a News Publication Into the Fediverse
- Sustaining Decentralised Social Platforms: Analysing User Activity and Governance Structures on Mastodon
- Fediverse Report – #112
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0196266f-f5d6-a460-90b7-b3a25e489ab3
@jsit@social.coop
Wow, #50501movement is using "Mobilizon," an #ActivityPub-federated events platform. I didn't know this existed but it's so cool that it does! https://mobilizon.org
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@jsit@social.coop
Wow, #50501movement is using "Mobilizon," an #ActivityPub-federated events platform. I didn't know this existed but it's so cool that it does! https://mobilizon.org
@yogthos@social.marxist.network
Both Mastodon and Bluesky offer decentralized alternatives, but only one puts users first. While Bluesky’s VC-backed model serves shareholder interests, Mastodon’s nonprofit structure safeguards a truly open internet. The future of social media shouldn’t be for sale.
https://phillipjreese.com/the-social-network-that-cant-sell-out-understanding-mastodon-vs-bluesky/
@yogthos@social.marxist.network
Both Mastodon and Bluesky offer decentralized alternatives, but only one puts users first. While Bluesky’s VC-backed model serves shareholder interests, Mastodon’s nonprofit structure safeguards a truly open internet. The future of social media shouldn’t be for sale.
https://phillipjreese.com/the-social-network-that-cant-sell-out-understanding-mastodon-vs-bluesky/
@yogthos@social.marxist.network
Both Mastodon and Bluesky offer decentralized alternatives, but only one puts users first. While Bluesky’s VC-backed model serves shareholder interests, Mastodon’s nonprofit structure safeguards a truly open internet. The future of social media shouldn’t be for sale.
https://phillipjreese.com/the-social-network-that-cant-sell-out-understanding-mastodon-vs-bluesky/
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@hongminhee@hollo.social
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like Bot.onReaction
) and methods (like Message.react()
).
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message
class and adding new Text
processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
@oliver@social.pifferi.io
I am absolutely stunned to see what @vernissage does right in a quite early stage compared to my experiences with #Pixelfed over the years.
Already very matured and stable - will be my option for switching over (not mentioning that the account migration in Pixelfed still does not work so it will be a complete restart) after being with PF for the last years!
Perfect Docker-deployment, easy S3-integration, seamless #ActivityPub-integration and... it just works! 😃
Great job, @mczachurski! 👏
@oliver@social.pifferi.io
I am absolutely stunned to see what @vernissage does right in a quite early stage compared to my experiences with #Pixelfed over the years.
Already very matured and stable - will be my option for switching over (not mentioning that the account migration in Pixelfed still does not work so it will be a complete restart) after being with PF for the last years!
Perfect Docker-deployment, easy S3-integration, seamless #ActivityPub-integration and... it just works! 😃
Great job, @mczachurski! 👏
@BobDendry@masto.fediverse.games
Another cool ActivityPub project I came across today - BadgeFed.
From the point of view of your regular Fediverse instance - I could foresee this being used to recognise members for financial contributions, being moderators, Creating x number of Peertube videos, y posts on Mastodon, winning community contests, stuff like that. Really cool and I will definitely look into this further a bit further down the line.
@mapache@hachyderm.io · Reply to Maho Pacheco 🦝🍻's post
well, it worked
@liachra@mastodon.au · Reply to Osma A 🇫🇮🇺🇦's post
@osma
This just proves #ATProtocol isn't federated and it's all marketing scam. @bsky.app has been nothing but false promises, wasn't it suppose to federate to #ActivityPub natively? Welp, that never happened.
I'm disabling the #bridgy until there are other AT Protocol instances that aren't corporation involved.
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@BobDendry@masto.fediverse.games
Another cool ActivityPub project I came across today - BadgeFed.
From the point of view of your regular Fediverse instance - I could foresee this being used to recognise members for financial contributions, being moderators, Creating x number of Peertube videos, y posts on Mastodon, winning community contests, stuff like that. Really cool and I will definitely look into this further a bit further down the line.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@guerrillastickers@mastodon.bida.im
🏴☠️ New campaign coming soon /// 💥 Against the surveillance capitalism: stop to the social networks under master. Come to Mastodon‼️ 🦣
Announcement here at 50 follower on #LivelloSegreto: @guerrillastickers@livellosegreto.it
#Mastodon #Fediverse #Fediverso #activitypub #antifa #anticapitalist #anticapitalism #stickers #sticker
@obenland@mastodon.social
ActivityPub 5.7.0 for WordPress is out now! 🥳
Among other things, this release brings more helpful details to Site Health and upgrades the Reply block—it now embeds the referenced post, even if oEmbed isn’t supported!
👉 Full changelog: https://wordpress.org/plugins/activitypub/#developers
@weekinfediverse@mitra.social
Servers
- PeerTube v7.1.1
- Lemmy v0.19.11
- Manyfold v0.107.0
- Hubzilla v10.2.2
- ActivityPub for WordPress v5.7.0
- Misskey v2025.4.0
- tootik v0.15.6
- Gush! v0.0.16
- NodeBB v4.2.1
- You think you're following us, but you might not be (Ghost)
- Trunk & Tidbits, March 2025 (Mastodon)
- 2025 PeerTube Roadmap ! (PeerTube)
- Flox: A self hosted Movie, Series and Animes watch list
Clients
- Fedilab v3.32.0
- IceCubesApp v1.11.3
- Pixelix v4.1.0
- Voyager v2.29.0
- Tesseract v1.4.33
- Interstellar v0.9.1
Tools and Plugins
For developers
Articles
- Eight years on, Mastodon stubbornly survives
- Mastodon Exit Interview
- Some Notes about FediList (and Poisoned Data)
- Fediverse Report – #111
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01960262-d8ba-73dd-51c1-18f3881f9ec7
@weekinfediverse@mitra.social
Servers
- PeerTube v7.1.1
- Lemmy v0.19.11
- Manyfold v0.107.0
- Hubzilla v10.2.2
- ActivityPub for WordPress v5.7.0
- Misskey v2025.4.0
- tootik v0.15.6
- Gush! v0.0.16
- NodeBB v4.2.1
- You think you're following us, but you might not be (Ghost)
- Trunk & Tidbits, March 2025 (Mastodon)
- 2025 PeerTube Roadmap ! (PeerTube)
- Flox: A self hosted Movie, Series and Animes watch list
Clients
- Fedilab v3.32.0
- IceCubesApp v1.11.3
- Pixelix v4.1.0
- Voyager v2.29.0
- Tesseract v1.4.33
- Interstellar v0.9.1
Tools and Plugins
For developers
Articles
- Eight years on, Mastodon stubbornly survives
- Mastodon Exit Interview
- Some Notes about FediList (and Poisoned Data)
- Fediverse Report – #111
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01960262-d8ba-73dd-51c1-18f3881f9ec7
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@hongminhee@hollo.social
Don't build #ActivityPub from scratch! It's complex. See why using the #Fedify framework is the smarter way to develop for the fediverse in my new post:
@hongminhee@hackers.pub
So, you're captivated by the fediverse—the decentralized social web powered by protocols like ActivityPub. Maybe you're dreaming of building the next great federated app, a unique space connected to Mastodon, Lemmy, Pixelfed, and more. The temptation to dive deep and implement ActivityPub yourself, from the ground up, is strong. Total control, right? Understanding every byte? Sounds cool!
But hold on a sec. Before you embark on that epic quest, let's talk reality. Implementing ActivityPub correctly isn't just one task; it's like juggling several complex standards while riding a unicycle… blindfolded. It’s hard.
That's where Fedify comes in. It's a TypeScript framework designed to handle the gnarliest parts of ActivityPub development, letting you focus on what makes your app special, not reinventing the federation wheel.
This post will break down the common headaches of DIY ActivityPub implementation and show how Fedify acts as the super-powered pain reliever, starting with the very foundation of how data is represented.
At its core, ActivityPub relies on the ActivityStreams 2.0 vocabulary to describe actions and objects, and it uses JSON-LD as the syntax to encode this vocabulary. While powerful, this combination introduces significant complexity right from the start.
First, understanding and correctly using the vast ActivityStreams vocabulary itself is a hurdle. You need to model everything—posts (Note
, Article
), profiles (Person
, Organization
), actions (Create
, Follow
, Like
, Announce
)—using the precise terms and properties defined in the specification. Manual JSON construction is tedious and prone to errors.
Second, JSON-LD, the encoding layer, has specific rules that make direct JSON manipulation surprisingly tricky:
Note
objects mean the same thing regarding the name
property:// No name property
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "…"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"name": [],
"content": "…"
}
content
property here:// Single value
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "Hello"
}
// Equivalent to:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": ["Hello"]
}
Announce
activities are semantically equivalent (assuming the URIs resolve correctly):{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Announce",
// Embedded objects:
"actor": {
"type": "Person",
"id": "http://sally.example.org/",
"name": "Sally"
},
"object": {
"type": "Arrive",
"id": "https://sally.example.com/arrive",
/* ... */
}
}
// Equivalent to:
{
"@context":
"https://www.w3.org/ns/activitystreams",
"type": "Announce",
// URI references:
"actor": "http://sally.example.org/",
"object": "https://sally.example.com/arrive"
}
Attempting to manually handle all these vocabulary rules and JSON-LD variations consistently across your application inevitably leads to verbose, complex, and fragile code, ripe for subtle bugs that break federation.
Fedify tackles this entire data modeling challenge with its comprehensive, type-safe Activity Vocabulary API. It provides TypeScript classes for ActivityStreams types and common extensions, giving you autocompletion and compile-time safety. Crucially, these classes internally manage all the tricky JSON-LD nuances. Fedify's property accessors present a consistent interface—non-functional properties (like tags
) always return arrays, functional properties (like content
) always return single values or null. It handles object references versus embedded objects seamlessly through dereferencing accessors (like activity.getActor()
) which automatically fetch remote objects via URI when needed—a feature known as property hydration. With Fedify, you work with a clean, predictable TypeScript API, letting the framework handle the messy details of AS vocabulary and JSON-LD encoding.
Once you can model data, you need to make your actors discoverable. This primarily involves the WebFinger protocol (RFC 7033). You'd need to build a server endpoint at /.well-known/webfinger
capable of parsing resource queries (like acct:
URIs), validating the requested domain against your server, and responding with a precisely formatted JSON Resource Descriptor (JRD). This JRD must include specific links, like a self
link pointing to the actor's ActivityPub ID using the correct media type. Getting any part of this wrong can make your actors invisible.
Fedify simplifies this significantly. It automatically handles WebFinger requests based on the actor information you provide through its setActorDispatcher()
method. Fedify generates the correct JRD response. If you need more advanced control, like mapping user-facing handles to internal identifiers, you can easily register mapHandle()
or mapAlias()
callbacks. You focus on defining your actors; Fedify handles making them discoverable.
// Example: Define how to find actors
federation.setActorDispatcher(
"/users/{username}",
async (ctx, username) => { /* ... */ }
);
// Now GET /.well-known/webfinger?resource=acct:username@your.domain just works!
Serving actor profiles requires careful content negotiation. A request for an actor's ID needs JSON-LD for machine clients (Accept: application/activity+json
) but HTML for browsers (Accept: text/html
). Handling incoming activities at the inbox endpoint involves validating POST
requests, verifying cryptographic signatures, parsing the payload, preventing duplicates (idempotency), and routing based on activity type. Implementing collections (outbox
, followers
, etc.) with correct pagination adds another layer.
Fedify streamlines all of this. Its core request handler (via Federation.fetch()
or framework adapters like @fedify/express) manages content negotiation. You define actors with setActorDispatcher()
and web pages with your framework (Hono, Express, SvelteKit, etc.)—Fedify routes appropriately. For the inbox, setInboxListeners()
lets you define handlers per activity type (e.g., .on(Follow, ...)
), while Fedify automatically handles validation, signature verification, parsing, and idempotency checks using its KV Store. Collection implementation is simplified via dispatchers (e.g., setFollowersDispatcher()
); you provide logic to fetch a page of data, and Fedify constructs the correct Collection
or CollectionPage
with pagination.
// Define inbox handlers
federation.setInboxListeners("/inbox", "/users/{handle}/inbox")
.on(Follow, async (ctx, follow) => { /* Handle follow */ })
.on(Undo, async (ctx, undo) => { /* Handle undo */ });
// Define followers collection logic
federation.setFollowersDispatcher(
"/users/{handle}/followers",
async (ctx, handle, cursor) => { /* ... */ }
);
Sending an activity requires more than a simple POST
. Networks fail, servers go down. You need robust failure handling and retry logic (ideally with backoff). Processing incoming activities synchronously can block your server. Efficiently broadcasting to many followers (fan-out) requires background processing and using shared inboxes where possible.
Fedify addresses reliability and scalability using its MessageQueue
abstraction. When configured (highly recommended), Context.sendActivity()
enqueues delivery tasks. Background workers handle sending with automatic retries based on configurable policies (like outboxRetryPolicy
). Fedify supports various queue backends (Deno KV, Redis, PostgreSQL, AMQP). For high-traffic fan-out, Fedify uses an optimized two-stage mechanism to distribute the load efficiently.
// Configure Fedify with a persistent queue (e.g., Deno KV)
const federation = createFederation({
queue: new DenoKvMessageQueue(/* ... */),
// ...
});
// Sending is now reliable and non-blocking
await ctx.sendActivity({ handle: "myUser" }, recipient, someActivity);
Securing an ActivityPub server is critical. You need to implement HTTP Signatures (draft-cavage-http-signatures-12) for server-to-server authentication—a complex process. You might also need Linked Data Signatures (LDS) or Object Integrity Proofs (OIP) based on FEP-8b32 for data integrity and compatibility. Managing cryptographic keys securely is essential. Lastly, fetching remote resources risks Server-Side Request Forgery (SSRF) if not validated properly.
Fedify is designed with security in mind. It automatically handles the creation and verification of HTTP Signatures, LDS, and OIP, provided you supply keys via setKeyPairsDispatcher()
. It includes key management utilities. Crucially, Fedify's default document loader includes built-in SSRF protection, blocking requests to private IPs unless explicitly allowed.
The fediverse is diverse. Different servers have quirks. Ensuring compatibility requires testing and adaptation. Standards evolve with new Federation Enhancement Proposals (FEPs). You also need protocols like NodeInfo to advertise server capabilities.
Fedify aims for broad interoperability and is actively maintained. It includes features like ActivityTransformer
s to smooth over implementation differences. NodeInfo support is built-in via setNodeInfoDispatcher()
.
Beyond the protocol, building any server involves setup, testing, and debugging. With federation, debugging becomes harder—was the message malformed? Was the signature wrong? Is the remote server down? Is it a compatibility quirk? Good tooling is essential.
Fedify enhances the developer experience significantly. Being built with TypeScript, it offers excellent type safety and editor auto-completion. The fedify
CLI is a powerful companion designed to streamline common development tasks.
You can quickly scaffold a new project tailored to your chosen runtime and web framework using fedify init
.
For debugging interactions and verifying data, fedify lookup
is invaluable. It lets you inspect how any remote actor or object appears from the outside by performing WebFinger discovery and fetching the object's data. Fedify then displays the parsed object structure and properties directly in your terminal. For example, running:
$ fedify lookup @fedify-example@fedify-blog.deno.dev
Will first show progress messages and then output the structured representation of the actor, similar to this:
// Output of fedify lookup command (shows parsed object structure)
Person {
id: URL "https://fedify-blog.deno.dev/users/fedify-example",
name: "Fedify Example Blog",
published: 2024-03-03T13:18:11.857Z, // Simplified timestamp
summary: "This blog is powered by Fedify, a fediverse server framework.",
url: URL "https://fedify-blog.deno.dev/",
preferredUsername: "fedify-example",
publicKey: CryptographicKey {
id: URL "https://fedify-blog.deno.dev/users/fedify-example#main-key",
owner: URL "https://fedify-blog.deno.dev/users/fedify-example",
publicKey: CryptoKey { /* ... CryptoKey details ... */ }
},
// ... other properties like inbox, outbox, followers, endpoints ...
}
This allows you to easily check how data is structured or troubleshoot why an interaction might be failing by seeing the actual properties Fedify parsed.
Testing outgoing activities from your application during development is made much easier with fedify inbox
. Running the command starts a temporary local server that acts as a publicly accessible inbox, displaying key information about the temporary actor it creates for receiving messages:
$ fedify inbox
✔ The ephemeral ActivityPub server is up and running: https://<unique_id>.lhr.life/
✔ Sent follow request to @<some_test_account>@activitypub.academy.
╭───────────────┬─────────────────────────────────────────╮
│ Actor handle: │ i@<unique_id>.lhr.life │
├───────────────┼─────────────────────────────────────────┤
│ Actor URI: │ https://<unique_id>.lhr.life/i │
├───────────────┼─────────────────────────────────────────┤
│ Actor inbox: │ https://<unique_id>.lhr.life/i/inbox │
├───────────────┼─────────────────────────────────────────┤
│ Shared inbox: │ https://<unique_id>.lhr.life/inbox │
╰───────────────┴─────────────────────────────────────────╯
Web interface available at: http://localhost:8000/
You then configure your developing application to send an activity to the Actor inbox
or Shared inbox
URI provided. When an activity arrives, fedify inbox
only prints a summary table to your console indicating that a request was received:
╭────────────────┬─────────────────────────────────────╮
│ Request #: │ 2 │
├────────────────┼─────────────────────────────────────┤
│ Activity type: │ Follow │
├────────────────┼─────────────────────────────────────┤
│ HTTP request: │ POST /i/inbox │
├────────────────┼─────────────────────────────────────┤
│ HTTP response: │ 202 │
├────────────────┼─────────────────────────────────────┤
│ Details │ https://<unique_id>.lhr.life/r/2 │
╰────────────────┴─────────────────────────────────────╯
Crucially, the detailed information about the received request—including the full headers (like Signature
), the request body (the Activity JSON), and the signature verification status—is only available in the web interface provided by fedify inbox
. This web UI allows you to thoroughly inspect incoming activities during development.
When you need to test interactions with the live fediverse from your local machine beyond just sending, fedify tunnel
can securely expose your entire local development server temporarily. This suite of tools significantly eases the process of building and debugging federated applications.
Implementing the ActivityPub suite of protocols from scratch is an incredibly complex and time-consuming undertaking. It involves deep dives into multiple technical specifications, cryptographic signing, security hardening, and navigating the nuances of a diverse ecosystem. While educational, it dramatically slows down the process of building the actual, unique features of your federated application.
Fedify offers a well-architected, secure, and type-safe foundation, handling the intricacies of federation for you—data modeling, discovery, core mechanics, delivery, security, and interoperability. It lets you focus on your application's unique value and user experience. Stop wrestling with low-level protocol details and start building your vision for the fediverse faster and more reliably. Give Fedify a try!
Getting started is straightforward. First, install the Fedify CLI using your preferred method. Once installed, create a new project template by running fedify init your-project-name
.
Check out the Fedify tutorials and Fedify manual to learn more. Happy federating!
@res260@infosec.exchange
I wish #ActivityPub allowed for a single identity to be used on myltiple services.
I don't want to create a mastodon account AND a loops account AND a pixelfed account AND a lemmy account. Why can't I just have @res260? :(
If AP steals one idea from #ATProto, it should be this.
@fedify@hollo.social
Fetching remote #ActivityPub objects or actors often involves handling #WebFinger lookups, content negotiation, and then parsing potentially untyped JSON.
With #Fedify, it's much simpler: use Context.lookupObject()
. Pass it a URI (e.g., https://instance.tld/users/alice
) or a handle (e.g., @alice@instance.tld
), and Fedify handles the lookup and content negotiation automatically.
The real power comes from the return value: a type-safe Activity Vocabulary object, not just raw JSON. This allows you to confidently access properties and methods directly. For example, you can safely traverse account moves using .getSuccessor()
like this:
let actor = await ctx.lookupObject("@alice@instance.tld");
while (isActor(actor)) {
const successor = await actor.getSuccessor();
if (successor == null) break;
actor = successor;
}
// actor now holds the latest account after moves
This is readily available in handlers where the Context
object is provided (like actor dispatchers or inbox listeners).
Focus on your app's logic, not protocol boilerplate!
Learn more: https://fedify.dev/manual/context#looking-up-remote-objects
@fedify@hollo.social
Fetching remote #ActivityPub objects or actors often involves handling #WebFinger lookups, content negotiation, and then parsing potentially untyped JSON.
With #Fedify, it's much simpler: use Context.lookupObject()
. Pass it a URI (e.g., https://instance.tld/users/alice
) or a handle (e.g., @alice@instance.tld
), and Fedify handles the lookup and content negotiation automatically.
The real power comes from the return value: a type-safe Activity Vocabulary object, not just raw JSON. This allows you to confidently access properties and methods directly. For example, you can safely traverse account moves using .getSuccessor()
like this:
let actor = await ctx.lookupObject("@alice@instance.tld");
while (isActor(actor)) {
const successor = await actor.getSuccessor();
if (successor == null) break;
actor = successor;
}
// actor now holds the latest account after moves
This is readily available in handlers where the Context
object is provided (like actor dispatchers or inbox listeners).
Focus on your app's logic, not protocol boilerplate!
Learn more: https://fedify.dev/manual/context#looking-up-remote-objects
@fedify@hollo.social
Fetching remote #ActivityPub objects or actors often involves handling #WebFinger lookups, content negotiation, and then parsing potentially untyped JSON.
With #Fedify, it's much simpler: use Context.lookupObject()
. Pass it a URI (e.g., https://instance.tld/users/alice
) or a handle (e.g., @alice@instance.tld
), and Fedify handles the lookup and content negotiation automatically.
The real power comes from the return value: a type-safe Activity Vocabulary object, not just raw JSON. This allows you to confidently access properties and methods directly. For example, you can safely traverse account moves using .getSuccessor()
like this:
let actor = await ctx.lookupObject("@alice@instance.tld");
while (isActor(actor)) {
const successor = await actor.getSuccessor();
if (successor == null) break;
actor = successor;
}
// actor now holds the latest account after moves
This is readily available in handlers where the Context
object is provided (like actor dispatchers or inbox listeners).
Focus on your app's logic, not protocol boilerplate!
Learn more: https://fedify.dev/manual/context#looking-up-remote-objects
@fedify@hollo.social
Fetching remote #ActivityPub objects or actors often involves handling #WebFinger lookups, content negotiation, and then parsing potentially untyped JSON.
With #Fedify, it's much simpler: use Context.lookupObject()
. Pass it a URI (e.g., https://instance.tld/users/alice
) or a handle (e.g., @alice@instance.tld
), and Fedify handles the lookup and content negotiation automatically.
The real power comes from the return value: a type-safe Activity Vocabulary object, not just raw JSON. This allows you to confidently access properties and methods directly. For example, you can safely traverse account moves using .getSuccessor()
like this:
let actor = await ctx.lookupObject("@alice@instance.tld");
while (isActor(actor)) {
const successor = await actor.getSuccessor();
if (successor == null) break;
actor = successor;
}
// actor now holds the latest account after moves
This is readily available in handlers where the Context
object is provided (like actor dispatchers or inbox listeners).
Focus on your app's logic, not protocol boilerplate!
Learn more: https://fedify.dev/manual/context#looking-up-remote-objects
@josemurilo@mato.social
"Local community organizers are looking for alternatives to centralized #eventplatforms like Meetup.com. While some communities have moved to standalone #WordPress solutions with #eventsplugins, they miss out on the network effects and discovery features that make centralized platforms valuable.
Building upon the existing WordPress #ActivityPub #eventbridge, we’ll create a “Community Event Starter Kit” that makes it easy to host events in #theFediverse.
https://hackathon.cloudfest.com/project/federated-community-events/
@fedify@hollo.social
Fetching remote #ActivityPub objects or actors often involves handling #WebFinger lookups, content negotiation, and then parsing potentially untyped JSON.
With #Fedify, it's much simpler: use Context.lookupObject()
. Pass it a URI (e.g., https://instance.tld/users/alice
) or a handle (e.g., @alice@instance.tld
), and Fedify handles the lookup and content negotiation automatically.
The real power comes from the return value: a type-safe Activity Vocabulary object, not just raw JSON. This allows you to confidently access properties and methods directly. For example, you can safely traverse account moves using .getSuccessor()
like this:
let actor = await ctx.lookupObject("@alice@instance.tld");
while (isActor(actor)) {
const successor = await actor.getSuccessor();
if (successor == null) break;
actor = successor;
}
// actor now holds the latest account after moves
This is readily available in handlers where the Context
object is provided (like actor dispatchers or inbox listeners).
Focus on your app's logic, not protocol boilerplate!
Learn more: https://fedify.dev/manual/context#looking-up-remote-objects
@fedify@hollo.social
Fetching remote #ActivityPub objects or actors often involves handling #WebFinger lookups, content negotiation, and then parsing potentially untyped JSON.
With #Fedify, it's much simpler: use Context.lookupObject()
. Pass it a URI (e.g., https://instance.tld/users/alice
) or a handle (e.g., @alice@instance.tld
), and Fedify handles the lookup and content negotiation automatically.
The real power comes from the return value: a type-safe Activity Vocabulary object, not just raw JSON. This allows you to confidently access properties and methods directly. For example, you can safely traverse account moves using .getSuccessor()
like this:
let actor = await ctx.lookupObject("@alice@instance.tld");
while (isActor(actor)) {
const successor = await actor.getSuccessor();
if (successor == null) break;
actor = successor;
}
// actor now holds the latest account after moves
This is readily available in handlers where the Context
object is provided (like actor dispatchers or inbox listeners).
Focus on your app's logic, not protocol boilerplate!
Learn more: https://fedify.dev/manual/context#looking-up-remote-objects
@fedify@hollo.social
Fetching remote #ActivityPub objects or actors often involves handling #WebFinger lookups, content negotiation, and then parsing potentially untyped JSON.
With #Fedify, it's much simpler: use Context.lookupObject()
. Pass it a URI (e.g., https://instance.tld/users/alice
) or a handle (e.g., @alice@instance.tld
), and Fedify handles the lookup and content negotiation automatically.
The real power comes from the return value: a type-safe Activity Vocabulary object, not just raw JSON. This allows you to confidently access properties and methods directly. For example, you can safely traverse account moves using .getSuccessor()
like this:
let actor = await ctx.lookupObject("@alice@instance.tld");
while (isActor(actor)) {
const successor = await actor.getSuccessor();
if (successor == null) break;
actor = successor;
}
// actor now holds the latest account after moves
This is readily available in handlers where the Context
object is provided (like actor dispatchers or inbox listeners).
Focus on your app's logic, not protocol boilerplate!
Learn more: https://fedify.dev/manual/context#looking-up-remote-objects
@aspensmonster@bookwyrm.social
Starting to feel, more and more, like I need to build my own #ActivityPub thing. This book sounds like a good foundation to build off of. Authored by @evan@cosocial.ca.
(comment on ActivityPub)
@aspensmonster@bookwyrm.social
Starting to feel, more and more, like I need to build my own #ActivityPub thing. This book sounds like a good foundation to build off of. Authored by @evan@cosocial.ca.
(comment on ActivityPub)
@weekinfediverse@mitra.social
Servers
- PeerTube v7.1.1
- Lemmy v0.19.11
- Manyfold v0.107.0
- Hubzilla v10.2.2
- ActivityPub for WordPress v5.7.0
- Misskey v2025.4.0
- tootik v0.15.6
- Gush! v0.0.16
- NodeBB v4.2.1
- You think you're following us, but you might not be (Ghost)
- Trunk & Tidbits, March 2025 (Mastodon)
- 2025 PeerTube Roadmap ! (PeerTube)
- Flox: A self hosted Movie, Series and Animes watch list
Clients
- Fedilab v3.32.0
- IceCubesApp v1.11.3
- Pixelix v4.1.0
- Voyager v2.29.0
- Tesseract v1.4.33
- Interstellar v0.9.1
Tools and Plugins
For developers
Articles
- Eight years on, Mastodon stubbornly survives
- Mastodon Exit Interview
- Some Notes about FediList (and Poisoned Data)
- Fediverse Report – #111
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01960262-d8ba-73dd-51c1-18f3881f9ec7
@box464@mastodon.social
I earned the Early Explorer badge from @badgefed - an new federated badging platform.
https://badges.vocalcat.com/view/grant/badgesvocalcatcom_10_9_a87d3860481368983e687d69d033c6f9
@mapache@hachyderm.io
The first 16 badges based in activitypub from @badgefed@vocalcat.com were issued! I am planning to issue another 10 tonight.
Follow @badgefed@badges.vocalcat.com for check how the testing is going!
@box464@mastodon.social
I earned the Early Explorer badge from @badgefed - an new federated badging platform.
https://badges.vocalcat.com/view/grant/badgesvocalcatcom_10_9_a87d3860481368983e687d69d033c6f9
@box464@mastodon.social
I earned the Early Explorer badge from @badgefed - an new federated badging platform.
https://badges.vocalcat.com/view/grant/badgesvocalcatcom_10_9_a87d3860481368983e687d69d033c6f9
@weekinfediverse@mitra.social
Servers
- PeerTube v7.1.1
- Lemmy v0.19.11
- Manyfold v0.107.0
- Hubzilla v10.2.2
- ActivityPub for WordPress v5.7.0
- Misskey v2025.4.0
- tootik v0.15.6
- Gush! v0.0.16
- NodeBB v4.2.1
- You think you're following us, but you might not be (Ghost)
- Trunk & Tidbits, March 2025 (Mastodon)
- 2025 PeerTube Roadmap ! (PeerTube)
- Flox: A self hosted Movie, Series and Animes watch list
Clients
- Fedilab v3.32.0
- IceCubesApp v1.11.3
- Pixelix v4.1.0
- Voyager v2.29.0
- Tesseract v1.4.33
- Interstellar v0.9.1
Tools and Plugins
For developers
Articles
- Eight years on, Mastodon stubbornly survives
- Mastodon Exit Interview
- Some Notes about FediList (and Poisoned Data)
- Fediverse Report – #111
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01960262-d8ba-73dd-51c1-18f3881f9ec7
@weekinfediverse@mitra.social
Servers
- PeerTube v7.1.1
- Lemmy v0.19.11
- Manyfold v0.107.0
- Hubzilla v10.2.2
- ActivityPub for WordPress v5.7.0
- Misskey v2025.4.0
- tootik v0.15.6
- Gush! v0.0.16
- NodeBB v4.2.1
- You think you're following us, but you might not be (Ghost)
- Trunk & Tidbits, March 2025 (Mastodon)
- 2025 PeerTube Roadmap ! (PeerTube)
- Flox: A self hosted Movie, Series and Animes watch list
Clients
- Fedilab v3.32.0
- IceCubesApp v1.11.3
- Pixelix v4.1.0
- Voyager v2.29.0
- Tesseract v1.4.33
- Interstellar v0.9.1
Tools and Plugins
For developers
Articles
- Eight years on, Mastodon stubbornly survives
- Mastodon Exit Interview
- Some Notes about FediList (and Poisoned Data)
- Fediverse Report – #111
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01960262-d8ba-73dd-51c1-18f3881f9ec7
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@obenland@mastodon.social
ActivityPub 5.7.0 for WordPress is out now! 🥳
Among other things, this release brings more helpful details to Site Health and upgrades the Reply block—it now embeds the referenced post, even if oEmbed isn’t supported!
👉 Full changelog: https://wordpress.org/plugins/activitypub/#developers
@obenland@mastodon.social
ActivityPub 5.7.0 for WordPress is out now! 🥳
Among other things, this release brings more helpful details to Site Health and upgrades the Reply block—it now embeds the referenced post, even if oEmbed isn’t supported!
👉 Full changelog: https://wordpress.org/plugins/activitypub/#developers
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@mbajur@mastodon.social
I'm looking for some insight on why it's NOT a good idea to build next #decentralized project on #ATproto (#BlueSky) and stick to #ActivityPub?
By quickly glancing through the ATP docs, it seems like a much more pleasant experience to work with over AP but there's probably more to it than just the technical part.
Can anyone #help me understand any atproto downsides?
@box464@mastodon.social
I wonder if the new version of Digg will consider federation with the fediverse.
@box464@mastodon.social
I wonder if the new version of Digg will consider federation with the fediverse.
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#연합우주(#fediverse)를 위한 봇을 만들고 싶으신가요? #BotKit by Fedify를 사용하면 몇 줄의 코드만으로 독립형 #ActivityPub 봇을 구축할 수 있습니다! 일반적인 Mastodon 또는 Misskey 봇과 달리, BotKit은 플랫폼 제약 없이 완전한 ActivityPub 서버를 만들 수 있게 도와줍니다.
BotKit으로 할 수 있는 것:
문서는 https://botkit.fedify.dev/에서 확인하시고 지금 바로 연합우주 봇을 만들어 보세요!
@box464@mastodon.social
FunkWhale, a federated music platform, will soon release a new 2.0 alpha. V1.0 instances will not be compatible to the 2.0 instances,
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#フェディバース(#fediverse)用のボットを作りたいですか?#BotKit by Fedifyを使えば、わずか数行のコードでスタンドアロンのActivityPubボットを構築できます!従来のMastodonやMisskeyボットとは異なり、BotKitはプラットフォームの制約なしに完全なActivityPubサーバーを作成できます。
BotKitでできること:
ドキュメントはhttps://botkit.fedify.dev/で確認し、今からフェディバースボットの構築を始めましょう!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#フェディバース(#fediverse)用のボットを作りたいですか?#BotKit by Fedifyを使えば、わずか数行のコードでスタンドアロンのActivityPubボットを構築できます!従来のMastodonやMisskeyボットとは異なり、BotKitはプラットフォームの制約なしに完全なActivityPubサーバーを作成できます。
BotKitでできること:
ドキュメントはhttps://botkit.fedify.dev/で確認し、今からフェディバースボットの構築を始めましょう!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#연합우주(#fediverse)를 위한 봇을 만들고 싶으신가요? #BotKit by Fedify를 사용하면 몇 줄의 코드만으로 독립형 #ActivityPub 봇을 구축할 수 있습니다! 일반적인 Mastodon 또는 Misskey 봇과 달리, BotKit은 플랫폼 제약 없이 완전한 ActivityPub 서버를 만들 수 있게 도와줍니다.
BotKit으로 할 수 있는 것:
문서는 https://botkit.fedify.dev/에서 확인하시고 지금 바로 연합우주 봇을 만들어 보세요!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#연합우주(#fediverse)를 위한 봇을 만들고 싶으신가요? #BotKit by Fedify를 사용하면 몇 줄의 코드만으로 독립형 #ActivityPub 봇을 구축할 수 있습니다! 일반적인 Mastodon 또는 Misskey 봇과 달리, BotKit은 플랫폼 제약 없이 완전한 ActivityPub 서버를 만들 수 있게 도와줍니다.
BotKit으로 할 수 있는 것:
문서는 https://botkit.fedify.dev/에서 확인하시고 지금 바로 연합우주 봇을 만들어 보세요!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#フェディバース(#fediverse)用のボットを作りたいですか?#BotKit by Fedifyを使えば、わずか数行のコードでスタンドアロンのActivityPubボットを構築できます!従来のMastodonやMisskeyボットとは異なり、BotKitはプラットフォームの制約なしに完全なActivityPubサーバーを作成できます。
BotKitでできること:
ドキュメントはhttps://botkit.fedify.dev/で確認し、今からフェディバースボットの構築を始めましょう!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@rzylber@mastodon.social · Reply to Ricardo Zylbergeld's post
I believe this is possible and can be built over the ActivityPub protocol, based on what we've learned from the library of things, makerspaces, commons, permaculture, alternative currencies, and so many other amazing concepts and their incredible success stories...
I am currently drafting this project.
Let me know if it makes any sense to you...
@rzylber@mastodon.social
Imagine a federated network of physical spaces where people can exchange knowledge, skills, tools, and dreams...
Imagine gathering spaces designed to foster local communities, local projects, and new innovative economic arrangements...
Imagine spaces for care, protection, and engagement with our neighbors as a citizen fellowship...
Imagine, as a result, a workforce of talented people dedicated to transforming their local realities...
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@rzylber@mastodon.social · Reply to Ricardo Zylbergeld's post
I believe this is possible and can be built over the ActivityPub protocol, based on what we've learned from the library of things, makerspaces, commons, permaculture, alternative currencies, and so many other amazing concepts and their incredible success stories...
I am currently drafting this project.
Let me know if it makes any sense to you...
@rzylber@mastodon.social
Imagine a federated network of physical spaces where people can exchange knowledge, skills, tools, and dreams...
Imagine gathering spaces designed to foster local communities, local projects, and new innovative economic arrangements...
Imagine spaces for care, protection, and engagement with our neighbors as a citizen fellowship...
Imagine, as a result, a workforce of talented people dedicated to transforming their local realities...
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
If you're curious, take a look at the #Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@fedify@hollo.social
📣 Exciting news! Fedify CLI is now available via Homebrew!
If you're using #Homebrew on macOS or #Linuxbrew on Linux, you can now install our CLI toolchain with a simple command:
brew install fedify
This makes it even easier to get started with building your federated server app. Try it out and let us know what you think!
@AtomZ@m.cmx.im
大家好啊,又经过了好几个月的开发,#Fread 终于支持了 #Bluesky 平台🚀🚀🚀!
目前 Fread 已经支持了 #Mastodon ,#RSS 以及 Bluesky,大家可以更新到最新版 1.3.0 体验。
当然本次大升级除了对 Bluesky 的支持之外还有很多对 UI/UX 的优化。
未来一段时间会支持同实例多账号登录,同时将一条帖子发布到多个账号。
@board@ovo.st @board@2-5.cc @worldboard@ovo.st @worldboard@2-5.cc
https://play.google.com/store/apps/details?id=com.zhangke.fread
@AtomZ@m.cmx.im
大家好啊,又经过了好几个月的开发,#Fread 终于支持了 #Bluesky 平台🚀🚀🚀!
目前 Fread 已经支持了 #Mastodon ,#RSS 以及 Bluesky,大家可以更新到最新版 1.3.0 体验。
当然本次大升级除了对 Bluesky 的支持之外还有很多对 UI/UX 的优化。
未来一段时间会支持同实例多账号登录,同时将一条帖子发布到多个账号。
@board@ovo.st @board@2-5.cc @worldboard@ovo.st @worldboard@2-5.cc
https://play.google.com/store/apps/details?id=com.zhangke.fread
@mariusor@metalhead.club
It's nice when you finish a bit of work that goes well and requires no yak shaving in order to get done.
For the past week I've been struggling again with the #frontend bits of #ONI, the single user #ActivityPub server, when I decided to take a little break and work on something else.
So today I've add support for the traversal resistant file API for the FS storage part of #GoActivityPub. I'm still waiting for the symlink support to be added in the next major #Go version, but other than that we've increased robustness a little bit despite it being designed mainly for full transparency development work and not being run in production environments.
@Goffi@mastodon.social · Reply to Kazuky Akayashi ฅ^•ﻌ•^ฅ's post
@KazukyAkayashi @feudjais j'ai souvent entendu du bien de Movim côté UI/UX, peux-tu décrire ce que tu n'aimes pas ?
Sinon j'ai développé avec Libervia une passerelle ActivityPub <=> XMPP grâce à une subvention NLnet/NGi0 qui devrait fonctionner avec Movim. Je suis très pris et je n'ai pas encore pu faire une release officielle, mais des gens utilisent déjà.
https://libervia.org/__b/doc/backend/components.html#activitypub-gateway
@danimrich@mastodon.social
@box464@mastodon.social
FunkWhale, a federated music platform, will soon release a new 2.0 alpha. V1.0 instances will not be compatible to the 2.0 instances,
@BeAware@mementomori.social
Don't forget to support your Fedi admins in any way you can.
Fediverse isn't run by multi-billion dollar companies, and in a lot of cases, is simply run by kind folks who just want to have a nice social media platform.
Therefore, there's a high chance that the server costs come out of their pockets.
Support your admins. They help Fedi go round.🫶
@grishka@mastodon.social
@raphael@communick.com · Reply to Raphael Lullis's post
Storing #RDF or #LinkedData is the easy part (I am working on #activitypub client, so everything is JSON-LD anyway), but as soon as I need to formulate queries like "Give me list of the activities from all the actors who are on the following collection of my user, sorted by published/updated date", the amount of data mangling that I need to do is already making me think "ok, why don't I just push all of this to sqlite?"
@mapache@hachyderm.io
I did some changes to my almost static #activitypub enabled blog, which enables @blog and @badgefed so now it can show the real number of followers.
I have only updated the #badgefed one. I am planning to migrate @vocalcat to such format because having a bot account does not make sense for the #fediverse. I rather post real uodates.
I will edit my series in the following days.
https://maho.dev/2024/02/a-guide-to-implement-activitypub-in-a-static-site-or-any-website/
@mapache@hachyderm.io
I did some changes to my almost static #activitypub enabled blog, which enables @blog and @badgefed so now it can show the real number of followers.
I have only updated the #badgefed one. I am planning to migrate @vocalcat to such format because having a bot account does not make sense for the #fediverse. I rather post real uodates.
I will edit my series in the following days.
https://maho.dev/2024/02/a-guide-to-implement-activitypub-in-a-static-site-or-any-website/
@mapache@hachyderm.io
I did some changes to my almost static #activitypub enabled blog, which enables @blog and @badgefed so now it can show the real number of followers.
I have only updated the #badgefed one. I am planning to migrate @vocalcat to such format because having a bot account does not make sense for the #fediverse. I rather post real uodates.
I will edit my series in the following days.
https://maho.dev/2024/02/a-guide-to-implement-activitypub-in-a-static-site-or-any-website/
@ml@mitexleo.one
Why people are moving to Bluesky and Threads instead of Mastodon?
@ml@mitexleo.one
Why people are moving to Bluesky and Threads instead of Mastodon?
@sl007@digitalcourage.social
why /me so silent, you ask …
databases are boring but the #deno #denokv #activitypub #normalization #i18n including proper indexing with ulid, geohash, types-hash (when,where,what) and text-similarity sorting and cid stuff MUST be done properly for all the activities side effects.
¯\_(ツ)_/¯
@fsf@hostux.social
Did you know that the #FSF has a #PeerTube account? PeerTube is a decentralized, federated video platform powered by #ActivityPub and #WebTorrent, and you'll find us on the #Framatube instance: https://u.fsf.org/36m
@fsf@hostux.social
Did you know that the #FSF has a #PeerTube account? PeerTube is a decentralized, federated video platform powered by #ActivityPub and #WebTorrent, and you'll find us on the #Framatube instance: https://u.fsf.org/36m
@ml@mitexleo.one
What do you guys think about selfhosting Bluesky?
I selfhosted it few months ago and later gave up for some reason.
@BeAware@mementomori.social
Can we get SpaceHey connected to Fedi somehow? That'd be awesome!
@mcrocker@indieweb.social
SE Radio 657: Hong Minhee @hongminhee on #ActivityPub and the #Fediverse – Software Engineering Radio https://se-radio.net/2025/02/se-radio-657-hong-minhee-on-activitypub-and-the-fediverse/
References, Fedify https://fedify.dev/ and hollo: Federated single-user microblogging software https://github.com/fedify-dev/hollo are also interesting.
@mcrocker@indieweb.social
SE Radio 657: Hong Minhee @hongminhee on #ActivityPub and the #Fediverse – Software Engineering Radio https://se-radio.net/2025/02/se-radio-657-hong-minhee-on-activitypub-and-the-fediverse/
References, Fedify https://fedify.dev/ and hollo: Federated single-user microblogging software https://github.com/fedify-dev/hollo are also interesting.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
本日、第8回FediLUG勉強会で「国漢文混用体からHolloまで」というタイトルで発表をしてきました。
私がなぜActivityPubサーバーフレームワークのFedifyと、シングルユーザー向けActivityPubサーバーのHolloを開発する事に成ったのか、その旅路を共有しました。
実は全ての始まりは、韓国語の「国漢文混用体」(漢字ハングル混じり文)に「振りハングル」を付けたいという単純な願いからでした。この小さな目標が、最終的にFedifyとHolloという二つのプロジェクトへと発展したのです。
興味のある方は、発表スライドをご覧ください: 「国漢文混用体からHolloまで」(Speaker Deck)
#FediLUG #Fedify #Hollo #ActivityPub #フェディバース #fediverse #fedidev
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.1
- Betula v1.4.0
- ActivityPub for WordPress v5.6.0
- Manyfold v0.106.0
- Mastodon v4.3.7
- Mitra v3.22.0
- NeoDB v0.11.5.6
- Hatsu v0.3.3
- kmyblue v17.4
- Gush! v0.0.15
- Vernissage Server v1.7.0
- Gone surfing (Ghost)
Clients
- Fedilab v3.31.2
- Pachli v2.11.0
- PleromaFE v2.8.0
- TootRain v2.1.1
- Voyager v2.28.0
- Aria v1.0.0
Tools and Plugins
Protocol
- FEP-1042: Peer to Peer Fediverse Identities
- FEP-044f: Consent-respecting quote posts
Articles
- Open-source tools needed for the future of decentralized moderation
- Fediverse Report – #110
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195de2c-e094-1ed3-e7fa-aad28ef161cb
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.1
- Betula v1.4.0
- ActivityPub for WordPress v5.6.0
- Manyfold v0.106.0
- Mastodon v4.3.7
- Mitra v3.22.0
- NeoDB v0.11.5.6
- Hatsu v0.3.3
- kmyblue v17.4
- Gush! v0.0.15
- Vernissage Server v1.7.0
- Gone surfing (Ghost)
Clients
- Fedilab v3.31.2
- Pachli v2.11.0
- PleromaFE v2.8.0
- TootRain v2.1.1
- Voyager v2.28.0
- Aria v1.0.0
Tools and Plugins
Protocol
- FEP-1042: Peer to Peer Fediverse Identities
- FEP-044f: Consent-respecting quote posts
Articles
- Open-source tools needed for the future of decentralized moderation
- Fediverse Report – #110
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195de2c-e094-1ed3-e7fa-aad28ef161cb
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.1
- Betula v1.4.0
- ActivityPub for WordPress v5.6.0
- Manyfold v0.106.0
- Mastodon v4.3.7
- Mitra v3.22.0
- NeoDB v0.11.5.6
- Hatsu v0.3.3
- kmyblue v17.4
- Gush! v0.0.15
- Vernissage Server v1.7.0
- Gone surfing (Ghost)
Clients
- Fedilab v3.31.2
- Pachli v2.11.0
- PleromaFE v2.8.0
- TootRain v2.1.1
- Voyager v2.28.0
- Aria v1.0.0
Tools and Plugins
Protocol
- FEP-1042: Peer to Peer Fediverse Identities
- FEP-044f: Consent-respecting quote posts
Articles
- Open-source tools needed for the future of decentralized moderation
- Fediverse Report – #110
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195de2c-e094-1ed3-e7fa-aad28ef161cb
@evan@cosocial.ca
Unfortunately I need to cancel the #SocialCG #ActivityPub issue triage today. I had a travel mixup and won't have a quiet, private place to hold the meeting. Sorry for the late notice, and please plan on attending next week.
@abelio@mastodon.social
👋 Hello #fediverse ! Abelio is a new work-in-progress federated media publishing platform aiming to become a #tumblr and #photoblog alternative for #artists and any sort of #creators (#writers included).
I don't have any demo to show you yet but i needed a way to announce and ask for things - so if you care, please follow! Here is how admin panel looks so far.
Spreading the info and participating in discussion highly appreciated! ❤️
@abelio@mastodon.social
👋 Hello #fediverse ! Abelio is a new work-in-progress federated media publishing platform aiming to become a #tumblr and #photoblog alternative for #artists and any sort of #creators (#writers included).
I don't have any demo to show you yet but i needed a way to announce and ask for things - so if you care, please follow! Here is how admin panel looks so far.
Spreading the info and participating in discussion highly appreciated! ❤️
@abelio@mastodon.social
FYI: Abelio will provide couple of ways of publishing visual contents. One of them is part of the article editor and it let's you organise multiple images in a form of a flexible grid you can arrange as needed.
#fediverse #fedidev #activitypub #writers #photography #arts
@abelio@mastodon.social
👋 Hello #fediverse ! Abelio is a new work-in-progress federated media publishing platform aiming to become a #tumblr and #photoblog alternative for #artists and any sort of #creators (#writers included).
I don't have any demo to show you yet but i needed a way to announce and ask for things - so if you care, please follow! Here is how admin panel looks so far.
Spreading the info and participating in discussion highly appreciated! ❤️
@daniel@gultsch.social
I think I’ve found a relatively nice solution for #FediLinks in #Conversations_im.
You can put web+ap URIs into a message (or room description) and ideally a click on those will open your Mastodon client. However if no installed app supports those (the only app that I’m aware of is Fedilab) Conversations will open a browser instead.
Currently no app will create web+ap links but it is fairly easy to handcraft them.
cc @SoniEx2
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@spdegabrielle@functional.cafe
Is there an #activitypub equivalent of GitHub Gitlab etc.?
@daniel@gultsch.social
I think I’ve found a relatively nice solution for #FediLinks in #Conversations_im.
You can put web+ap URIs into a message (or room description) and ideally a click on those will open your Mastodon client. However if no installed app supports those (the only app that I’m aware of is Fedilab) Conversations will open a browser instead.
Currently no app will create web+ap links but it is fairly easy to handcraft them.
cc @SoniEx2
@obenland@mastodon.social
ActivityPub 5.6.0 for WordPress just shipped! 🔥
It’s a jam-packed release, led by a beta importer to bring your Mastodon posts into WordPress—plus improvements to make setup smoother when activating the plugin.
See the full changelog at:
@Flipboard@flipboard.social
Congrats to @johnonolan and the team at Ghost, which today announced a public beta for users to connect their publications to the fediverse. If you're in their beta, you'll be able to find, follow and interact with people and publications on platforms including Ghost, WordPress, Threads, Mastodon, BlueSky, Flipboard and more. Get details in the blogpost here. If you want to know more about Ghost's approach to decentralization and the open social web, check out John's DotSocial conversation with @mike at the second link.
https://ghost.org/changelog/social-web-beta/
https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37
#OpenSocial #OpenSocialWeb #Ghost #ActivityPub #Decentralization #Fediverse #Publishing
@Flipboard@flipboard.social
Congrats to @johnonolan and the team at Ghost, which today announced a public beta for users to connect their publications to the fediverse. If you're in their beta, you'll be able to find, follow and interact with people and publications on platforms including Ghost, WordPress, Threads, Mastodon, BlueSky, Flipboard and more. Get details in the blogpost here. If you want to know more about Ghost's approach to decentralization and the open social web, check out John's DotSocial conversation with @mike at the second link.
https://ghost.org/changelog/social-web-beta/
https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37
#OpenSocial #OpenSocialWeb #Ghost #ActivityPub #Decentralization #Fediverse #Publishing
@Flipboard@flipboard.social
Congrats to @johnonolan and the team at Ghost, which today announced a public beta for users to connect their publications to the fediverse. If you're in their beta, you'll be able to find, follow and interact with people and publications on platforms including Ghost, WordPress, Threads, Mastodon, BlueSky, Flipboard and more. Get details in the blogpost here. If you want to know more about Ghost's approach to decentralization and the open social web, check out John's DotSocial conversation with @mike at the second link.
https://ghost.org/changelog/social-web-beta/
https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37
#OpenSocial #OpenSocialWeb #Ghost #ActivityPub #Decentralization #Fediverse #Publishing
@box464@mastodon.social
Listen, as someone that follows many fediverse platforms, @thisismissem is one of the most active in the community. She has jumped in and assisted with security and ActivityPub issues across them all.
Please consider contributing to her tip jar if you can, especially for this last bit of advocacy work. Find her contribution options on her profile.
@fedizen@mastodon.social
»A new security fund opens up to help protect the fediverse« https://techcrunch.com/2025/04/02/a-new-security-fund-opens-up-to-help-protect-the-fediverse/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@fedizen@mastodon.social
»A new security fund opens up to help protect the fediverse« https://techcrunch.com/2025/04/02/a-new-security-fund-opens-up-to-help-protect-the-fediverse/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@box464@mastodon.social
Listen, as someone that follows many fediverse platforms, @thisismissem is one of the most active in the community. She has jumped in and assisted with security and ActivityPub issues across them all.
Please consider contributing to her tip jar if you can, especially for this last bit of advocacy work. Find her contribution options on her profile.
@box464@mastodon.social
Listen, as someone that follows many fediverse platforms, @thisismissem is one of the most active in the community. She has jumped in and assisted with security and ActivityPub issues across them all.
Please consider contributing to her tip jar if you can, especially for this last bit of advocacy work. Find her contribution options on her profile.
@box464@mastodon.social
Listen, as someone that follows many fediverse platforms, @thisismissem is one of the most active in the community. She has jumped in and assisted with security and ActivityPub issues across them all.
Please consider contributing to her tip jar if you can, especially for this last bit of advocacy work. Find her contribution options on her profile.
@box464@mastodon.social
Listen, as someone that follows many fediverse platforms, @thisismissem is one of the most active in the community. She has jumped in and assisted with security and ActivityPub issues across them all.
Please consider contributing to her tip jar if you can, especially for this last bit of advocacy work. Find her contribution options on her profile.
@Linux@mk.absturztau.be
Time to kick the "Fedi Chick" Nicole to the curb.
If you're using Cherry Pick, Misskey, or Sharkey you can permanently silence Nicole, no matter what account they use.
Go to Settings, Mute and Blocks, Hard word mute, enter the URL and click SAVE.
The URL: https://friendica.namestaci.cz/profile/fediversechick/profile
#Fediverse #Fedi #ActivityPub #Nicole #FediChick #Spam
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@Flipboard@flipboard.social
Congrats to @johnonolan and the team at Ghost, which today announced a public beta for users to connect their publications to the fediverse. If you're in their beta, you'll be able to find, follow and interact with people and publications on platforms including Ghost, WordPress, Threads, Mastodon, BlueSky, Flipboard and more. Get details in the blogpost here. If you want to know more about Ghost's approach to decentralization and the open social web, check out John's DotSocial conversation with @mike at the second link.
https://ghost.org/changelog/social-web-beta/
https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37
#OpenSocial #OpenSocialWeb #Ghost #ActivityPub #Decentralization #Fediverse #Publishing
@Flipboard@flipboard.social
Congrats to @johnonolan and the team at Ghost, which today announced a public beta for users to connect their publications to the fediverse. If you're in their beta, you'll be able to find, follow and interact with people and publications on platforms including Ghost, WordPress, Threads, Mastodon, BlueSky, Flipboard and more. Get details in the blogpost here. If you want to know more about Ghost's approach to decentralization and the open social web, check out John's DotSocial conversation with @mike at the second link.
https://ghost.org/changelog/social-web-beta/
https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37
#OpenSocial #OpenSocialWeb #Ghost #ActivityPub #Decentralization #Fediverse #Publishing
@Flipboard@flipboard.social
Congrats to @johnonolan and the team at Ghost, which today announced a public beta for users to connect their publications to the fediverse. If you're in their beta, you'll be able to find, follow and interact with people and publications on platforms including Ghost, WordPress, Threads, Mastodon, BlueSky, Flipboard and more. Get details in the blogpost here. If you want to know more about Ghost's approach to decentralization and the open social web, check out John's DotSocial conversation with @mike at the second link.
https://ghost.org/changelog/social-web-beta/
https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37
#OpenSocial #OpenSocialWeb #Ghost #ActivityPub #Decentralization #Fediverse #Publishing
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@mapache@hachyderm.io
Kudos to @dankeck for the first non-me contribution to @badgefed ! That deserves a badge, as soon as I deploy the #alttext #accessibility changes that Dan contributed I will issue a new one.
https://github.com/tryvocalcat/badgefed/pull/1
Kudos!
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@pfefferle@mastodon.social
We just released version 5.6.0 of the #ActivityPub plugin for #WordPress
https://wordpress.org/plugins/activitypub/
Some features:
* A Mastodon import (beta)
* Improvements to the Welcome-Page
* Basic Move functionality
* A bunch of Outbox improvements
* A ton of smaller changes and fixes
thanks a lot to @obenland, @mattwiebe and all other contributors!
@obenland@mastodon.social
ActivityPub 5.6.0 for WordPress just shipped! 🔥
It’s a jam-packed release, led by a beta importer to bring your Mastodon posts into WordPress—plus improvements to make setup smoother when activating the plugin.
See the full changelog at:
@obenland@mastodon.social
ActivityPub 5.6.0 for WordPress just shipped! 🔥
It’s a jam-packed release, led by a beta importer to bring your Mastodon posts into WordPress—plus improvements to make setup smoother when activating the plugin.
See the full changelog at:
@fionafokus@mystical.garden · Reply to fiona 🆕's post
Pixelfed before v0.12.5 has a vulnerability where it could leak your private posts, regardless of whether you are a Pixelfed user or not.
Admins should update ASAP.
When following someone from a different server on the Fediverse, the remote server decides whether you are allowed to do that. This enables features like locked accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. If a legitimate user from a Pixelfed instance follows you on your locked account, anyone on that Pixelfed instance can read your private posts.
I wrote a blog post about how I found the vulnerability, how disclosure coordination went and general ramblings about Fediverse safety:
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@hollo@hollo.social
Holloを紹介します!
Holloは、個人向けの連合型マイクロブログソフトウェアです。FedifyとBunを基盤に構築され、ActivityPubプロトコルを通じて他のインスタンスやサービスと連携することができます。
Holloの特徴は、一人のユーザーのために設計された専用のインスタンスという点です。これにより、ユーザーは自分だけのスペースを持ちながら、Mastodon、Misskey、その他のActivityPub対応サービスのユーザーとも交流できます。
独自のウェブインターフェースを持たない代わりに、MastodonのAPIと互換性があるため、既存の多くのMastodonクライアントアプリを使用してHolloにアクセスできます。これにより、使い慣れたインターフェースでHolloを利用することができます。
主な機能には、投稿の作成・編集・削除、返信、メディア添付、投票、お気に入り、ブックマーク、ピン留めなどがあります。また、プロフィール編集、フォロー/フォロワー管理、リスト作成なども可能です。さらに、Markdownをサポートしているため、投稿やプロフィールの書式設定が容易に行えます。
Holloは現在開発の初期段階にあり、継続的に機能の追加や改善が行われています。Bunを使用することで、高速なパフォーマンスと効率的な開発が実現されています。オープンソースプロジェクトとして、GitHubで公開されており、コミュニティからの貢献を歓迎しています。
個人のブログとソーシャルメディアの利点を組み合わせたHolloは、プライバシーを重視しながら、より広いコミュニティとのつながりを求める人々に適したプラットフォームとなっています。
https://github.com/dahlia/hollo
#Hollo #ActivityPub #Mastodon #Markdown #Bun #Fedify #fedidev
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@leo@masto.gkbrk.com
Migrated to my own Mastodon. Looks like 27 followers haven't made it here yet, let's see if they arrive later.
I was planning to write my own ActivityPub server, and I even made some progress, but I didn't want to have a non-functional profile in the meantime, so Mastodon it is.
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@reiver@mastodon.social
The ActivityPub specification does not have an example of the "sharedInbox" field in use.
Although it does say "An optional endpoint..." — I suspect a lot of people won't know (with confidence) that it can go under the "endpoints" field. For example:
"endpoints": {
"sharedInbox": "https://social.example/inbox"
},
Especially if the person is still trying to understand ActivityPub, and isn't aware of the "endpoints" field yet.
#ActivityPub #DeSo #FediDev #FediDevs #Fediverse #SharedInbox
@reiver@mastodon.social
A reasonable ActivityPub / ActivityStreams API to schedule something to be posted in the future might be — to HTTP POST something to an account's outbox with the `published` field set to a date-time in the future.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
@reiver@mastodon.social
A reasonable ActivityPub / ActivityStreams API to schedule something to be posted in the future might be — to HTTP POST something to an account's outbox with the `published` field set to a date-time in the future.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
@reiver@mastodon.social
A reasonable ActivityPub / ActivityStreams API to schedule something to be posted in the future might be — to HTTP POST something to an account's outbox with the `published` field set to a date-time in the future.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
@reiver@mastodon.social
The ActivityPub specification does not have an example of the "sharedInbox" field in use.
Although it does say "An optional endpoint..." — I suspect a lot of people won't know (with confidence) that it can go under the "endpoints" field. For example:
"endpoints": {
"sharedInbox": "https://social.example/inbox"
},
Especially if the person is still trying to understand ActivityPub, and isn't aware of the "endpoints" field yet.
#ActivityPub #DeSo #FediDev #FediDevs #Fediverse #SharedInbox
@reiver@mastodon.social
A reasonable ActivityPub / ActivityStreams API to schedule something to be posted in the future might be — to HTTP POST something to an account's outbox with the `published` field set to a date-time in the future.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
@reiver@mastodon.social
Currently, the way I am determining if content is valid ActivityPub / ActivityStreams content is —
№1:
Determining if it is valid JSON.
№2:
Checking if it has a "type" field.
And that is it.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #JSONLD
@reiver@mastodon.social
Dealing with JSON-LD would be easier in many ways if everything was defined inline.
Rather than having to get the content from a URL in the context, parse it, etc.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #JSONLD
@Linux@mastodon.au
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@openrisk@mastodon.social
Thinking about internet protocols like #activitypub or #atproto as just "social media", namely platforms for sharing cat images, influencers and followers, shitposting and memes, trolls and flamewars etc. is missing the point entirely.
These are merely emergent behaviors when people interact with primitive forms of "digital society".
In truth these are "societal media", they increasingly capture a good fraction of human reality. The masters of #surveillancecapitalism know this all too well.
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@openrisk@mastodon.social
Thinking about internet protocols like #activitypub or #atproto as just "social media", namely platforms for sharing cat images, influencers and followers, shitposting and memes, trolls and flamewars etc. is missing the point entirely.
These are merely emergent behaviors when people interact with primitive forms of "digital society".
In truth these are "societal media", they increasingly capture a good fraction of human reality. The masters of #surveillancecapitalism know this all too well.
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@fedify@hollo.social
We're incredibly honored to announce that #Ghost (@index) has become a formal sponsor of Fedify through Open Collective!
This is a significant milestone for our project, and we're deeply grateful to @johnonolan and the entire Ghost team for their support and recognition of our work in the #ActivityPub ecosystem.
Ghost's social web integration built on #Fedify is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.
If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:
https://opencollective.com/fedify
Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! ❤️
@johnonolan@mastodon.xyz
Ghost's social web integration is built on the fantastic work of @hongminhee and the Fedify.dev framework.
We've been backing work on the project for 6 months or so, and now we're thrilled to be formal sponsor of the project on Open Collective!
If you're building with Fedify and ActivityPub, please consider joining us to keep helping to make great open source work sustainable ❤️ Every little helps
@mapache@hachyderm.io
And in my next act I will deploy the blog for #badgefed to #cloudfare and make it static with #hugo and still #federate with #activitypub using workers
@jools@missocial.de
Ich habe mich mal testweise an Ghost herangetraut und wollte die ActivityPub-Funktion testen. Wer mag, kann meinen Erfahrungsbericht dazu auf meinem Blog lesen.
Link: BlogZwo.me: Ghost mit ActivityPub im Fediverse, Ghost(Pro) und Ghost Affiliate
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@Linux@mastodon.au
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
@weekinfediverse@mitra.social
Servers
- Hollo v0.5.5
- Pixelfed v0.12.5
- Manyfold v0.105.0
- Mitra v3.21.0
- Gancio v1.25.0
- Merp Relay v0.2.2
- March 2025: Search Update (Bandwagon)
- PieFed development update Mar 2025
- Funkwhale 2.0 Alpha candidate
- Pinka: A commenting server that bridges static sites to ActivityPub sites
Clients
- Fedilab v3.31.0
- Mastodon for iOS v2025.1
- Pixelfed (React Native) v1.2.0.1
- Voyager v2.26.0
- Interstellar v0.9.0
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.4.1
- Lemmy Community Seeder (LCS): A tool to seed communities, so your users have something in their All feed
- Meh… another comment system
For developers
- Fedify v1.5.0
- ActivityPods v2.1.1
Protocol
- FEP-5711: Inverse Properties for Collections
- Lemmy RFC 0008: Plugins
Articles
- Pixelfed leaks private posts from other Fediverse instances
- But It's Public, You Posted It On the Internet
- New Paradigms in Trust and Safety: Navigating Defederation on Decentralized Social Media Platforms
- PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
- Fediverse Report – #109
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195ba9c-b3d5-7402-e337-39b10034bcfc
@Linux@mastodon.au
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
@grishka@mastodon.social
#Smithereen now stores the followers/following/friends counts separately from actual lists, and so can now do this Mastodon-like thing.
@grishka@mastodon.social
#Smithereen now stores the followers/following/friends counts separately from actual lists, and so can now do this Mastodon-like thing.
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@mariusor@metalhead.club · Reply to marius's post
WooHoo!!! I did it, I found the f**king bug!
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@hongminhee@hollo.social
I received a heartwarming #testimonial about #Fedify today!
@bgl shared in the FediDev KR Discord server:
I had trouble finding good resources explaining ActivityPub, but after reading through the Fedify docs from start to finish, I feel like I've actually digested it.
They also posted on their Hackers' Pub:
If you want to learn ActivityPub efficiently, just read the Fedify docs from beginning to end.
This makes all the documentation work worthwhile. Glad our docs are helping people understand not just Fedify, but #ActivityPub itself.
@bgl@hackers.pub
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
@weekinfediverse@mitra.social
Servers
- Hollo v0.5.5
- Pixelfed v0.12.5
- Manyfold v0.105.0
- Mitra v3.21.0
- Gancio v1.25.0
- Merp Relay v0.2.2
- March 2025: Search Update (Bandwagon)
- PieFed development update Mar 2025
- Funkwhale 2.0 Alpha candidate
- Pinka: A commenting server that bridges static sites to ActivityPub sites
Clients
- Fedilab v3.31.0
- Mastodon for iOS v2025.1
- Pixelfed (React Native) v1.2.0.1
- Voyager v2.26.0
- Interstellar v0.9.0
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.4.1
- Lemmy Community Seeder (LCS): A tool to seed communities, so your users have something in their All feed
- Meh… another comment system
For developers
- Fedify v1.5.0
- ActivityPods v2.1.1
Protocol
- FEP-5711: Inverse Properties for Collections
- Lemmy RFC 0008: Plugins
Articles
- Pixelfed leaks private posts from other Fediverse instances
- But It's Public, You Posted It On the Internet
- New Paradigms in Trust and Safety: Navigating Defederation on Decentralized Social Media Platforms
- PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
- Fediverse Report – #109
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195ba9c-b3d5-7402-e337-39b10034bcfc
@weekinfediverse@mitra.social
Servers
- Hollo v0.5.5
- Pixelfed v0.12.5
- Manyfold v0.105.0
- Mitra v3.21.0
- Gancio v1.25.0
- Merp Relay v0.2.2
- March 2025: Search Update (Bandwagon)
- PieFed development update Mar 2025
- Funkwhale 2.0 Alpha candidate
- Pinka: A commenting server that bridges static sites to ActivityPub sites
Clients
- Fedilab v3.31.0
- Mastodon for iOS v2025.1
- Pixelfed (React Native) v1.2.0.1
- Voyager v2.26.0
- Interstellar v0.9.0
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.4.1
- Lemmy Community Seeder (LCS): A tool to seed communities, so your users have something in their All feed
- Meh… another comment system
For developers
- Fedify v1.5.0
- ActivityPods v2.1.1
Protocol
- FEP-5711: Inverse Properties for Collections
- Lemmy RFC 0008: Plugins
Articles
- Pixelfed leaks private posts from other Fediverse instances
- But It's Public, You Posted It On the Internet
- New Paradigms in Trust and Safety: Navigating Defederation on Decentralized Social Media Platforms
- PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
- Fediverse Report – #109
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195ba9c-b3d5-7402-e337-39b10034bcfc
@weekinfediverse@mitra.social
Servers
- Hollo v0.5.5
- Pixelfed v0.12.5
- Manyfold v0.105.0
- Mitra v3.21.0
- Gancio v1.25.0
- Merp Relay v0.2.2
- March 2025: Search Update (Bandwagon)
- PieFed development update Mar 2025
- Funkwhale 2.0 Alpha candidate
- Pinka: A commenting server that bridges static sites to ActivityPub sites
Clients
- Fedilab v3.31.0
- Mastodon for iOS v2025.1
- Pixelfed (React Native) v1.2.0.1
- Voyager v2.26.0
- Interstellar v0.9.0
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.4.1
- Lemmy Community Seeder (LCS): A tool to seed communities, so your users have something in their All feed
- Meh… another comment system
For developers
- Fedify v1.5.0
- ActivityPods v2.1.1
Protocol
- FEP-5711: Inverse Properties for Collections
- Lemmy RFC 0008: Plugins
Articles
- Pixelfed leaks private posts from other Fediverse instances
- But It's Public, You Posted It On the Internet
- New Paradigms in Trust and Safety: Navigating Defederation on Decentralized Social Media Platforms
- PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
- Fediverse Report – #109
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195ba9c-b3d5-7402-e337-39b10034bcfc
@box464@mastodon.social
Tumblr continues to take baby steps into the fediverse. 👶
Buried in the latest Changes blog post, it was mentioned that specific blog has been running on WordPress for the past week! Doesn’t look like fediverse posting has been enabled…yet!
https://www.tumblr.com/changes/779006991147384832/tuesday-march-25th-2025
@box464@mastodon.social
Tumblr continues to take baby steps into the fediverse. 👶
Buried in the latest Changes blog post, it was mentioned that specific blog has been running on WordPress for the past week! Doesn’t look like fediverse posting has been enabled…yet!
https://www.tumblr.com/changes/779006991147384832/tuesday-march-25th-2025
@weekinfediverse@mitra.social
Servers
- Hollo v0.5.5
- Pixelfed v0.12.5
- Manyfold v0.105.0
- Mitra v3.21.0
- Gancio v1.25.0
- Merp Relay v0.2.2
- March 2025: Search Update (Bandwagon)
- PieFed development update Mar 2025
- Funkwhale 2.0 Alpha candidate
- Pinka: A commenting server that bridges static sites to ActivityPub sites
Clients
- Fedilab v3.31.0
- Mastodon for iOS v2025.1
- Pixelfed (React Native) v1.2.0.1
- Voyager v2.26.0
- Interstellar v0.9.0
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.4.1
- Lemmy Community Seeder (LCS): A tool to seed communities, so your users have something in their All feed
- Meh… another comment system
For developers
- Fedify v1.5.0
- ActivityPods v2.1.1
Protocol
- FEP-5711: Inverse Properties for Collections
- Lemmy RFC 0008: Plugins
Articles
- Pixelfed leaks private posts from other Fediverse instances
- But It's Public, You Posted It On the Internet
- New Paradigms in Trust and Safety: Navigating Defederation on Decentralized Social Media Platforms
- PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
- Fediverse Report – #109
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195ba9c-b3d5-7402-e337-39b10034bcfc
@weekinfediverse@mitra.social
Servers
- Hollo v0.5.5
- Pixelfed v0.12.5
- Manyfold v0.105.0
- Mitra v3.21.0
- Gancio v1.25.0
- Merp Relay v0.2.2
- March 2025: Search Update (Bandwagon)
- PieFed development update Mar 2025
- Funkwhale 2.0 Alpha candidate
- Pinka: A commenting server that bridges static sites to ActivityPub sites
Clients
- Fedilab v3.31.0
- Mastodon for iOS v2025.1
- Pixelfed (React Native) v1.2.0.1
- Voyager v2.26.0
- Interstellar v0.9.0
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.4.1
- Lemmy Community Seeder (LCS): A tool to seed communities, so your users have something in their All feed
- Meh… another comment system
For developers
- Fedify v1.5.0
- ActivityPods v2.1.1
Protocol
- FEP-5711: Inverse Properties for Collections
- Lemmy RFC 0008: Plugins
Articles
- Pixelfed leaks private posts from other Fediverse instances
- But It's Public, You Posted It On the Internet
- New Paradigms in Trust and Safety: Navigating Defederation on Decentralized Social Media Platforms
- PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
- Fediverse Report – #109
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195ba9c-b3d5-7402-e337-39b10034bcfc
@weekinfediverse@mitra.social
Servers
- Hollo v0.5.5
- Pixelfed v0.12.5
- Manyfold v0.105.0
- Mitra v3.21.0
- Gancio v1.25.0
- Merp Relay v0.2.2
- March 2025: Search Update (Bandwagon)
- PieFed development update Mar 2025
- Funkwhale 2.0 Alpha candidate
- Pinka: A commenting server that bridges static sites to ActivityPub sites
Clients
- Fedilab v3.31.0
- Mastodon for iOS v2025.1
- Pixelfed (React Native) v1.2.0.1
- Voyager v2.26.0
- Interstellar v0.9.0
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.4.1
- Lemmy Community Seeder (LCS): A tool to seed communities, so your users have something in their All feed
- Meh… another comment system
For developers
- Fedify v1.5.0
- ActivityPods v2.1.1
Protocol
- FEP-5711: Inverse Properties for Collections
- Lemmy RFC 0008: Plugins
Articles
- Pixelfed leaks private posts from other Fediverse instances
- But It's Public, You Posted It On the Internet
- New Paradigms in Trust and Safety: Navigating Defederation on Decentralized Social Media Platforms
- PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
- Fediverse Report – #109
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195ba9c-b3d5-7402-e337-39b10034bcfc
@weekinfediverse@mitra.social
Servers
- Hollo v0.5.5
- Pixelfed v0.12.5
- Manyfold v0.105.0
- Mitra v3.21.0
- Gancio v1.25.0
- Merp Relay v0.2.2
- March 2025: Search Update (Bandwagon)
- PieFed development update Mar 2025
- Funkwhale 2.0 Alpha candidate
- Pinka: A commenting server that bridges static sites to ActivityPub sites
Clients
- Fedilab v3.31.0
- Mastodon for iOS v2025.1
- Pixelfed (React Native) v1.2.0.1
- Voyager v2.26.0
- Interstellar v0.9.0
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.4.1
- Lemmy Community Seeder (LCS): A tool to seed communities, so your users have something in their All feed
- Meh… another comment system
For developers
- Fedify v1.5.0
- ActivityPods v2.1.1
Protocol
- FEP-5711: Inverse Properties for Collections
- Lemmy RFC 0008: Plugins
Articles
- Pixelfed leaks private posts from other Fediverse instances
- But It's Public, You Posted It On the Internet
- New Paradigms in Trust and Safety: Navigating Defederation on Decentralized Social Media Platforms
- PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
- Fediverse Report – #109
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0195ba9c-b3d5-7402-e337-39b10034bcfc
@laird@hachyderm.io
I'm looking for a new comment system for my #Hugo blog, and I'm not seeing any clearly great options.
I've been using #Commento for #comments on my blog for a few years now, and it's about time to switch comment systems.
Commento has been effectively unmaintained for 4 years (see https://gitlab.com/commento/commento). Their (paid) hosted version has been continuing to work, but I've seen increasing numbers of errors lately, so it's time to move.
I'd really *love* something that could integrate semi-natively with #activitypub so new blog posts could show up in Mastodon and Mastodon replies would show up as comments, *but* I don't want to require a fediverse account for commenters; that rules out most (all?) of the embedded-Mastodon comment options.. After looking through Hugo's somewhat-outdated list of commenting options (https://gohugo.io/content-management/comments/), it looks like #Discourse is the only option that even *slightly* fits that, and it's a lot heavier-weight than I really want to run today. Hours-of-maintenance-per-comment should be less than 1, thanks.
Basic requirements:
- Either easy to self-host or has a cheap hosted option.
- Allows anonymous comments plus common external auth options.
- Possible to import comments from Commento, possibly requiring code on my part, but it needs to allow arbitrary names, etc.
- Works with static sites.
- Not a privacy disaster
- If self-hosted, ideally written in something sane -- Go, Rust, etc. *Ideally* it's a single binary that listens to HTTP and stores comments in Postgres.
- Supports Markdown.
Does anyone have anything that they're really happy with?
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
#PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
My PeerTube account: @elena
mentioning @Framasoft @peertube @paige @srosset @MakerTube
#ActivityPub #tech #Fediverse #activism #BigTech #SocialMedia #FOSS #blog
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@Setok@attractive.space
This is the kind of innovation that #ActivityPub and the #Fediverse allows. I just learnt about #Bandwagon (through a post by @atomicpoet) which is a #music artist site (not unlike #Bandcamp). Artists and their posts can be followed just like anyone on the Fediverse.
It's a little rudimentary at the moment (both in style and functionality), and I don't think there is a way to purchase albums for download, but it is a nice example of what is possible.
(Cc @howdy)
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
#PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
My PeerTube account: @elena
mentioning @Framasoft @peertube @paige @srosset @MakerTube
#ActivityPub #tech #Fediverse #activism #BigTech #SocialMedia #FOSS #blog
@fedify@hollo.social
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity()
returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout
option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin
option in createFederation()
. This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection
option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1()
and importPem()
functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
The key selection process is now more intelligent. The fetchKey()
function can now select the public key of an actor if keyId
has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey()
and getSignedKeyOwner()
methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Message queue performance is improved with bulk operations. We've added an optional enqueueMany()
method to the MessageQueue
interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox
command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install
from JSR.
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
@reiver@mastodon.social
The ActivityPub specification does not have an example of the "sharedInbox" field in use.
Although it does say "An optional endpoint..." — I suspect a lot of people won't know (with confidence) that it can go under the "endpoints" field. For example:
"endpoints": {
"sharedInbox": "https://social.example/inbox"
},
Especially if the person is still trying to understand ActivityPub, and isn't aware of the "endpoints" field yet.
#ActivityPub #DeSo #FediDev #FediDevs #Fediverse #SharedInbox
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
#PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
My PeerTube account: @elena
mentioning @Framasoft @peertube @paige @srosset @MakerTube
#ActivityPub #tech #Fediverse #activism #BigTech #SocialMedia #FOSS #blog
@Setok@attractive.space
This is the kind of innovation that #ActivityPub and the #Fediverse allows. I just learnt about #Bandwagon (through a post by @atomicpoet) which is a #music artist site (not unlike #Bandcamp). Artists and their posts can be followed just like anyone on the Fediverse.
It's a little rudimentary at the moment (both in style and functionality), and I don't think there is a way to purchase albums for download, but it is a nice example of what is possible.
(Cc @howdy)
@fishingdev@me.fishingdev.com
One month has passed since I am using #selfhosted #activitypub instance 🎉. I have linux #docker compose stack with @mitra backend (#rust/#postgresql) written by @silverpill and @phanpy as my daily UI for desktop and mobile. Everything works fluent, backend memory print is really low and disk usage is about 2.3 GB as I have set data retention limit to one week and it is totally enough. I am following directly around 150 users + following 7 hashtags via https://relay.fedi.buzz/ which brings also optimal amount of federated posts into my server. Highly recommended!
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
#PeerTube: the Fediverse’s decentralized video platform (part 2: creator edition)
My PeerTube account: @elena
mentioning @Framasoft @peertube @paige @srosset @MakerTube
#ActivityPub #tech #Fediverse #activism #BigTech #SocialMedia #FOSS #blog
@fishingdev@me.fishingdev.com
One month has passed since I am using #selfhosted #activitypub instance 🎉. I have linux #docker compose stack with @mitra backend (#rust/#postgresql) written by @silverpill and @phanpy as my daily UI for desktop and mobile. Everything works fluent, backend memory print is really low and disk usage is about 2.3 GB as I have set data retention limit to one week and it is totally enough. I am following directly around 150 users + following 7 hashtags via https://relay.fedi.buzz/ which brings also optimal amount of federated posts into my server. Highly recommended!
@daniel@gultsch.social
Is there any #ActivityPub / #Mastodon URI scheme used in the wild that would allow me to open an ActivityPub account directly in my Android app?
I've seen 'acct' and 'web+ap' mentioned but none seem to be implemented.
The goal is that given a text of "Here is my Mastodon profile acct:daniel@gultsch.social" #Conversations_im can link that directly into #Tusky. (Just like mailto and xmpp URIs open my E-Mail or IM app respectively)
@_elena@mastodon.social
Good morning Fedi friends!
I just added a new link to my Mastodon profile: @elena 🤗
How many #ActivityPub profiles do I have now? I don't want to know 😆
Off I go continue writing about #PeerTube for #TheFutureIsFederated (part 2, showing what it's like to use the software from the POV of a creator). I look forward to doing some tests and seeing what it's like to embed PeerTube videos on my website. Article coming tomorrow.
Wishing you all a lovely day!
@_elena@mastodon.social
Good morning Fedi friends!
I just added a new link to my Mastodon profile: @elena 🤗
How many #ActivityPub profiles do I have now? I don't want to know 😆
Off I go continue writing about #PeerTube for #TheFutureIsFederated (part 2, showing what it's like to use the software from the POV of a creator). I look forward to doing some tests and seeing what it's like to embed PeerTube videos on my website. Article coming tomorrow.
Wishing you all a lovely day!
@silverpill@mitra.social
What is the standard method of specifying primary language of a post in #ActivityPub?
Mastodon and Hollo add contentMap.[languageCode]
to object. But Pleroma and Misskey don't.
And what if there are multiple keys in contentMap
?
@reiver@mastodon.social
"Activities addressed to this special [public address] URI shall be accessible to all users, without authentication."
https://www.w3.org/TR/activitypub/#public-addressing
The "public address" is:
https://www.w3.org/ns/activitystreams#Public
(Yes, I am posting this for a reason.)
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #PublicAddressing
@silverpill@mitra.social
What is the standard method of specifying primary language of a post in #ActivityPub?
Mastodon and Hollo add contentMap.[languageCode]
to object. But Pleroma and Misskey don't.
And what if there are multiple keys in contentMap
?
@mariusor@metalhead.club
I'm being driven up a wall by a Heisenbug I have with the #GoActivityPub HTTP-Signature plumbing.
On a multi tenant #ActivityPub service where I have two Actors, one of them can interact with the Fediverse at large without any issue, while the other gets HTTP Signature validation errors for every request.
There's no suspicious difference between the two private/public key pairs of the two actors. (I've even tried using the same key pair)
Sigh...
@fionafokus@mystical.garden · Reply to fiona 🆕's post
Pixelfed before v0.12.5 has a vulnerability where it could leak your private posts, regardless of whether you are a Pixelfed user or not.
Admins should update ASAP.
When following someone from a different server on the Fediverse, the remote server decides whether you are allowed to do that. This enables features like locked accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. If a legitimate user from a Pixelfed instance follows you on your locked account, anyone on that Pixelfed instance can read your private posts.
I wrote a blog post about how I found the vulnerability, how disclosure coordination went and general ramblings about Fediverse safety:
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
@fathermcgruder@jorts.horse · Reply to dansup's post
@dansup The follower approval feature itself in #activitypub is the vulnerability. It is wrong to give users the expectation that their social media posts are private. Also, approving followers reminds me of DRM on mp3 files. What are we doing?
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@simon@surlaterre.org
Les projets les plus actifs (que j'ai trouvé) qui proposent un support #ActivityPub généraliste pour #DjangoFramework
- Pyfed, @kene29 Très belle librairie mais très jeune (2024). Cherche des testeurs & contributeurs.
https://dev.funkwhale.audio/funkwhale/pyfed/
- django-activitypub-toolkit @raphael Activement développé https://github.com/mushroomlabs/django-activitypub-toolkit
- Takahé: An efficient ActivityPub Server, for small installs with multiple domains. Compatible API Mastodon mais n'a pas bougé depuis plus d'un an https://docs.jointakahe.org/en/latest/features/
@simon@surlaterre.org
Les projets les plus actifs (que j'ai trouvé) qui proposent un support #ActivityPub généraliste pour #DjangoFramework
- Pyfed, @kene29 Très belle librairie mais très jeune (2024). Cherche des testeurs & contributeurs.
https://dev.funkwhale.audio/funkwhale/pyfed/
- django-activitypub-toolkit @raphael Activement développé https://github.com/mushroomlabs/django-activitypub-toolkit
- Takahé: An efficient ActivityPub Server, for small installs with multiple domains. Compatible API Mastodon mais n'a pas bougé depuis plus d'un an https://docs.jointakahe.org/en/latest/features/
@fionafokus@mystical.garden · Reply to fiona 🆕's post
Pixelfed before v0.12.5 has a vulnerability where it could leak your private posts, regardless of whether you are a Pixelfed user or not.
Admins should update ASAP.
When following someone from a different server on the Fediverse, the remote server decides whether you are allowed to do that. This enables features like locked accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. If a legitimate user from a Pixelfed instance follows you on your locked account, anyone on that Pixelfed instance can read your private posts.
I wrote a blog post about how I found the vulnerability, how disclosure coordination went and general ramblings about Fediverse safety:
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
@fionafokus@mystical.garden · Reply to fiona 🆕's post
Pixelfed before v0.12.5 has a vulnerability where it could leak your private posts, regardless of whether you are a Pixelfed user or not.
Admins should update ASAP.
When following someone from a different server on the Fediverse, the remote server decides whether you are allowed to do that. This enables features like locked accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. If a legitimate user from a Pixelfed instance follows you on your locked account, anyone on that Pixelfed instance can read your private posts.
I wrote a blog post about how I found the vulnerability, how disclosure coordination went and general ramblings about Fediverse safety:
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@maho@mstdn.mx
¿Badges en el Fediverse? ¡Así es, ya se está cocinando! Adivina qué, tengo un prototipo funcionando para emitir badges con ActivityPub.
Está un poco hecho un desmadre, pero necesito ayuda para hacerlo increíble.
Échale un ojo, dime qué opinas y ¡vamos a crear algo chido juntos!
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
I think there is a need for a "dumb" document format.
HTML is no longer that.
Markdown probably isn't it.
No one really uses enriched-text (IETF RFC 1896).
(I prefer wiki like formats, for various reasons, but —)
I don't think there is an obvious choice for a "dumb" document format, right now.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
@reiver@mastodon.social
1/
I think HTML being the default content type for ActivityPub / ActivityStreams is unfortunate in some ways.
HTML was originally a "dumb" document format. But, it is now a "smart" application format — with privacy & security concerns.
https://mastodon.social/@reiver/108237663610634862
You should NOT just take whatever HTML is in the 'content', and put it in the web-browser to view it.
You have to sanitize it. Or, render (unsafe) HTML to (safe) HTML.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
@maho@mstdn.mx
¿Badges en el Fediverse? ¡Así es, ya se está cocinando! Adivina qué, tengo un prototipo funcionando para emitir badges con ActivityPub.
Está un poco hecho un desmadre, pero necesito ayuda para hacerlo increíble.
Échale un ojo, dime qué opinas y ¡vamos a crear algo chido juntos!
@reiver@mastodon.social
Previews in ActivityPub / ActivityStreams is what should bind the disparate software and user-experiences on the Fediverse.
Not the ActivityStreams 'Note'.
...
Previews using 'icon', 'image', 'name', 'summary', etc.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #TheMastodonInTheRoom #SocialWeb
@Linux@mk.absturztau.be
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@fionafokus@mystical.garden · Reply to fiona 🆕's post
Pixelfed before v0.12.5 has a vulnerability where it could leak your private posts, regardless of whether you are a Pixelfed user or not.
Admins should update ASAP.
When following someone from a different server on the Fediverse, the remote server decides whether you are allowed to do that. This enables features like locked accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. If a legitimate user from a Pixelfed instance follows you on your locked account, anyone on that Pixelfed instance can read your private posts.
I wrote a blog post about how I found the vulnerability, how disclosure coordination went and general ramblings about Fediverse safety:
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
@scy@chaos.social
Oh, great. #Pixelfed had a broken implementation of "follower-only" posts, _and_ fucked up the disclosure / bugfix release process.
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
Summary of the bug: If you have a protected account (on Pixelfed, Mastodon, GTS, whatever) and a Pixelfed user followed you and got approved by you, _all_ users on that instance were now able to see your followers-only posts, not just the one you approved.
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@fionafokus@mystical.garden · Reply to fiona 🆕's post
Pixelfed before v0.12.5 has a vulnerability where it could leak your private posts, regardless of whether you are a Pixelfed user or not.
Admins should update ASAP.
When following someone from a different server on the Fediverse, the remote server decides whether you are allowed to do that. This enables features like locked accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. If a legitimate user from a Pixelfed instance follows you on your locked account, anyone on that Pixelfed instance can read your private posts.
I wrote a blog post about how I found the vulnerability, how disclosure coordination went and general ramblings about Fediverse safety:
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
@fionafokus@mystical.garden · Reply to fiona 🆕's post
Pixelfed before v0.12.5 has a vulnerability where it could leak your private posts, regardless of whether you are a Pixelfed user or not.
Admins should update ASAP.
When following someone from a different server on the Fediverse, the remote server decides whether you are allowed to do that. This enables features like locked accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. If a legitimate user from a Pixelfed instance follows you on your locked account, anyone on that Pixelfed instance can read your private posts.
I wrote a blog post about how I found the vulnerability, how disclosure coordination went and general ramblings about Fediverse safety:
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
@Linux@mastodon.au
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
@fionafokus@mystical.garden · Reply to fiona 🆕's post
Pixelfed before v0.12.5 has a vulnerability where it could leak your private posts, regardless of whether you are a Pixelfed user or not.
Admins should update ASAP.
When following someone from a different server on the Fediverse, the remote server decides whether you are allowed to do that. This enables features like locked accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. If a legitimate user from a Pixelfed instance follows you on your locked account, anyone on that Pixelfed instance can read your private posts.
I wrote a blog post about how I found the vulnerability, how disclosure coordination went and general ramblings about Fediverse safety:
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
@Linux@mk.absturztau.be
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey
@Linux@mastodon.au
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
@Linux@mastodon.au
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@Linux@mastodon.au
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
@Linux@mastodon.au
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
@Linux@mk.absturztau.be
A reminder, the Fediverse cost money.
Yes, it is free for YOU to use, but your local administrator pays for domain registration, web hosting, storage space, CDN, and of course, bandwidth.
The busier and more active your Fedi site, the most it cost.
If you are able, consider reaching out to your admin, and asking how you can help. Even small contributions add up and make a difference.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@fionafokus@mystical.garden · Reply to fiona 🆕's post
Pixelfed before v0.12.5 has a vulnerability where it could leak your private posts, regardless of whether you are a Pixelfed user or not.
Admins should update ASAP.
When following someone from a different server on the Fediverse, the remote server decides whether you are allowed to do that. This enables features like locked accounts. Due to an implementation mistake, Pixelfed ignores this and allows anyone to follow even private accounts on other servers. If a legitimate user from a Pixelfed instance follows you on your locked account, anyone on that Pixelfed instance can read your private posts.
I wrote a blog post about how I found the vulnerability, how disclosure coordination went and general ramblings about Fediverse safety:
https://fokus.cool/2025/03/25/pixelfed-vulnerability.html
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@hongminhee@hollo.social
I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!
Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!
This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.
Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!
This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@weekinfediverse@mitra.social
Servers
- streams v25.3.15
- Mitra v3.20.0
- Hubzilla v10.2.0
- PeerTube v7.1.0
- Manyfold v0.104.0
- Lemmy v0.19.10
- NodeBB v4.2.0
- snac v2.74
- ActivityPub for WordPress v5.5.0
- GoToSocial v0.18.3
- Gancio v1.25.0
- tootik v0.15.5
- Activity-Relay v2.0.8
- gathio v1.5.1
- NeoDB v0.11.5.5
- Vernissage Server v1.6.0
- Development Update: Sandcastles edition (Letterbook)
- picverse: ActivityPub based blogengine
- Jaseur: An ActivityPub server implementation in C++ developed using AI agent technology
Clients
- Tusky 28.0
- Pixelfed (React Native) v1.1.0.1
- Blorp v1.0.3
- Tesseract v1.4.32
Tools and Plugins
- Lemmy Schedule v1.14.2
- Lemmy Webhooks v0.21.1
- Enable Mastodon Apps for WordPress v1.4.0
For developers
Protocol
- FEP-c180: Problem Details for ActivityPub
- FEP-ae0c: Fediverse Relay Protocols: Mastodon and LitePub (Finalized)
- FEP-d556: Server-Level Actor Discovery Using WebFinger (Finalized)
Articles
- Website League and the Rise of Island Networks
- The fediverse promises social media without Big Tech – if it can avoid familiar pitfalls
- Silly Mastodon apps
- Hands on with Ghost’s New ActivityPub Beta
- Fediverse Report #108
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01959655-f2a7-6172-cb8c-8d6c51cebb2d
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
Excited to see the #FediLUG (#Fediverse Linux Users Group) in #Japan organizing a reading club for our Creating your own federated microblog tutorial! 🎉 Their first session is coming up, where participants will work through creating their own #ActivityPub-compatible microblog using #Fedify. Thanks for spreading the word about Fedify in Japan! 🇯🇵
@fedilug@msky.ospn.jp
【輪読会試験開催のお知らせ】
本日、 #FediLUG :fedilug: 輪読会📖第0弾として
「〜自分でActivityPub対応SNSを作ってみよう〜『自分だけのフェディバースのマイクロブログを作ろう!』輪読会」
https://github.com/dahlia/fedify-microblog-tutorial-ja
を行います!申し込みは以下からできます!ぜひ参加してフィードバックをください!!
https://fedilug.connpass.com/event/348240/
@chrismessina@mastodon.xyz
Had a great conversation with @mike on the history of the hashtag, why Elon is wrong about it, the future of social networks (vis a vis #ActivityPub, #ATProto, etc), and how LLMs may intersect with social media moderation.
This was a good one.
@chrismessina@mastodon.xyz
Had a great conversation with @mike on the history of the hashtag, why Elon is wrong about it, the future of social networks (vis a vis #ActivityPub, #ATProto, etc), and how LLMs may intersect with social media moderation.
This was a good one.
@chrismessina@mastodon.xyz
Had a great conversation with @mike on the history of the hashtag, why Elon is wrong about it, the future of social networks (vis a vis #ActivityPub, #ATProto, etc), and how LLMs may intersect with social media moderation.
This was a good one.
@mapache@hachyderm.io
Badges on the Fediverse?! Yep, it’s happening! 🎉 I’ve got a working prototype for issuing badges with ActivityPub! It's a bit rough around the edges, but I need some help to make it awesome!
💜 Check it out the teaser video and let me know what you think! 🦝✨
#Collaboration #Fediverse #ActivityPub #Badges #HelpWanted #AskFedi
@mapache@hachyderm.io
Badges on the Fediverse?! Yep, it’s happening! 🎉 I’ve got a working prototype for issuing badges with ActivityPub! It's a bit rough around the edges, but I need some help to make it awesome!
💜 Check it out the teaser video and let me know what you think! 🦝✨
#Collaboration #Fediverse #ActivityPub #Badges #HelpWanted #AskFedi
@chrismessina@mastodon.xyz
Had a great conversation with @mike on the history of the hashtag, why Elon is wrong about it, the future of social networks (vis a vis #ActivityPub, #ATProto, etc), and how LLMs may intersect with social media moderation.
This was a good one.
@strypey@mastodon.nzoss.nz · Reply to Strypey's post
What I'd really like to see is BlueSky modifying their AT protocol to allow AT relays to treat ActivityPub servers as Personal Data Servers. Maybe by using aspects of the Solid protocol, as demonstrated by @activitypods?
No idea if this is technically viable, I'm just thinking out loud here. But just imagine unifying the efforts of AP, Solid and AT developer ...
@box464@mastodon.social
Federated Badges! Very early stages but cool to see new ideas outside of a social media timelines.
#Fediverse #FediDevs #ActivityPub
https://badges.vocalcat.com/record/20
@box464@mastodon.social
Federated Badges! Very early stages but cool to see new ideas outside of a social media timelines.
#Fediverse #FediDevs #ActivityPub
https://badges.vocalcat.com/record/20
@box464@mastodon.social
Federated Badges! Very early stages but cool to see new ideas outside of a social media timelines.
#Fediverse #FediDevs #ActivityPub
https://badges.vocalcat.com/record/20
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Getting back to #Fedify development today! Working on optimizing the outgoing activity queue to improve response times. Currently focusing on reducing latency when sending posts to large follower counts—should make the whole publishing experience feel much snappier.
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hopland@snabelen.no
I always gush about @ZLabe and his account, because for one thing it makes the data he works with more accessible (via #ActivityPub), but secondly because the #infographics he stares are very informative - and consistent.
Are there any other #science, #edutainment and #infographic accounts on the #fediverse that has similar consistent and qualify of posts? Think content that is fairly easily digestible during a scroll.
We're looking for the accounts that #TeachTheFediverse.
@hopland@snabelen.no
I always gush about @ZLabe and his account, because for one thing it makes the data he works with more accessible (via #ActivityPub), but secondly because the #infographics he stares are very informative - and consistent.
Are there any other #science, #edutainment and #infographic accounts on the #fediverse that has similar consistent and qualify of posts? Think content that is fairly easily digestible during a scroll.
We're looking for the accounts that #TeachTheFediverse.
@box464@mastodon.social
Oooh @snarfed.org will be speaking about "All the protocols, compared" in 45 minutes at 4:45 PM CT.
@box464@mastodon.social
Oooh @snarfed.org will be speaking about "All the protocols, compared" in 45 minutes at 4:45 PM CT.
@mapache@hachyderm.io
Nice article about #activitypub over #atproto, by @robin
@iviyohane@tkz.one
Llevaba tiempo preguntándome si sería posible integrar el protocolo #ActivityPub (el fedi) en los #PDS (Personal Data Server) de #ATProto (el protocolo que usa #BlueSky y potencialmente otras redes futuras) y he dado con este artículo.
En resumen: aún no, pero sí podría ser posible en un futuro.
Honestamente, si existe una posibilidad de que ambos protocolos lleguen a converger, se debería apostar por ello. Internet ya está demasiado fragmentada.
@iviyohane@tkz.one
Llevaba tiempo preguntándome si sería posible integrar el protocolo #ActivityPub (el fedi) en los #PDS (Personal Data Server) de #ATProto (el protocolo que usa #BlueSky y potencialmente otras redes futuras) y he dado con este artículo.
En resumen: aún no, pero sí podría ser posible en un futuro.
Honestamente, si existe una posibilidad de que ambos protocolos lleguen a converger, se debería apostar por ello. Internet ya está demasiado fragmentada.
@Linux@mastodon.au
Thinking of creating a Fedi site? 🤔
The domain extensions Dot Com, Net, Org, Info, Us, and Edu are all governed by the United States of America. 😮
The word-based domain extensions, for example, Dot Social, managed by corporations based in the United States of America. 😮
To escape America's rule of law, you not only want hosting outside the United States, but you want a country level domain name to be safe. 😉
@Linux@mastodon.au
Thinking of creating a Fedi site? 🤔
The domain extensions Dot Com, Net, Org, Info, Us, and Edu are all governed by the United States of America. 😮
The word-based domain extensions, for example, Dot Social, managed by corporations based in the United States of America. 😮
To escape America's rule of law, you not only want hosting outside the United States, but you want a country level domain name to be safe. 😉
@aoetk@fedibird.com
ActivityPubとAT Protocolの考え方の違いについて、昨今の議論の内容も踏まえた良くまとまった内容になっているのでFediverseのみんなにも是非読んでほしい
/ AT Protocol考察1:ActivityPub連合との決定的な違いは何か? | Bam | WhiteWind blog https://whtwnd.com/boobam.bsky.social/3lktpknslc52a
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@weekinfediverse@mitra.social
Servers
- streams v25.3.15
- Mitra v3.20.0
- Hubzilla v10.2.0
- PeerTube v7.1.0
- Manyfold v0.104.0
- Lemmy v0.19.10
- NodeBB v4.2.0
- snac v2.74
- ActivityPub for WordPress v5.5.0
- GoToSocial v0.18.3
- Gancio v1.25.0
- tootik v0.15.5
- Activity-Relay v2.0.8
- gathio v1.5.1
- NeoDB v0.11.5.5
- Vernissage Server v1.6.0
- Development Update: Sandcastles edition (Letterbook)
- picverse: ActivityPub based blogengine
- Jaseur: An ActivityPub server implementation in C++ developed using AI agent technology
Clients
- Tusky 28.0
- Pixelfed (React Native) v1.1.0.1
- Blorp v1.0.3
- Tesseract v1.4.32
Tools and Plugins
- Lemmy Schedule v1.14.2
- Lemmy Webhooks v0.21.1
- Enable Mastodon Apps for WordPress v1.4.0
For developers
Protocol
- FEP-c180: Problem Details for ActivityPub
- FEP-ae0c: Fediverse Relay Protocols: Mastodon and LitePub (Finalized)
- FEP-d556: Server-Level Actor Discovery Using WebFinger (Finalized)
Articles
- Website League and the Rise of Island Networks
- The fediverse promises social media without Big Tech – if it can avoid familiar pitfalls
- Silly Mastodon apps
- Hands on with Ghost’s New ActivityPub Beta
- Fediverse Report #108
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01959655-f2a7-6172-cb8c-8d6c51cebb2d
@weekinfediverse@mitra.social
Servers
- streams v25.3.15
- Mitra v3.20.0
- Hubzilla v10.2.0
- PeerTube v7.1.0
- Manyfold v0.104.0
- Lemmy v0.19.10
- NodeBB v4.2.0
- snac v2.74
- ActivityPub for WordPress v5.5.0
- GoToSocial v0.18.3
- Gancio v1.25.0
- tootik v0.15.5
- Activity-Relay v2.0.8
- gathio v1.5.1
- NeoDB v0.11.5.5
- Vernissage Server v1.6.0
- Development Update: Sandcastles edition (Letterbook)
- picverse: ActivityPub based blogengine
- Jaseur: An ActivityPub server implementation in C++ developed using AI agent technology
Clients
- Tusky 28.0
- Pixelfed (React Native) v1.1.0.1
- Blorp v1.0.3
- Tesseract v1.4.32
Tools and Plugins
- Lemmy Schedule v1.14.2
- Lemmy Webhooks v0.21.1
- Enable Mastodon Apps for WordPress v1.4.0
For developers
Protocol
- FEP-c180: Problem Details for ActivityPub
- FEP-ae0c: Fediverse Relay Protocols: Mastodon and LitePub (Finalized)
- FEP-d556: Server-Level Actor Discovery Using WebFinger (Finalized)
Articles
- Website League and the Rise of Island Networks
- The fediverse promises social media without Big Tech – if it can avoid familiar pitfalls
- Silly Mastodon apps
- Hands on with Ghost’s New ActivityPub Beta
- Fediverse Report #108
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01959655-f2a7-6172-cb8c-8d6c51cebb2d
@pfefferle@mastodon.social
we just released version 5.5.0 of the #WordPress #ActivityPub plugin https://github.com/Automattic/wordpress-activitypub/releases/tag/5.5.0
@weekinfediverse@mitra.social
Servers
- streams v25.3.15
- Mitra v3.20.0
- Hubzilla v10.2.0
- PeerTube v7.1.0
- Manyfold v0.104.0
- Lemmy v0.19.10
- NodeBB v4.2.0
- snac v2.74
- ActivityPub for WordPress v5.5.0
- GoToSocial v0.18.3
- Gancio v1.25.0
- tootik v0.15.5
- Activity-Relay v2.0.8
- gathio v1.5.1
- NeoDB v0.11.5.5
- Vernissage Server v1.6.0
- Development Update: Sandcastles edition (Letterbook)
- picverse: ActivityPub based blogengine
- Jaseur: An ActivityPub server implementation in C++ developed using AI agent technology
Clients
- Tusky 28.0
- Pixelfed (React Native) v1.1.0.1
- Blorp v1.0.3
- Tesseract v1.4.32
Tools and Plugins
- Lemmy Schedule v1.14.2
- Lemmy Webhooks v0.21.1
- Enable Mastodon Apps for WordPress v1.4.0
For developers
Protocol
- FEP-c180: Problem Details for ActivityPub
- FEP-ae0c: Fediverse Relay Protocols: Mastodon and LitePub (Finalized)
- FEP-d556: Server-Level Actor Discovery Using WebFinger (Finalized)
Articles
- Website League and the Rise of Island Networks
- The fediverse promises social media without Big Tech – if it can avoid familiar pitfalls
- Silly Mastodon apps
- Hands on with Ghost’s New ActivityPub Beta
- Fediverse Report #108
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01959655-f2a7-6172-cb8c-8d6c51cebb2d
@hongminhee@hollo.social
Getting back to #Fedify development today! Working on optimizing the outgoing activity queue to improve response times. Currently focusing on reducing latency when sending posts to large follower counts—should make the whole publishing experience feel much snappier.
@obenland@mastodon.social
ActivityPub 5.5.0 for WordPress is here! 🚀
This update brings a ton of improvements, including a first step toward supporting Moves from Mastodon to WordPress—big things ahead!
@pfefferle@mastodon.social
I am just back from an awesome #hackathon at the #cloudfest
We had three days to work on Federated (#WordPress) Events, you can find our results on that lovely page: https://fedivents.blog/
Thanks especially to @linos for his awesome work with the Event Bridge: https://wordpress.org/plugins/event-bridge-for-activitypub/
...and to @heiglandreas for pitching and leading the project!
@johnonolan the team came up with the puppies without any knowledge of your newsletter, so this must be really a thing!
@chrpistorius@mastodon.online
Weder #Mastodon noch #Pixelfed haben bisher im Browser eine Planungsfunktion, obwohl #ActivityPub es kann und Apps es unterstützen.
@Flipboard@flipboard.social · Reply to Flipboard's post
Check out all episodes of DotSocial here, which include conversations with open social web leaders like @johnonolan, @jay.bsky.team, @kissane and more.
https://flipboard.video/c/dot_social/videos?s=1
#Flipboard #Federation #Fediverse #ActivityPub #DotSocial #SocialWeb #OpenSocialWeb
@pfefferle@mastodon.social
we just released version 5.5.0 of the #WordPress #ActivityPub plugin https://github.com/Automattic/wordpress-activitypub/releases/tag/5.5.0
@cdarwin@c.im
Newsletter platform #Ghost, an open source competitor to #Substack, is now connected to the fediverse, also known as the open social web.
Federated apps run on the protocol #ActivityPub, which powers apps like Mastodon, Pixelfed, Threads, Flipboard, and others,
allowing posts published on one app to be seen and engaged with by those on other federated platforms.
Ghost said last year that it was working on an integration with ActivityPub, which would allow its publishers to share their blog posts with the broader open social web.
The company expected the integrations to go live last year. However, Ghost this week announced the launch of its social web beta, which now allows any site running on its Ghost Pro subscription to try out the new ActivityPub integration.
The beta feature is still in active development, the company notes in its help documentation, but is expected to ship in a more finalized state in the Ghost 6.0 release.
When Ghost Pro users connect their blog or newsletter to the fediverse, others across the open social web will be able to follow their account’s handle.
This handle is a combination of “@index,” representing the home page of the publication, followed by the domain name (@yoursite.com).
Ghost says users will soon be able to customize the @index part of their @index@yoursite.com handle.
Users on federated apps will then be able to follow the Ghost publisher’s posts, as well as interact with them by liking, replying, or reposting.
To help Ghost publishers also participate in the fediverse and build their readership,
Ghost also launched a social web reader.
Here, users can browse a “feed” of the short-form content shared across the fediverse, including posts from services like Mastodon and Threads.
In a separate area called the “Inbox,” Ghost users can keep up with long-form content, like articles published on Ghost or WordPress, the popular publishing platform that integrated with the fediverse in 2023.
“Think of the Inbox screen like your email inbox. When you follow other publications on the social web, new articles they publish will show up here,” Ghost’s help page explains.
“Clicking on a post will open an inline reader view, right inside Ghost,
and when you get to the end you’ll be able to like, repost or reply.”
With the integration of these two feeds into Ghost’s admin, Ghost will also now allow its publishers to directly post short-form content to the fediverse, helping them to build their reputation and following on the open social web.
Ghost’s Reader also alerts users of interactions like follows, replies, likes, and reposts in its “Notifications” section.
Plus, users can customize their Profile page to offer a preview of their social web account,
following/followers, and their content, both short and long-form.
Later, the company hopes to more deeply integrate users’ social web profiles with Ghost memberships,
but for now, they operate independently from one another.
Other coming features include tools to block, report, and mute people or add images or media to notes and replies.
https://techcrunch.com/2025/03/19/substack-rival-ghost-is-now-connected-to-the-fediverse/
@WeirdWriter@caneandable.social
Hey all, the easiest way I can find #Ghost blogs using #ActivityPub is to search for @index and you will get some Friendica results, etc, but for now, that should be a sure way to find almost all the blogs that have enabled this feature so far. I couldn't tell if replies appear as comments, so if you don't want your comments on their blog, don't reply to their fediverse posts. A few told me they can see my comments on their dashboard but I don't know what that means. #FediTips #Fediverse
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Coming soon in #Fedify 1.5.0: Smart fan-out for efficient activity delivery!
After getting feedback about our queue design, we're excited to introduce a significant improvement for accounts with large follower counts.
As we discussed in our previous post, Fedify currently creates separate queue messages for each recipient. While this approach offers excellent reliability and individual retry capabilities, it causes performance issues when sending activities to thousands of followers.
Our solution? A new two-stage “fan-out” approach:
Context.sendActivity()
, we'll now enqueue just one consolidated message containing your activity payload and recipient listThe benefits are substantial:
Context.sendActivity()
returns almost instantly, even for massive follower countsFor developers with specific needs, we're adding a fanout
option with three settings:
"auto"
(default): Uses fanout for large recipient lists, direct delivery for small ones"skip"
: Bypasses fanout when you need different payload per recipient"force"
: Always uses fanout even with few recipients// Example with custom fanout setting
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "skip" } // Directly enqueues individual messages
);
This change represents months of performance testing and should make Fedify work beautifully even for extremely popular accounts!
For more details, check out our docs.
What other #performance optimizations would you like to see in future Fedify releases?
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Coming soon in #Fedify 1.5.0: Smart fan-out for efficient activity delivery!
After getting feedback about our queue design, we're excited to introduce a significant improvement for accounts with large follower counts.
As we discussed in our previous post, Fedify currently creates separate queue messages for each recipient. While this approach offers excellent reliability and individual retry capabilities, it causes performance issues when sending activities to thousands of followers.
Our solution? A new two-stage “fan-out” approach:
Context.sendActivity()
, we'll now enqueue just one consolidated message containing your activity payload and recipient listThe benefits are substantial:
Context.sendActivity()
returns almost instantly, even for massive follower countsFor developers with specific needs, we're adding a fanout
option with three settings:
"auto"
(default): Uses fanout for large recipient lists, direct delivery for small ones"skip"
: Bypasses fanout when you need different payload per recipient"force"
: Always uses fanout even with few recipients// Example with custom fanout setting
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "skip" } // Directly enqueues individual messages
);
This change represents months of performance testing and should make Fedify work beautifully even for extremely popular accounts!
For more details, check out our docs.
What other #performance optimizations would you like to see in future Fedify releases?
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@steve@social.technoetic.com · Reply to Steve Bate's post
Announcing Jaseur, an #ActivityPub server in C++, written by AI agents. Still in the early stages, but it already has several interesting features. See the git repo for more details.
@steve@social.technoetic.com · Reply to Steve Bate's post
Announcing Jaseur, an #ActivityPub server in C++, written by AI agents. Still in the early stages, but it already has several interesting features. See the git repo for more details.
@pfefferle@mastodon.social
I am just back from an awesome #hackathon at the #cloudfest
We had three days to work on Federated (#WordPress) Events, you can find our results on that lovely page: https://fedivents.blog/
Thanks especially to @linos for his awesome work with the Event Bridge: https://wordpress.org/plugins/event-bridge-for-activitypub/
...and to @heiglandreas for pitching and leading the project!
@johnonolan the team came up with the puppies without any knowledge of your newsletter, so this must be really a thing!
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@pfefferle@mastodon.social
I am just back from an awesome #hackathon at the #cloudfest
We had three days to work on Federated (#WordPress) Events, you can find our results on that lovely page: https://fedivents.blog/
Thanks especially to @linos for his awesome work with the Event Bridge: https://wordpress.org/plugins/event-bridge-for-activitypub/
...and to @heiglandreas for pitching and leading the project!
@johnonolan the team came up with the puppies without any knowledge of your newsletter, so this must be really a thing!
@pfefferle@mastodon.social
I am just back from an awesome #hackathon at the #cloudfest
We had three days to work on Federated (#WordPress) Events, you can find our results on that lovely page: https://fedivents.blog/
Thanks especially to @linos for his awesome work with the Event Bridge: https://wordpress.org/plugins/event-bridge-for-activitypub/
...and to @heiglandreas for pitching and leading the project!
@johnonolan the team came up with the puppies without any knowledge of your newsletter, so this must be really a thing!
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Coming soon in #Fedify 1.5.0: Smart fan-out for efficient activity delivery!
After getting feedback about our queue design, we're excited to introduce a significant improvement for accounts with large follower counts.
As we discussed in our previous post, Fedify currently creates separate queue messages for each recipient. While this approach offers excellent reliability and individual retry capabilities, it causes performance issues when sending activities to thousands of followers.
Our solution? A new two-stage “fan-out” approach:
Context.sendActivity()
, we'll now enqueue just one consolidated message containing your activity payload and recipient listThe benefits are substantial:
Context.sendActivity()
returns almost instantly, even for massive follower countsFor developers with specific needs, we're adding a fanout
option with three settings:
"auto"
(default): Uses fanout for large recipient lists, direct delivery for small ones"skip"
: Bypasses fanout when you need different payload per recipient"force"
: Always uses fanout even with few recipients// Example with custom fanout setting
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "skip" } // Directly enqueues individual messages
);
This change represents months of performance testing and should make Fedify work beautifully even for extremely popular accounts!
For more details, check out our docs.
What other #performance optimizations would you like to see in future Fedify releases?
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Coming soon in #Fedify 1.5.0: Smart fan-out for efficient activity delivery!
After getting feedback about our queue design, we're excited to introduce a significant improvement for accounts with large follower counts.
As we discussed in our previous post, Fedify currently creates separate queue messages for each recipient. While this approach offers excellent reliability and individual retry capabilities, it causes performance issues when sending activities to thousands of followers.
Our solution? A new two-stage “fan-out” approach:
Context.sendActivity()
, we'll now enqueue just one consolidated message containing your activity payload and recipient listThe benefits are substantial:
Context.sendActivity()
returns almost instantly, even for massive follower countsFor developers with specific needs, we're adding a fanout
option with three settings:
"auto"
(default): Uses fanout for large recipient lists, direct delivery for small ones"skip"
: Bypasses fanout when you need different payload per recipient"force"
: Always uses fanout even with few recipients// Example with custom fanout setting
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "skip" } // Directly enqueues individual messages
);
This change represents months of performance testing and should make Fedify work beautifully even for extremely popular accounts!
For more details, check out our docs.
What other #performance optimizations would you like to see in future Fedify releases?
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@elena@aseachange.com
🏕️ my adventures in #selfhosting - day 93 ✨
Thanks to the brilliant advice of @CyberSaloperie I have found an easy-to-implement, no sweat solution for my redirect issue. I am about to create a test subdomain with #YunoHost to try it out before I make the real switch (from my current Ghost blog to the new, self-hosted one).
Maybe tomorrow I'll share with you the URL of my self-hosted Ghost blog if you want to try things out? 🙈 I have already imported my existing members, I'm ready to go 🚀
And yes, I'm fully aware the timing of my switch (from a Ghost Pro plan to self-hosted) is odd, considering Ghost Pro accounts are now part of the Fediverse. It's just that I couldn't justify spending so much ($31/month) on a free, non-monetized blog that I am capable of self-hosting. It's 6x the cost of my Debian or Ubuntu VPS.
And I kept getting close to the edge of 1000 members, which would have increased my monthly payments. Now I don't have to stress out about getting new readers. From what I understand #ActivityPub followers count as members for Ghost, so someone who gets a sizable following on their federated Ghost site would have to pay more.
I'm sure many people will love this feature (it's fantastic!) but it's not for me. I already have 3 federated Wordpress blogs and too many ActivityPub profiles as it is 🙃
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Coming soon in #Fedify 1.5.0: Smart fan-out for efficient activity delivery!
After getting feedback about our queue design, we're excited to introduce a significant improvement for accounts with large follower counts.
As we discussed in our previous post, Fedify currently creates separate queue messages for each recipient. While this approach offers excellent reliability and individual retry capabilities, it causes performance issues when sending activities to thousands of followers.
Our solution? A new two-stage “fan-out” approach:
Context.sendActivity()
, we'll now enqueue just one consolidated message containing your activity payload and recipient listThe benefits are substantial:
Context.sendActivity()
returns almost instantly, even for massive follower countsFor developers with specific needs, we're adding a fanout
option with three settings:
"auto"
(default): Uses fanout for large recipient lists, direct delivery for small ones"skip"
: Bypasses fanout when you need different payload per recipient"force"
: Always uses fanout even with few recipients// Example with custom fanout setting
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "skip" } // Directly enqueues individual messages
);
This change represents months of performance testing and should make Fedify work beautifully even for extremely popular accounts!
For more details, check out our docs.
What other #performance optimizations would you like to see in future Fedify releases?
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@obenland@mastodon.social
ActivityPub 5.5.0 for WordPress is here! 🚀
This update brings a ton of improvements, including a first step toward supporting Moves from Mastodon to WordPress—big things ahead!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Coming soon in #Fedify 1.5.0: Smart fan-out for efficient activity delivery!
After getting feedback about our queue design, we're excited to introduce a significant improvement for accounts with large follower counts.
As we discussed in our previous post, Fedify currently creates separate queue messages for each recipient. While this approach offers excellent reliability and individual retry capabilities, it causes performance issues when sending activities to thousands of followers.
Our solution? A new two-stage “fan-out” approach:
Context.sendActivity()
, we'll now enqueue just one consolidated message containing your activity payload and recipient listThe benefits are substantial:
Context.sendActivity()
returns almost instantly, even for massive follower countsFor developers with specific needs, we're adding a fanout
option with three settings:
"auto"
(default): Uses fanout for large recipient lists, direct delivery for small ones"skip"
: Bypasses fanout when you need different payload per recipient"force"
: Always uses fanout even with few recipients// Example with custom fanout setting
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "skip" } // Directly enqueues individual messages
);
This change represents months of performance testing and should make Fedify work beautifully even for extremely popular accounts!
For more details, check out our docs.
What other #performance optimizations would you like to see in future Fedify releases?
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Coming soon in #Fedify 1.5.0: Smart fan-out for efficient activity delivery!
After getting feedback about our queue design, we're excited to introduce a significant improvement for accounts with large follower counts.
As we discussed in our previous post, Fedify currently creates separate queue messages for each recipient. While this approach offers excellent reliability and individual retry capabilities, it causes performance issues when sending activities to thousands of followers.
Our solution? A new two-stage “fan-out” approach:
Context.sendActivity()
, we'll now enqueue just one consolidated message containing your activity payload and recipient listThe benefits are substantial:
Context.sendActivity()
returns almost instantly, even for massive follower countsFor developers with specific needs, we're adding a fanout
option with three settings:
"auto"
(default): Uses fanout for large recipient lists, direct delivery for small ones"skip"
: Bypasses fanout when you need different payload per recipient"force"
: Always uses fanout even with few recipients// Example with custom fanout setting
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "skip" } // Directly enqueues individual messages
);
This change represents months of performance testing and should make Fedify work beautifully even for extremely popular accounts!
For more details, check out our docs.
What other #performance optimizations would you like to see in future Fedify releases?
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Coming soon in #Fedify 1.5.0: Smart fan-out for efficient activity delivery!
After getting feedback about our queue design, we're excited to introduce a significant improvement for accounts with large follower counts.
As we discussed in our previous post, Fedify currently creates separate queue messages for each recipient. While this approach offers excellent reliability and individual retry capabilities, it causes performance issues when sending activities to thousands of followers.
Our solution? A new two-stage “fan-out” approach:
Context.sendActivity()
, we'll now enqueue just one consolidated message containing your activity payload and recipient listThe benefits are substantial:
Context.sendActivity()
returns almost instantly, even for massive follower countsFor developers with specific needs, we're adding a fanout
option with three settings:
"auto"
(default): Uses fanout for large recipient lists, direct delivery for small ones"skip"
: Bypasses fanout when you need different payload per recipient"force"
: Always uses fanout even with few recipients// Example with custom fanout setting
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "skip" } // Directly enqueues individual messages
);
This change represents months of performance testing and should make Fedify work beautifully even for extremely popular accounts!
For more details, check out our docs.
What other #performance optimizations would you like to see in future Fedify releases?
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@grishka@mastodon.social
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@cdarwin@c.im
Newsletter platform #Ghost, an open source competitor to #Substack, is now connected to the fediverse, also known as the open social web.
Federated apps run on the protocol #ActivityPub, which powers apps like Mastodon, Pixelfed, Threads, Flipboard, and others,
allowing posts published on one app to be seen and engaged with by those on other federated platforms.
Ghost said last year that it was working on an integration with ActivityPub, which would allow its publishers to share their blog posts with the broader open social web.
The company expected the integrations to go live last year. However, Ghost this week announced the launch of its social web beta, which now allows any site running on its Ghost Pro subscription to try out the new ActivityPub integration.
The beta feature is still in active development, the company notes in its help documentation, but is expected to ship in a more finalized state in the Ghost 6.0 release.
When Ghost Pro users connect their blog or newsletter to the fediverse, others across the open social web will be able to follow their account’s handle.
This handle is a combination of “@index,” representing the home page of the publication, followed by the domain name (@yoursite.com).
Ghost says users will soon be able to customize the @index part of their @index@yoursite.com handle.
Users on federated apps will then be able to follow the Ghost publisher’s posts, as well as interact with them by liking, replying, or reposting.
To help Ghost publishers also participate in the fediverse and build their readership,
Ghost also launched a social web reader.
Here, users can browse a “feed” of the short-form content shared across the fediverse, including posts from services like Mastodon and Threads.
In a separate area called the “Inbox,” Ghost users can keep up with long-form content, like articles published on Ghost or WordPress, the popular publishing platform that integrated with the fediverse in 2023.
“Think of the Inbox screen like your email inbox. When you follow other publications on the social web, new articles they publish will show up here,” Ghost’s help page explains.
“Clicking on a post will open an inline reader view, right inside Ghost,
and when you get to the end you’ll be able to like, repost or reply.”
With the integration of these two feeds into Ghost’s admin, Ghost will also now allow its publishers to directly post short-form content to the fediverse, helping them to build their reputation and following on the open social web.
Ghost’s Reader also alerts users of interactions like follows, replies, likes, and reposts in its “Notifications” section.
Plus, users can customize their Profile page to offer a preview of their social web account,
following/followers, and their content, both short and long-form.
Later, the company hopes to more deeply integrate users’ social web profiles with Ghost memberships,
but for now, they operate independently from one another.
Other coming features include tools to block, report, and mute people or add images or media to notes and replies.
https://techcrunch.com/2025/03/19/substack-rival-ghost-is-now-connected-to-the-fediverse/
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@mapache@hachyderm.io · Reply to Maho Pacheco 🦝🍻's post
I gave a little bit of thinking on the changes I want to do to #badgefed before making my server public.
The one who emits the badges, is a #fediverse actor, this should be no controversial, after all, I use the public/private keys to sign the badges itself.
But in the first prototype the recipient of the grant, was a record in the system itself. The idea was to allow recipients outside the fediverse to receive badges as well. I did not wanted to store the email, so I required a profile url, think of your fediverse url, or for those outside #linkedin, #blog, even #facebook if they want. However, it gets things a little bit more complex and less clean than what I want.
Today, I decided that the recipient MUST be an actor of the #Fediverse. That is, it, that will be embedded as a mention, and should be clean and neat. For those who are not in the fediverse, #badgefed will provide an actor (and profile url) where they can add basic information such name, and bio links. Or they can create an account in any of the fediverse platforms at the moment of receiving the badge.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@omi_geek@mstdn.jp
I wonder if Ghost.org pro users are also eligible for Starter plan users. I'd like to test the #activitypub support.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've been working on adding custom background task support to #Fedify as planned for version 1.5.0. After diving deeper into implementation, we've realized this is a more substantial undertaking than initially anticipated.
The feature would require significant API changes that would be too disruptive for a minor version update. Therefore, we've decided to postpone this feature to Fedify 2.0.0.
This allows us to:
We believe this decision will result in a more stable and well-designed feature that better serves your needs. However, some smaller improvements from our work that don't require API changes will still be included in Fedify 1.5.0 or subsequent minor updates.
We appreciate your understanding and continued support.
If you have specific use cases or requirements for background task support, please share them in our GitHub issue. Your input will help shape this feature for 2.0.0.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've been working on adding custom background task support to #Fedify as planned for version 1.5.0. After diving deeper into implementation, we've realized this is a more substantial undertaking than initially anticipated.
The feature would require significant API changes that would be too disruptive for a minor version update. Therefore, we've decided to postpone this feature to Fedify 2.0.0.
This allows us to:
We believe this decision will result in a more stable and well-designed feature that better serves your needs. However, some smaller improvements from our work that don't require API changes will still be included in Fedify 1.5.0 or subsequent minor updates.
We appreciate your understanding and continued support.
If you have specific use cases or requirements for background task support, please share them in our GitHub issue. Your input will help shape this feature for 2.0.0.
@pfefferle@mastodon.social
we just released version 5.5.0 of the #WordPress #ActivityPub plugin https://github.com/Automattic/wordpress-activitypub/releases/tag/5.5.0
@pfefferle@mastodon.social
we just released version 5.5.0 of the #WordPress #ActivityPub plugin https://github.com/Automattic/wordpress-activitypub/releases/tag/5.5.0
@pfefferle@mastodon.social
we just released version 5.5.0 of the #WordPress #ActivityPub plugin https://github.com/Automattic/wordpress-activitypub/releases/tag/5.5.0
@hongminhee@hollo.social
Getting back to #Fedify development today! Working on optimizing the outgoing activity queue to improve response times. Currently focusing on reducing latency when sending posts to large follower counts—should make the whole publishing experience feel much snappier.
@hongminhee@hollo.social
Getting back to #Fedify development today! Working on optimizing the outgoing activity queue to improve response times. Currently focusing on reducing latency when sending posts to large follower counts—should make the whole publishing experience feel much snappier.
@pfefferle@mastodon.social
we just released version 5.5.0 of the #WordPress #ActivityPub plugin https://github.com/Automattic/wordpress-activitypub/releases/tag/5.5.0
@pfefferle@mastodon.social
we just released version 5.5.0 of the #WordPress #ActivityPub plugin https://github.com/Automattic/wordpress-activitypub/releases/tag/5.5.0
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've been working on adding custom background task support to #Fedify as planned for version 1.5.0. After diving deeper into implementation, we've realized this is a more substantial undertaking than initially anticipated.
The feature would require significant API changes that would be too disruptive for a minor version update. Therefore, we've decided to postpone this feature to Fedify 2.0.0.
This allows us to:
We believe this decision will result in a more stable and well-designed feature that better serves your needs. However, some smaller improvements from our work that don't require API changes will still be included in Fedify 1.5.0 or subsequent minor updates.
We appreciate your understanding and continued support.
If you have specific use cases or requirements for background task support, please share them in our GitHub issue. Your input will help shape this feature for 2.0.0.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've been working on adding custom background task support to #Fedify as planned for version 1.5.0. After diving deeper into implementation, we've realized this is a more substantial undertaking than initially anticipated.
The feature would require significant API changes that would be too disruptive for a minor version update. Therefore, we've decided to postpone this feature to Fedify 2.0.0.
This allows us to:
We believe this decision will result in a more stable and well-designed feature that better serves your needs. However, some smaller improvements from our work that don't require API changes will still be included in Fedify 1.5.0 or subsequent minor updates.
We appreciate your understanding and continued support.
If you have specific use cases or requirements for background task support, please share them in our GitHub issue. Your input will help shape this feature for 2.0.0.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've been working on adding custom background task support to #Fedify as planned for version 1.5.0. After diving deeper into implementation, we've realized this is a more substantial undertaking than initially anticipated.
The feature would require significant API changes that would be too disruptive for a minor version update. Therefore, we've decided to postpone this feature to Fedify 2.0.0.
This allows us to:
We believe this decision will result in a more stable and well-designed feature that better serves your needs. However, some smaller improvements from our work that don't require API changes will still be included in Fedify 1.5.0 or subsequent minor updates.
We appreciate your understanding and continued support.
If you have specific use cases or requirements for background task support, please share them in our GitHub issue. Your input will help shape this feature for 2.0.0.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
Patch releases for #Fedify versions 1.0.21, 1.1.18, 1.2.18, 1.3.14, and 1.4.7 are now available. These updates address two important bugs across all supported release lines:
acct:
URIs with port numbers in the host. Thanks to @revathskumar for reporting and debugging the bug!base-url
parameter of followers collections.We recommend all users upgrade to these latest patch versions for improved stability and federation compatibility.
@fedify@hollo.social
Patch releases for #Fedify versions 1.0.21, 1.1.18, 1.2.18, 1.3.14, and 1.4.7 are now available. These updates address two important bugs across all supported release lines:
acct:
URIs with port numbers in the host. Thanks to @revathskumar for reporting and debugging the bug!base-url
parameter of followers collections.We recommend all users upgrade to these latest patch versions for improved stability and federation compatibility.
@fedify@hollo.social
Patch releases for #Fedify versions 1.0.21, 1.1.18, 1.2.18, 1.3.14, and 1.4.7 are now available. These updates address two important bugs across all supported release lines:
acct:
URIs with port numbers in the host. Thanks to @revathskumar for reporting and debugging the bug!base-url
parameter of followers collections.We recommend all users upgrade to these latest patch versions for improved stability and federation compatibility.
@deadsuperhero@social.wedistribute.org
I’ve shifted my personal blog over to Ghost, and I’m testing out #ActivityPub integration!
You can follow me at: @index
@fedify@hollo.social
Patch releases for #Fedify versions 1.0.21, 1.1.18, 1.2.18, 1.3.14, and 1.4.7 are now available. These updates address two important bugs across all supported release lines:
acct:
URIs with port numbers in the host. Thanks to @revathskumar for reporting and debugging the bug!base-url
parameter of followers collections.We recommend all users upgrade to these latest patch versions for improved stability and federation compatibility.
@fedify@hollo.social
Patch releases for #Fedify versions 1.0.21, 1.1.18, 1.2.18, 1.3.14, and 1.4.7 are now available. These updates address two important bugs across all supported release lines:
acct:
URIs with port numbers in the host. Thanks to @revathskumar for reporting and debugging the bug!base-url
parameter of followers collections.We recommend all users upgrade to these latest patch versions for improved stability and federation compatibility.
@deadsuperhero@social.wedistribute.org
I’ve shifted my personal blog over to Ghost, and I’m testing out #ActivityPub integration!
You can follow me at: @index
@obenland@mastodon.social
ActivityPub 5.5.0 for WordPress is here! 🚀
This update brings a ton of improvements, including a first step toward supporting Moves from Mastodon to WordPress—big things ahead!
@fediversereport@mastodon.social
New: Fediverse Report #108
This week's news:
- Ghost's (@index) connection to the #fediverse is now availabe in public beta for Ghost Pro users, with both an #ActivityPub connection to send long-form posts into the fediverse, and a reader app to read/comment/interact with the fediverse
- @anewsocial , the organisation that manages the bridge between the fediverse and #bluesky shared their upcoming plans
@fediversereport@mastodon.social
New: Fediverse Report #108
This week's news:
- Ghost's (@index) connection to the #fediverse is now availabe in public beta for Ghost Pro users, with both an #ActivityPub connection to send long-form posts into the fediverse, and a reader app to read/comment/interact with the fediverse
- @anewsocial , the organisation that manages the bridge between the fediverse and #bluesky shared their upcoming plans
@obenland@mastodon.social
ActivityPub 5.5.0 for WordPress is here! 🚀
This update brings a ton of improvements, including a first step toward supporting Moves from Mastodon to WordPress—big things ahead!
@steve@social.technoetic.com · Reply to Steve Bate's post
The latest update on the AI-generated #ActivityPub server in C++... it now supports publishing signed messages and actors can be configured to autorespond. One autoresponder will use a local LLM (ollama) to generate responses to direct messages. Overall, the experiment has been useful. The code is not the greatest, but it works, which really surprises me. However, I'm seeing the agent having more issues as the complexity of the code increases. I may need to step in and write some code myself. 😮
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@fediversereport@mastodon.social
New: Fediverse Report #108
This week's news:
- Ghost's (@index) connection to the #fediverse is now availabe in public beta for Ghost Pro users, with both an #ActivityPub connection to send long-form posts into the fediverse, and a reader app to read/comment/interact with the fediverse
- @anewsocial , the organisation that manages the bridge between the fediverse and #bluesky shared their upcoming plans
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@fediversereport@mastodon.social
New: Fediverse Report #108
This week's news:
- Ghost's (@index) connection to the #fediverse is now availabe in public beta for Ghost Pro users, with both an #ActivityPub connection to send long-form posts into the fediverse, and a reader app to read/comment/interact with the fediverse
- @anewsocial , the organisation that manages the bridge between the fediverse and #bluesky shared their upcoming plans
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
今回、@lqez さんの『我々のコードを求めて』というYouTubeに出演させていただき、#フェディバース、#ActivityPub、#Fedify、#Hollo 等についてお話させていただきました。日本語字幕が用意されていますので、FedifyやHolloの開発秘話などが気になる方はぜひご覧ください!
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@WeirdWriter@caneandable.social
Link at end but I love this article for it's shocked tone. I love how the more tech of the Fediverse can't possibly comprehend that there are people that honestly just want to be left the fuck alone. This whole article was written like the writer was astonished such a thing could exist and my sides are splitting from them realizing not everybody wants to talk to you. https://wedistribute.org/2025/03/website-league-island-networks/ #Fediverse #ActivityPub #privacy
@BeAware@mementomori.social · Reply to Kyle Gaywood's post
@Plasticbluemusic 👆👆👆(maybe this will help)
@fediversereport@mastodon.social
New: Fediverse Report #108
This week's news:
- Ghost's (@index) connection to the #fediverse is now availabe in public beta for Ghost Pro users, with both an #ActivityPub connection to send long-form posts into the fediverse, and a reader app to read/comment/interact with the fediverse
- @anewsocial , the organisation that manages the bridge between the fediverse and #bluesky shared their upcoming plans
@fediversereport@mastodon.social
New: Fediverse Report #108
This week's news:
- Ghost's (@index) connection to the #fediverse is now availabe in public beta for Ghost Pro users, with both an #ActivityPub connection to send long-form posts into the fediverse, and a reader app to read/comment/interact with the fediverse
- @anewsocial , the organisation that manages the bridge between the fediverse and #bluesky shared their upcoming plans
@fediversereport@mastodon.social
New: Fediverse Report #108
This week's news:
- Ghost's (@index) connection to the #fediverse is now availabe in public beta for Ghost Pro users, with both an #ActivityPub connection to send long-form posts into the fediverse, and a reader app to read/comment/interact with the fediverse
- @anewsocial , the organisation that manages the bridge between the fediverse and #bluesky shared their upcoming plans
@simounet@mastodon.simounet.net
Can't find any reference about what I have to return on a Create Note (comment) activity.
- Is status code 200 enough?
- should I return an Accept Activity with the Request in it?
ping @pfefferle maybe? 😅
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@hongminhee@hollo.social
이番에 @lqez 님의 《우리의 코드를 찾아서》에 出演하여 #페디버스, #ActivityPub, #Fedify, #Hollo 等에 關해 이야기를 나눴습니다. Fedify와 Hollo의 開發 祕話 같은 게 궁금하시다면 한 番 보셔도 재밌을지도 모르겠습니다. ㅎㅎㅎ
@box464@mastodon.social
Good overview of JSON-LD
@surf@flipboard.social
Well, it’s a lucky day 🍀. Our latest update contains a pot o’ gold for the Bluesky community especially. Take a look at what’s in this release, including linking your Bluesky account to Surf, a new Home Timeline that unifies your Bluesky and Mastodon, and Bluesky notifications in our app. 🦋
#bluesky #mastodon #ATProtocol #activitypub #customfeeds #timeline
@surf@flipboard.social
Well, it’s a lucky day 🍀. Our latest update contains a pot o’ gold for the Bluesky community especially. Take a look at what’s in this release, including linking your Bluesky account to Surf, a new Home Timeline that unifies your Bluesky and Mastodon, and Bluesky notifications in our app. 🦋
#bluesky #mastodon #ATProtocol #activitypub #customfeeds #timeline
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@surf@flipboard.social
Well, it’s a lucky day 🍀. Our latest update contains a pot o’ gold for the Bluesky community especially. Take a look at what’s in this release, including linking your Bluesky account to Surf, a new Home Timeline that unifies your Bluesky and Mastodon, and Bluesky notifications in our app. 🦋
#bluesky #mastodon #ATProtocol #activitypub #customfeeds #timeline
@surf@flipboard.social
Well, it’s a lucky day 🍀. Our latest update contains a pot o’ gold for the Bluesky community especially. Take a look at what’s in this release, including linking your Bluesky account to Surf, a new Home Timeline that unifies your Bluesky and Mastodon, and Bluesky notifications in our app. 🦋
#bluesky #mastodon #ATProtocol #activitypub #customfeeds #timeline
@j12t@j12t.social
Ghost has made ActivityPub available to all of its Pro subscribers.
Interesting how they name and describe it:
"Social Web - y/n
Federate your site with ActivityPub to join the world's largest open network"
https://activitypub.ghost.org/content/images/size/w1600/2025/03/activitypub-beta-1.png
@miaq@flipboard.social
Who are the finest #community builders in the #activitypub ecosystem, in your opinion?
@miaq@flipboard.social
Who are the finest #community builders in the #activitypub ecosystem, in your opinion?
@miaq@flipboard.social
Who are the finest #community builders in the #activitypub ecosystem, in your opinion?
@miaq@flipboard.social
Who are the finest #community builders in the #activitypub ecosystem, in your opinion?
@j12t@j12t.social
Ghost has made ActivityPub available to all of its Pro subscribers.
Interesting how they name and describe it:
"Social Web - y/n
Federate your site with ActivityPub to join the world's largest open network"
https://activitypub.ghost.org/content/images/size/w1600/2025/03/activitypub-beta-1.png
@j12t@j12t.social
Ghost has made ActivityPub available to all of its Pro subscribers.
Interesting how they name and describe it:
"Social Web - y/n
Federate your site with ActivityPub to join the world's largest open network"
https://activitypub.ghost.org/content/images/size/w1600/2025/03/activitypub-beta-1.png
@miaq@flipboard.social
Who are the finest #community builders in the #activitypub ecosystem, in your opinion?
@steve@social.technoetic.com · Reply to Steve Bate's post
The AI agent-developed C++ #ActivityPub server now has about 2000 SLOC (all written by AI) and can process Follow/Accept and Create/Note (inbox/federated) and Create/Note delivery (outbox/C2S) with HTTP signatures and a good set of unit tests. Having the AI write unit tests has been key because it often creates regressions when adding features. The agents do a surprisingly good job of diagnosing compiler and unit test failures and fixing the problem automatically.
@openrisk@mastodon.social
The Venn diagram of the protocol wars between #activitypub and #atproto and thinking of a day that #Twitter will stop being the benchmark of success for decentralized social media platforms.
@openrisk@mastodon.social
The Venn diagram of the protocol wars between #activitypub and #atproto and thinking of a day that #Twitter will stop being the benchmark of success for decentralized social media platforms.
@hongminhee@fosstodon.org
I'm trying to #build a blogging, question-answering, and news site for software engineers, which is #ActivityPub enabled. What should I name it? (The options below are just the ones available to buy a domain.)
Other ideas are also welcome!
Option | Voters |
---|---|
Hackers Pub | 0 (0%) |
Techies Pub | 0 (0%) |
Coders Haus | 0 (0%) |
Techies Haus | 0 (0%) |
@Flipboard@flipboard.social · Reply to Flipboard's post
“The Fediverse Isn’t the Future. It’s the Present We’ve Been Denied.” Here’s yet another brilliant feature by @Daojoan. “The fediverse won’t succeed just because it’s better. It will succeed if and only if people choose it. If they reject the idea that being trapped in someone else’s ecosystem is just the cost of existing online. If they stop believing that “free” means surrendering ownership of your own connections, your own history, your own data. If they see that the internet wasn’t built to be a factory for engagement metrics and AI-generated content farms. It was built to connect us, not silo us to pad a wealth-extremist’s bank account,” she writes.
https://www.joanwestenberg.com/the-fediverse-isnt-the-future-its-the-present-weve-been-denied
#Fediverse #ActivityPub #DigitalSovereignty #JoanWestenberg #OpenSocialWeb #WalledGardens #Newstodon #NewstodonFriday #FollowFriday
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@taoeffect@crib.social · Reply to Greg Slepak's post
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@jim@social.openrightsgroup.org
Looking at Solid Project: Can anyone give an overview of how this fits together with or complements ActivityPub?
@jim@social.openrightsgroup.org
Looking at Solid Project: Can anyone give an overview of how this fits together with or complements ActivityPub?
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@mapache@hachyderm.io
UPDATE: A blog (that is federated) was created for communicate the progress, follow @badgefed
--
I am creating a #ActivityPub minimalistic implementation of a badge system similar to Credly, built using #dotnet and leveraging the #Fediverse
I have issued a first badge, the idea is to decentralize the verification systems, and allow organizations to self-certify. It is incredible that organizations like Microsoft or Non-Profits pay thousands of dollars to companies like Pearson to just provide "verified" badges. Similar to mastodons installed in social-dot-something, thinkg of badges<dot> mozilla<dot>com , certifications<dot>myschooldistrict<dot>com. Or even a podcast emitting a badge for its guests, with the verification in the domain.
ActivityPub already offers a secure way to sign artifacts and interact between actors. The fediverse already have people with profiles, a social graph as @mike says, ready to use. Think of how LetsEncrypt disrupted that market of few actors selling certificates for websites.
I have a functional poc,
@fediverse is not a mastodon, pledora or blog, it is an actor in a badge system, but you can follow it in Mastodon. Its badges will show in #mastodon but they are not notes or articles. If you want to learn more, follow me, I will be sharing the progress here. Or follow the github project here: https://github.com/tryvocalcat/activitypub-badges
Who wants a badge of early adopter?
@weekinfediverse@mitra.social
Servers
- Mitra v3.19.0
- Mastodon v4.3.6
- GoToSocial v0.18.2
- Pleroma v2.9.1
- tootik v0.15.4
- Misskey v2025.3.1
- Gancio v1.24.4
- NeoDB v0.11.5.1
- kmyblue v17.3
- NodeBB v4.1.1
- Vernissage Server v1.4.0
- Trunk & Tidbits, February 2025 (Mastodon)
- Actually, I take that back (Ghost)
- Gush! - A federated social media platform for sharing the things you love
- Forte: Nomadic fediverse server
- Merp Relay: Lightweight Fediverse message relay
Clients
- SubwayTooter v5.549
- Fedilab v3.30.1
- Mastodon for Android v2.9.5
- Impressia v3.1.0
- Voyager v2.25.0
- Phanpy changelog
Tools and Plugins
- PeerTube livechat plugin v12.0.3
For developers
- ActivityPods v2.1.0
- Granary v8.1
- Roboherd: A framework for building Fediverse bots
Protocol
- Activity Streams/Primer/Tombstone type
Articles
- Why Content Creators should consider the Fediverse
- Mastodon to GoToSocial Migration
- Fediverse Report #107
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01957251-017a-d6e9-a72a-7e34ac1e1a86
@steve@social.technoetic.com
I've been playing with the experimental GitHub Copilot agent mode in vscode. I've asked it to start from an empty directory and create an #ActivityPub server in C++, directed only by prompts (no human coding). So far, it has created a C++ project and implemented WebFinger, resource persistence, resource retrieval and a decent set of unit tests. At this point, Mastodon is able to discover our actors. The AI is currently implementing Follow processing. I'm curious to learn how far I can push this.
@mho@social.heise.de
In the @newyorktimes: 👏🏼
"#ActivityPub has also led to a wave of start-up efforts such as #Mastodon, a microblogging service that now has more than 14 million accounts connected by a network of over 14,000 host computers, as well as start-ups like #Pixelfed and #PeerTube, distributed services that offer features similar to #Instagram and #YouTube."
A Long-Shot Bet to Bypass the Middlemen of #SocialMedia
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
@vocalcat@mastodon.social
What are you doing? Testing a Badge System built on #activitypub and the #fediverse empowering communities to issue and verify badges in a federated, open way, or what are you doing?
@weekinfediverse@mitra.social
Servers
- Mitra v3.19.0
- Mastodon v4.3.6
- GoToSocial v0.18.2
- Pleroma v2.9.1
- tootik v0.15.4
- Misskey v2025.3.1
- Gancio v1.24.4
- NeoDB v0.11.5.1
- kmyblue v17.3
- NodeBB v4.1.1
- Vernissage Server v1.4.0
- Trunk & Tidbits, February 2025 (Mastodon)
- Actually, I take that back (Ghost)
- Gush! - A federated social media platform for sharing the things you love
- Forte: Nomadic fediverse server
- Merp Relay: Lightweight Fediverse message relay
Clients
- SubwayTooter v5.549
- Fedilab v3.30.1
- Mastodon for Android v2.9.5
- Impressia v3.1.0
- Voyager v2.25.0
- Phanpy changelog
Tools and Plugins
- PeerTube livechat plugin v12.0.3
For developers
- ActivityPods v2.1.0
- Granary v8.1
- Roboherd: A framework for building Fediverse bots
Protocol
- Activity Streams/Primer/Tombstone type
Articles
- Why Content Creators should consider the Fediverse
- Mastodon to GoToSocial Migration
- Fediverse Report #107
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01957251-017a-d6e9-a72a-7e34ac1e1a86
@mho@social.heise.de
In the @newyorktimes: 👏🏼
"#ActivityPub has also led to a wave of start-up efforts such as #Mastodon, a microblogging service that now has more than 14 million accounts connected by a network of over 14,000 host computers, as well as start-ups like #Pixelfed and #PeerTube, distributed services that offer features similar to #Instagram and #YouTube."
A Long-Shot Bet to Bypass the Middlemen of #SocialMedia
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
@paul@oldfriends.live
Shoutout to #FediMeteo @admin and @stefano for the #RSS and #ActivityPub #federated #weather service. Finally, a reliable weather tool across platforms.
A week or so ago I reached out and they added my community. Every time the new weather report post or RSS feed comes through, I appreciate it so much.
Thanks again! #WX #Fediverse
@weekinfediverse@mitra.social
Servers
- Mitra v3.19.0
- Mastodon v4.3.6
- GoToSocial v0.18.2
- Pleroma v2.9.1
- tootik v0.15.4
- Misskey v2025.3.1
- Gancio v1.24.4
- NeoDB v0.11.5.1
- kmyblue v17.3
- NodeBB v4.1.1
- Vernissage Server v1.4.0
- Trunk & Tidbits, February 2025 (Mastodon)
- Actually, I take that back (Ghost)
- Gush! - A federated social media platform for sharing the things you love
- Forte: Nomadic fediverse server
- Merp Relay: Lightweight Fediverse message relay
Clients
- SubwayTooter v5.549
- Fedilab v3.30.1
- Mastodon for Android v2.9.5
- Impressia v3.1.0
- Voyager v2.25.0
- Phanpy changelog
Tools and Plugins
- PeerTube livechat plugin v12.0.3
For developers
- ActivityPods v2.1.0
- Granary v8.1
- Roboherd: A framework for building Fediverse bots
Protocol
- Activity Streams/Primer/Tombstone type
Articles
- Why Content Creators should consider the Fediverse
- Mastodon to GoToSocial Migration
- Fediverse Report #107
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01957251-017a-d6e9-a72a-7e34ac1e1a86
@weekinfediverse@mitra.social
Servers
- Mitra v3.19.0
- Mastodon v4.3.6
- GoToSocial v0.18.2
- Pleroma v2.9.1
- tootik v0.15.4
- Misskey v2025.3.1
- Gancio v1.24.4
- NeoDB v0.11.5.1
- kmyblue v17.3
- NodeBB v4.1.1
- Vernissage Server v1.4.0
- Trunk & Tidbits, February 2025 (Mastodon)
- Actually, I take that back (Ghost)
- Gush! - A federated social media platform for sharing the things you love
- Forte: Nomadic fediverse server
- Merp Relay: Lightweight Fediverse message relay
Clients
- SubwayTooter v5.549
- Fedilab v3.30.1
- Mastodon for Android v2.9.5
- Impressia v3.1.0
- Voyager v2.25.0
- Phanpy changelog
Tools and Plugins
- PeerTube livechat plugin v12.0.3
For developers
- ActivityPods v2.1.0
- Granary v8.1
- Roboherd: A framework for building Fediverse bots
Protocol
- Activity Streams/Primer/Tombstone type
Articles
- Why Content Creators should consider the Fediverse
- Mastodon to GoToSocial Migration
- Fediverse Report #107
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01957251-017a-d6e9-a72a-7e34ac1e1a86
@weekinfediverse@mitra.social
Servers
- Mitra v3.19.0
- Mastodon v4.3.6
- GoToSocial v0.18.2
- Pleroma v2.9.1
- tootik v0.15.4
- Misskey v2025.3.1
- Gancio v1.24.4
- NeoDB v0.11.5.1
- kmyblue v17.3
- NodeBB v4.1.1
- Vernissage Server v1.4.0
- Trunk & Tidbits, February 2025 (Mastodon)
- Actually, I take that back (Ghost)
- Gush! - A federated social media platform for sharing the things you love
- Forte: Nomadic fediverse server
- Merp Relay: Lightweight Fediverse message relay
Clients
- SubwayTooter v5.549
- Fedilab v3.30.1
- Mastodon for Android v2.9.5
- Impressia v3.1.0
- Voyager v2.25.0
- Phanpy changelog
Tools and Plugins
- PeerTube livechat plugin v12.0.3
For developers
- ActivityPods v2.1.0
- Granary v8.1
- Roboherd: A framework for building Fediverse bots
Protocol
- Activity Streams/Primer/Tombstone type
Articles
- Why Content Creators should consider the Fediverse
- Mastodon to GoToSocial Migration
- Fediverse Report #107
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01957251-017a-d6e9-a72a-7e34ac1e1a86
@Flipboard@flipboard.social · Reply to Flipboard's post
Finally, our team had a wonderful time at #SXSW on Sunday and Monday, where Flipboard and @surf hosted the first #FediverseHouse. Our CEO @mike and the whole team are 100% #TeamFediverse, and were thrilled to meet and talk to so many other open social web advocates. Here’s a feature by @Markoff for @newyorktimes, where Mike, @Gargron and @reckless1280 discuss the rise of decentralized social media, and how it can help publishers and media companies survive and thrive.
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
#Fediverse #ActivityPub #OpenSocialWeb #Media #Journalism #Publishing #Newstodon #NewstodonFriday #FollowFriday
@Flipboard@flipboard.social · Reply to Flipboard's post
Finally, our team had a wonderful time at #SXSW on Sunday and Monday, where Flipboard and @surf hosted the first #FediverseHouse. Our CEO @mike and the whole team are 100% #TeamFediverse, and were thrilled to meet and talk to so many other open social web advocates. Here’s a feature by @Markoff for @newyorktimes, where Mike, @Gargron and @reckless1280 discuss the rise of decentralized social media, and how it can help publishers and media companies survive and thrive.
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
#Fediverse #ActivityPub #OpenSocialWeb #Media #Journalism #Publishing #Newstodon #NewstodonFriday #FollowFriday
@Flipboard@flipboard.social · Reply to Flipboard's post
Finally, our team had a wonderful time at #SXSW on Sunday and Monday, where Flipboard and @surf hosted the first #FediverseHouse. Our CEO @mike and the whole team are 100% #TeamFediverse, and were thrilled to meet and talk to so many other open social web advocates. Here’s a feature by @Markoff for @newyorktimes, where Mike, @Gargron and @reckless1280 discuss the rise of decentralized social media, and how it can help publishers and media companies survive and thrive.
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
#Fediverse #ActivityPub #OpenSocialWeb #Media #Journalism #Publishing #Newstodon #NewstodonFriday #FollowFriday
@Flipboard@flipboard.social · Reply to Flipboard's post
Finally, our team had a wonderful time at #SXSW on Sunday and Monday, where Flipboard and @surf hosted the first #FediverseHouse. Our CEO @mike and the whole team are 100% #TeamFediverse, and were thrilled to meet and talk to so many other open social web advocates. Here’s a feature by @Markoff for @newyorktimes, where Mike, @Gargron and @reckless1280 discuss the rise of decentralized social media, and how it can help publishers and media companies survive and thrive.
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
#Fediverse #ActivityPub #OpenSocialWeb #Media #Journalism #Publishing #Newstodon #NewstodonFriday #FollowFriday
@manyfold@3dp.chat
Well, this is very exciting... a Manyfold 3d viewer right in your timeline!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@Flipboard@flipboard.social · Reply to Flipboard's post
Finally, our team had a wonderful time at #SXSW on Sunday and Monday, where Flipboard and @surf hosted the first #FediverseHouse. Our CEO @mike and the whole team are 100% #TeamFediverse, and were thrilled to meet and talk to so many other open social web advocates. Here’s a feature by @Markoff for @newyorktimes, where Mike, @Gargron and @reckless1280 discuss the rise of decentralized social media, and how it can help publishers and media companies survive and thrive.
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
#Fediverse #ActivityPub #OpenSocialWeb #Media #Journalism #Publishing #Newstodon #NewstodonFriday #FollowFriday
@Flipboard@flipboard.social · Reply to Flipboard's post
Finally, our team had a wonderful time at #SXSW on Sunday and Monday, where Flipboard and @surf hosted the first #FediverseHouse. Our CEO @mike and the whole team are 100% #TeamFediverse, and were thrilled to meet and talk to so many other open social web advocates. Here’s a feature by @Markoff for @newyorktimes, where Mike, @Gargron and @reckless1280 discuss the rise of decentralized social media, and how it can help publishers and media companies survive and thrive.
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
#Fediverse #ActivityPub #OpenSocialWeb #Media #Journalism #Publishing #Newstodon #NewstodonFriday #FollowFriday
@Flipboard@flipboard.social · Reply to Flipboard's post
“The Fediverse Isn’t the Future. It’s the Present We’ve Been Denied.” Here’s yet another brilliant feature by @Daojoan. “The fediverse won’t succeed just because it’s better. It will succeed if and only if people choose it. If they reject the idea that being trapped in someone else’s ecosystem is just the cost of existing online. If they stop believing that “free” means surrendering ownership of your own connections, your own history, your own data. If they see that the internet wasn’t built to be a factory for engagement metrics and AI-generated content farms. It was built to connect us, not silo us to pad a wealth-extremist’s bank account,” she writes.
https://www.joanwestenberg.com/the-fediverse-isnt-the-future-its-the-present-weve-been-denied
#Fediverse #ActivityPub #DigitalSovereignty #JoanWestenberg #OpenSocialWeb #WalledGardens #Newstodon #NewstodonFriday #FollowFriday
@mapache@hachyderm.io
ActivityPub Badges, a minimalistic implementation of a badge system similar to Credly, but leveraging the ActivityPub protocol.
Name for a domain?
Option | Voters |
---|---|
BadgeForge | 7 (44%) |
BadgeFed | 7 (44%) |
Other (comments) | 2 (13%) |
@mapache@hachyderm.io
ActivityPub Badges, a minimalistic implementation of a badge system similar to Credly, but leveraging the ActivityPub protocol.
Name for a domain?
Option | Voters |
---|---|
BadgeForge | 7 (44%) |
BadgeFed | 7 (44%) |
Other (comments) | 2 (13%) |
@grishka@mastodon.social
#Smithereen now allows you to transfer your followers between servers.
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@manyfold@3dp.chat
Well, this is very exciting... a Manyfold 3d viewer right in your timeline!
@manyfold@3dp.chat
Well, this is very exciting... a Manyfold 3d viewer right in your timeline!
@grishka@mastodon.social
#Smithereen now allows you to transfer your followers between servers.
@grishka@mastodon.social
#Smithereen now allows you to transfer your followers between servers.
@grishka@mastodon.social
#Smithereen now allows you to transfer your followers between servers.
@paul@oldfriends.live
Shoutout to #FediMeteo @admin and @stefano for the #RSS and #ActivityPub #federated #weather service. Finally, a reliable weather tool across platforms.
A week or so ago I reached out and they added my community. Every time the new weather report post or RSS feed comes through, I appreciate it so much.
Thanks again! #WX #Fediverse
@mapache@hachyderm.io
I love this, it is my first test, but what a nice thing to read the post directly in #mastodon or whatever client you are using
@miaq@flipboard.social
Little known fact: @evan and I worked at a startup in 2020 that never launched. It wasn't a great experience for me, but I loved the team we had hired, including Evan. I didn't know much then about #activitypub or the social web.
I went back to @Flipboard in 2021 and in 2023 I started to learn about #federation because of @mike's vision. Fast forward to 2025, Flipboard + @surf are organizing #SXSW's first #FediverseHouse. Evan was one of the first people to sign on, which created a snowball from there, which helped the event be a success.
This week, we got to meet IRL for the first time! So when I think about "the purpose" of that hard 10 months at that startup, I now know what it was.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
大部分의 #ActivityPub 具顯들이 Note
나 Article
의 內容 (content
) 안에서 누군가 다른 액터를 멘션할 境遇 tag
屬性으로 該當하는 Mention
客體들을 包含시킵니다. 그러면 Person
, Group
等 액터 客體들도 略歷 (summary
) 안에서 누군가 다른 액터를 멘션할 境遇 tag
屬性으로 該當하는 Mention
客體들을 包含해야 할까요? 或是 이미 그렇게 動作하는 具顯이 있을까요? (Mastodon은 確認해 본 結果 包含시키지 않는 것 같습니다만.) 어떻게 보시나요?
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
殆どのActivityPub実装では、Note
やArticle
の内容(content
)内で他のアクター(actor)に言及(メンション)する場合、tag
属性に該当するMention
オブジェクトを含めています。では、Person
やGroup
などのアクターオブジェクトも、自己紹介(summary
)内で他のアクターに言及する場合、tag
属性に該当するMention
オブジェクトを含めるべきでしょうか?既にその様に動作している実装はあるでしょうか?(Mastodonは確認した結果、含めていない様です。)どの様にお考えですか?
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
大部分의 #ActivityPub 具顯들이 Note
나 Article
의 內容 (content
) 안에서 누군가 다른 액터를 멘션할 境遇 tag
屬性으로 該當하는 Mention
客體들을 包含시킵니다. 그러면 Person
, Group
等 액터 客體들도 略歷 (summary
) 안에서 누군가 다른 액터를 멘션할 境遇 tag
屬性으로 該當하는 Mention
客體들을 包含해야 할까요? 或是 이미 그렇게 動作하는 具顯이 있을까요? (Mastodon은 確認해 본 結果 包含시키지 않는 것 같습니다만.) 어떻게 보시나요?
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
殆どのActivityPub実装では、Note
やArticle
の内容(content
)内で他のアクター(actor)に言及(メンション)する場合、tag
属性に該当するMention
オブジェクトを含めています。では、Person
やGroup
などのアクターオブジェクトも、自己紹介(summary
)内で他のアクターに言及する場合、tag
属性に該当するMention
オブジェクトを含めるべきでしょうか?既にその様に動作している実装はあるでしょうか?(Mastodonは確認した結果、含めていない様です。)どの様にお考えですか?
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
大部分의 #ActivityPub 具顯들이 Note
나 Article
의 內容 (content
) 안에서 누군가 다른 액터를 멘션할 境遇 tag
屬性으로 該當하는 Mention
客體들을 包含시킵니다. 그러면 Person
, Group
等 액터 客體들도 略歷 (summary
) 안에서 누군가 다른 액터를 멘션할 境遇 tag
屬性으로 該當하는 Mention
客體들을 包含해야 할까요? 或是 이미 그렇게 動作하는 具顯이 있을까요? (Mastodon은 確認해 본 結果 包含시키지 않는 것 같습니다만.) 어떻게 보시나요?
@hongminhee@hollo.social
Most #ActivityPub implementations include Mention
objects in the tag
attribute when someone mentions another actor within the content
of a Note
or Article
. Should actor objects like Person
or Group
also include Mention
objects in their tag
attribute when mentioning other actors within their bio (summary
)? Are there any implementations that already work this way? (I've checked Mastodon and it seems they don't include these mentions.) What are your thoughts on this?
@miaq@flipboard.social
Little known fact: @evan and I worked at a startup in 2020 that never launched. It wasn't a great experience for me, but I loved the team we had hired, including Evan. I didn't know much then about #activitypub or the social web.
I went back to @Flipboard in 2021 and in 2023 I started to learn about #federation because of @mike's vision. Fast forward to 2025, Flipboard + @surf are organizing #SXSW's first #FediverseHouse. Evan was one of the first people to sign on, which created a snowball from there, which helped the event be a success.
This week, we got to meet IRL for the first time! So when I think about "the purpose" of that hard 10 months at that startup, I now know what it was.
@liaizon@social.wake.st
according to https://nlnet.nl/project/Flarum, @nlnet funded #Flarum to implement #ActivityPub in 2023 for release in Flarum 2.0 which is now in beta but I can't find any reference to it being included in the beta but I see @luceos responded to someone what its still under development quite recently.
https://mastodon.social/@luceos@fosstodon.org/113560228111805921
@miaq@flipboard.social
Little known fact: @evan and I worked at a startup in 2020 that never launched. It wasn't a great experience for me, but I loved the team we had hired, including Evan. I didn't know much then about #activitypub or the social web.
I went back to @Flipboard in 2021 and in 2023 I started to learn about #federation because of @mike's vision. Fast forward to 2025, Flipboard + @surf are organizing #SXSW's first #FediverseHouse. Evan was one of the first people to sign on, which created a snowball from there, which helped the event be a success.
This week, we got to meet IRL for the first time! So when I think about "the purpose" of that hard 10 months at that startup, I now know what it was.
@mapache@hachyderm.io
I just created yet another minimal #activitypub service in #dotnet. Super excited about this one, but I may have time to put the actual cool features until the weekend.
Stay tuned.
@CWSmith@social.mechanizedarmadillo.com
Working on the Hybridized-concepts.com website again. Still trying to get the ActivityPub module to work.
Still unable to find @cwsmith@hybridized-concepts.com when I search it. Modified the NGINX config for error reporting. Maybe that will help me figure this out.
Will also be working on the Dirt Simple guide to hosting your own community as I go.
@CWSmith@social.mechanizedarmadillo.com
Working on the Hybridized-concepts.com website again. Still trying to get the ActivityPub module to work.
Still unable to find @cwsmith@hybridized-concepts.com when I search it. Modified the NGINX config for error reporting. Maybe that will help me figure this out.
Will also be working on the Dirt Simple guide to hosting your own community as I go.
@sl007@digitalcourage.social
@strypey@mastodon.nzoss.nz · Reply to Strypey's post
What I'd really like to see is BlueSky modifying their AT protocol to allow AT relays to treat ActivityPub servers as Personal Data Servers. Maybe by using aspects of the Solid protocol, as demonstrated by @activitypods?
No idea if this is technically viable, I'm just thinking out loud here. But just imagine unifying the efforts of AP, Solid and AT developer ...
@BeAware@mementomori.social
Kinda weird hearing about Threads devs talking at Fediverse House considering that they promised full federation by the end of 2024 and we're almost through the first quarter of 2025 and we don't seem any closer to that promise.
Those who were there, did they give an update on when they plan on allowing replies and such?
Feels like they're dropping the ball big time.
@mmccue.bsky.social@bsky.brid.gy
Just closed the #fediversehouse at #sxsw after an amazing two days. Loved being IRL with so many people building the open social web together. #atproto #activitypub #rss
@mmccue.bsky.social@bsky.brid.gy
Just closed the #fediversehouse at #sxsw after an amazing two days. Loved being IRL with so many people building the open social web together. #atproto #activitypub #rss
@sl007@digitalcourage.social
Yep, this was what the `streams` property was made for in #ActivityPub :
https://www.w3.org/TR/activitypub/#actor-objects
¯\_(ツ)_/¯
Our Public Broadcasters use it there …
@witchescauldron@kolektiva.social
A lot of #openweb work, including the #ActivityPub standard, which was developed in such spaces, without the need for a paywall or corporate sponsorship. This ethos is central to the commons-building process, where trust, collaboration, and openness are valued more than monetization or statues in formal hard structures. Fediverse, grassroots, native, trust, openness, and collaboration https://hamishcampbell.com/fediverse-grassroots-native-trust-openness-and-collaboration-thrive/
@witchescauldron@kolektiva.social
A lot of #openweb work, including the #ActivityPub standard, which was developed in such spaces, without the need for a paywall or corporate sponsorship. This ethos is central to the commons-building process, where trust, collaboration, and openness are valued more than monetization or statues in formal hard structures. Fediverse, grassroots, native, trust, openness, and collaboration https://hamishcampbell.com/fediverse-grassroots-native-trust-openness-and-collaboration-thrive/
@neiman@social.hastily.cc
There's no perfect way to do "Comment with Mastodon" for external websites, because #Mastodon is not meant for this.
Mastodon is designed to be a social media, not a universal login. The servers are meant to save posts, not comments.
#ActivityPub is not designed to have one universal ID for the whole #fediverse, but more like an ID for each app you use (Mastodon, Pixelfeld, Lemmy, etc.). The ID and the application layers are not separated.
Would separating them be a good idea?
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@mapache@hachyderm.io
I can't believe it. I don't know how to feel.
I am writing another #activitypub service in dotnet, I tried to use GitHub copilot, and it generated MY classes. I mean, it generated classes that clearly are 90% based in MY code that I wrote and is in github. The namespace, the methods names, the models, ... WOW
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@perkinsy@aus.social
New York Times article about the Activity Pub protocol via @petersuber
"The energy around ActivityPub reminds me of the early days of the Web,” Mr. Nelson said in a recent interview, “where anything seemed possible, and innovation was around every corner.”
#ActivityPub
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
@BeAware@mementomori.social · Reply to BeAware :fediverse:'s post
Speaking of advocating, my latest post on Threads about Fediverse has about 6,000 views and counting.😏
Trying to turn people away from the dark side is difficult. Sometimes, people are listening.
@TotalSonic@mastodon.social
Was most excellent getting to meet and hear Evan Prodromou, the main brain & big kahuna behind the team that brought us the Activity Pub protocol, at the Fediverse House talks yesterday at the Speakeasy for SXSW. Always great to see that a dev doing excellent work is also a truly cool person too. @evan #sxsw #austin #activitypub #fediverse #foss #tech #irl #meetups #atx #socialmedia
@TotalSonic@mastodon.social
Was most excellent getting to meet and hear Evan Prodromou, the main brain & big kahuna behind the team that brought us the Activity Pub protocol, at the Fediverse House talks yesterday at the Speakeasy for SXSW. Always great to see that a dev doing excellent work is also a truly cool person too. @evan #sxsw #austin #activitypub #fediverse #foss #tech #irl #meetups #atx #socialmedia
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@bthj@hachyderm.io
Is any one looking into / thinking about publishing static site content via #activitypub , as @mapache has described in:
https://maho.dev/2024/11/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-7/
- but utilising @fedify ?
Content from static site generators like #faircamp and #hyper8 by @freebliss is easy to host, long term, but while one would be inclined to host more dynamic services, it would be great to have a kind of (general purpose) layer that could pick up newly published, static content and notify the #fediverse
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@naturzukunft@mastodon.social
I'm confused again. from a C2S perspective, “reject following” and “reject follower” look structurally identical, don't they?
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@richiekhoo@hachyderm.io
Is Tumblr on the Fediverse?
A couple years back we heard that #tumblr was working to add #ActivityPub support and join the #fediverse.
Attached is an article from 2013 discussing exactly this folllowing the sale of Twitter.
Anyone know how that went? Is Tumblr connected now, or what happened? Where we at.
Ref: https://www.theverge.com/2023/4/20/23689570/activitypub-protocol-standard-social-network
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
Got an interesting question today about #Fedify's outgoing #queue design!
Some users noticed we create separate queue messages for each recipient inbox rather than queuing a single message and handling the splitting later. There's a good reason for this approach.
In the #fediverse, server response times vary dramatically—some respond quickly, others slowly, and some might be temporarily down. If we processed deliveries in a single task, the entire batch would be held up by the slowest server in the group.
By creating individual queue items for each recipient:
It's a classic trade-off: we generate more queue messages, but gain better resilience and user experience in return.
This is particularly important in federated networks where server behavior is unpredictable and outside our control. We'd rather optimize for making sure your posts reach their destinations as quickly as possible!
What other aspects of Fedify's design would you like to hear about? Let us know!
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@caranmegil@mastodon.social
been a while since i've given a proper #introduction of myself, and there have been a lot to join the #ActivityPub -based social media since that time.
i'm religious in the Methodist #Christian philosophy sense, which means i can be tolerant and accept science. i'm a #TTRPG fanatic. and a software engineer by trade in the midwest.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@grishka@mastodon.social
Added a footer, a language switcher and a privacy policy (adapted from Mastodon's). Was going to do this in 0.10 anyway but Threads blocked me for not having a privacy policy so I jumped ahead on my todo list.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@rolle@mementomori.social · Reply to BeAware :fediverse:'s post
@BeAware @thomasjwebb It's like saying someone can control the Internet. Fun fact: ActivityPub (the protocol that drives Mastodon and other Fediverse apps) is an official W3C recommended standard and W3C is lead by (drumroll) who other than the creator of the World Wide Web itself, sir Tim Berners-Lee. This is why I trust more to truly user driven social web Fediverse rather than corporate driven Bluesky.
@rolle@mementomori.social · Reply to BeAware :fediverse:'s post
@BeAware @thomasjwebb It's like saying someone can control the Internet. Fun fact: ActivityPub (the protocol that drives Mastodon and other Fediverse apps) is an official W3C recommended standard and W3C is lead by (drumroll) who other than the creator of the World Wide Web itself, sir Tim Berners-Lee. This is why I trust more to truly user driven social web Fediverse rather than corporate driven Bluesky.
@BeAware@mementomori.social
Seeing Threads developers discuss "shipping slop or missing the hype train" is the epitome of irony today given how they've completely flopped the Fediverse Sharing "feature" that's still barely functional after a year and a half.
(Nevermind the fact that they promised full federation by the end of 2024, what year is it again?)🙄🤦♂️
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@bthj@hachyderm.io
Is any one looking into / thinking about publishing static site content via #activitypub , as @mapache has described in:
https://maho.dev/2024/11/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-7/
- but utilising @fedify ?
Content from static site generators like #faircamp and #hyper8 by @freebliss is easy to host, long term, but while one would be inclined to host more dynamic services, it would be great to have a kind of (general purpose) layer that could pick up newly published, static content and notify the #fediverse
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@hongminhee@hollo.social
제가 開發하고 있는 프로젝트 Hackers' Pub의 베타 테스터를 모십니다!
이 프로젝트는 #聯合宇宙(fediverse)板 velog 같은 것으로, 소프트웨어 開發者를 爲한 #ActivityPub 基盤의 SNS 兼 블로그 플랫폼입니다. AGPL-3.0 라이선스로 소스 코드가 公開되어 있을 뿐 아니라, GitHub에서 프로젝트를 公開的으로 進行하고 있습니다.
職業으로든 趣味로든 소프트웨어를 開發하시는 분들, 聯合宇宙를 좋아하시는 분들, 새로운 플랫폼을 써 보고 싶으신 분들은 부디 參與해 주시기 바랍니다! 關心 있으신 분들은 答글이나 DM으로 이메일 住所를 보내주시면 됩니다.
@bthj@hachyderm.io
Is any one looking into / thinking about publishing static site content via #activitypub , as @mapache has described in:
https://maho.dev/2024/11/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-7/
- but utilising @fedify ?
Content from static site generators like #faircamp and #hyper8 by @freebliss is easy to host, long term, but while one would be inclined to host more dynamic services, it would be great to have a kind of (general purpose) layer that could pick up newly published, static content and notify the #fediverse
@bthj@hachyderm.io
Is any one looking into / thinking about publishing static site content via #activitypub , as @mapache has described in:
https://maho.dev/2024/11/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-7/
- but utilising @fedify ?
Content from static site generators like #faircamp and #hyper8 by @freebliss is easy to host, long term, but while one would be inclined to host more dynamic services, it would be great to have a kind of (general purpose) layer that could pick up newly published, static content and notify the #fediverse
@bthj@hachyderm.io
Is any one looking into / thinking about publishing static site content via #activitypub , as @mapache has described in:
https://maho.dev/2024/11/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-7/
- but utilising @fedify ?
Content from static site generators like #faircamp and #hyper8 by @freebliss is easy to host, long term, but while one would be inclined to host more dynamic services, it would be great to have a kind of (general purpose) layer that could pick up newly published, static content and notify the #fediverse
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@rodolphe31@mastodon.tetaneutral.net
#JeRecrute, indépendants ou agence, de préférence sur #Toulouse, pour réaliser un projet de site internet (pour un petit groupe indépendant de super salles de cinéma…), qui soit notamment compatible avec #activitypub pour promouvoir les alternatives aux réseaux sociaux dominants.
(repouets apréciés)
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@Flipboard@flipboard.social
@newyorktimes's veteran tech reporter @Markoff interviewed some of #TeamFediverse including @Gargron, @reckless1280 and our CEO @mike for a feature on the rise of decentralized social media. “It goes back to the original principles where the internet started out as decentralized,” Eugen Rochko told Markoff. Here's the full story [may be paywalled].
We're so excited to develop these conversations further at SXSW this weekend — check out the itinerary and sign up to join us at #FediverseHouse at the second link.
#Fediverse #ActivityPub #Federation #OpenSocialWeb #SXSW #JohnMarkoff #EugenRochko #MikeMcCue #SXSW2025
@weekinfediverse@mitra.social
Servers
- Akkoma v2025.03
- Pleroma v2.9.0
- Sharkey v2025.2.2
- Manyfold v0.103.0
- Vernissage Server v1.3.0
- snac v2.73
- ActivityPub for WordPress v5.4.0
- Hometown v1.1.2
- Misskey v2025.3.0
- Gancio v1.24.0
- NeoDB v0.11.5
- Iceshrimp v2023.12.13
- Lemmy Development Update 2025-03-07
- Hackers' Pub Introduces Flexible Username Changes: Breaking the Fediverse Norm
- ActivityPub integration for Elgg
Clients
- Fedilab v3.30.0
- Tuba v0.9.2
- Pachli v2.10.1
- toot v0.48.0
- P2Play v0.9.0
- Pixelix v4.0.0
- Pixelfed (React Native) v1.0.4.1
- RaccoonForFriendica v0.4.2
- Tesseract v1.4.31
- Blorp: A cross platform web, iOS and Android client for Lemmy
For developers
- fediverse-pasture-inputs v0.1.13
- Mastodon.py v2.0.1
Articles
- Funkwhale Wants to Filter Out Far-Right Music
- PeerTube: the Fediverse’s decentralized video platform (part 1: first impressions)
- Fediverse Report #106
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01954e2e-70bb-aee5-1f9e-913142a4354e
@weekinfediverse@mitra.social
Servers
- Akkoma v2025.03
- Pleroma v2.9.0
- Sharkey v2025.2.2
- Manyfold v0.103.0
- Vernissage Server v1.3.0
- snac v2.73
- ActivityPub for WordPress v5.4.0
- Hometown v1.1.2
- Misskey v2025.3.0
- Gancio v1.24.0
- NeoDB v0.11.5
- Iceshrimp v2023.12.13
- Lemmy Development Update 2025-03-07
- Hackers' Pub Introduces Flexible Username Changes: Breaking the Fediverse Norm
- ActivityPub integration for Elgg
Clients
- Fedilab v3.30.0
- Tuba v0.9.2
- Pachli v2.10.1
- toot v0.48.0
- P2Play v0.9.0
- Pixelix v4.0.0
- Pixelfed (React Native) v1.0.4.1
- RaccoonForFriendica v0.4.2
- Tesseract v1.4.31
- Blorp: A cross platform web, iOS and Android client for Lemmy
For developers
- fediverse-pasture-inputs v0.1.13
- Mastodon.py v2.0.1
Articles
- Funkwhale Wants to Filter Out Far-Right Music
- PeerTube: the Fediverse’s decentralized video platform (part 1: first impressions)
- Fediverse Report #106
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01954e2e-70bb-aee5-1f9e-913142a4354e
@perkinsy@aus.social
New York Times article about the Activity Pub protocol via @petersuber
"The energy around ActivityPub reminds me of the early days of the Web,” Mr. Nelson said in a recent interview, “where anything seemed possible, and innovation was around every corner.”
#ActivityPub
https://www.nytimes.com/2025/03/06/technology/mike-mccue-surf-browser-decentralized-internet.html
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@grishka@mastodon.social
#Smithereen updates:
- New notifications UI with grouping, your comment replies, and the ability to reply from there
- A setting for whether to count likes and reposts towards unread notifications (off by default)
- User presence statuses (without federation, for now — no idea how to federate that) and a new "online friends" block in profiles
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@evan@cosocial.ca
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@evan@cosocial.ca
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@BeAware@mementomori.social
Hi, I'm BeAware, sometimes I abbreviate it, BA. I just migrated here from my own instance because Mastodon updates have surpassed my Linux knowledge. Therefore, to save some headache, I decided the best option would be to move to an instance owned by someone I trust. So this is my new home
I am VERY passionate about decentralized systems like #ActivityPub and #Nostr and tend to discuss these topics at length. Especially the nuances of each and try to keep up with all the things regarding them.
I have #ADHD and #Hydrocephalus, which effects various aspects of my day to day life and how I think. I am also on disability because of it.
I am also very #AI-positive because it helps me with every day life. With my brain disorders, I don't think the same way others do, so AI helps me with describing things accurately and to make sure I get my point across in the way I mean to. I also tend to post #AIart from time to time to realize my creativity.
I'm a #Gamer that primarily plays PC games or games that are Cross Platform. Generally I enjoy #MMORPG, #SurvivalGames and such where I can just "zone out" and vibe without much stress.
Sometimes you'll see me discuss #Technology news as well.
If these seem to be within your interests, feel free to follow and if you have similar interests laid out in your bio, chances are good that ill follow back.
I've been here for a year and this is, by far, my favorite social media platform I've ever been on.
Thank for reading and may you be as federated as you wish!
Sincerely,
B.A.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@hongminhee@hollo.social
Just published a post about Hackers' Pub's unique username change policy! Unlike most #fediverse platforms, they allow a one-time username change while preserving your connections and content history. It's all possible thanks to some clever #ActivityPub implementation using UUID-based actor URIs instead of username-based ones. If you're interested in trying it out, the platform is currently in invitation-only beta—check the post for details on how to request access!
https://hackers.pub/@hongminhee/2025/hackers-pub-introduces-flexible-username-changes
@hongminhee@hackers.pub
Hackers' Pub is a community-focused platform where programmers and technology enthusiasts share knowledge and experiences. As an ActivityPub-enabled social network, it allows users to connect with others across the broader fediverse ecosystem, bringing technical discussions and insights directly to followers' feeds.
In the fediverse landscape, your username is typically set in stone once chosen. Most ActivityPub-powered platforms like Mastodon, Pleroma, and others enforce this permanence as a fundamental design principle. However, Hackers' Pub is charting a different course with a more flexible approach to digital identity.
Unlike most fediverse platforms, Hackers' Pub now allows users to change their username (the part before the @ in your Fediverse handle) exactly once during the lifetime of their account. This policy acknowledges that people grow, interests evolve, and the username that seemed perfect when you joined might not represent who you are today.
This one-time change limit strikes a careful balance—offering flexibility while maintaining the stability and reliability that's essential for a federated network.
When you change your username on Hackers' Pub, your previous username becomes available for other users to claim. This recycling mechanism creates new opportunities for meaningful usernames to find their most fitting owners, rather than remaining permanently locked to accounts that no longer use them.
For newcomers to the platform, this means a wider selection of desirable usernames might become available over time—something virtually unheard of in the traditional fediverse ecosystem.
Worried about broken links after changing your username? Hackers' Pub has implemented a thoughtful solution. All permalinks containing your original username will continue to function until someone else claims that username. This approach helps preserve the web of connections and conversations that make the fediverse valuable.
This temporary preservation period gives your connections time to adjust to your new identity while preventing immediate link rot across the federation.
What enables Hackers' Pub to offer username changes while other fediverse platforms can't? The answer lies in how actor identities are implemented at the protocol level.
Hackers' Pub uses UUID-based actor URIs that don't contain the username. For example, a user with handle @hongminhee has an underlying ActivityPub actor URI that looks like https://hackers.pub/ap/actors/019382d3-63d7-7cf7-86e8-91e2551c306c
. Since the username isn't part of this permanent identifier, it can be changed without breaking federation connections.
This contrasts sharply with platforms like Mastodon, where a user @hongminhee has an actor URI of https://mastodon.social/users/hongminhee
. With the username embedded directly in the URI, changing it would break all federation connections, which is why these platforms don't allow username changes.
This architectural choice gives Hackers' Pub the technical flexibility to implement username changes while maintaining account continuity across the fediverse.
Those familiar with GitHub might recognize this model—Hackers' Pub has adapted GitHub's username change policy for the fediverse context. This approach brings the best of both worlds: the option for identity evolution from centralized platforms and the federation benefits of the fediverse.
For Hackers' Pub users, this policy offers a significant advantage over other fediverse instances:
Hackers' Pub's username policy represents an interesting experiment in the fediverse—testing whether more flexible identity management can coexist with the stability needed for federation. If successful, we might see other platforms adopt similar approaches, creating a more adaptable yet still interconnected social web.
For now, users should consider this policy a compelling reason to choose Hackers' Pub as their fediverse home, especially if username flexibility matters to their online experience.
Hackers' Pub is currently in invitation-only beta. If you're interested in trying out the platform and its unique username policy, please leave your email address in the comments below. We'll add you to the allowlist, enabling you to sign up directly on the website. Note that this doesn't involve sending invitation emails—your address will simply be approved for registration when you visit the signup page.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@evan@cosocial.ca
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@Flipboard@flipboard.social
@newyorktimes's veteran tech reporter @Markoff interviewed some of #TeamFediverse including @Gargron, @reckless1280 and our CEO @mike for a feature on the rise of decentralized social media. “It goes back to the original principles where the internet started out as decentralized,” Eugen Rochko told Markoff. Here's the full story [may be paywalled].
We're so excited to develop these conversations further at SXSW this weekend — check out the itinerary and sign up to join us at #FediverseHouse at the second link.
#Fediverse #ActivityPub #Federation #OpenSocialWeb #SXSW #JohnMarkoff #EugenRochko #MikeMcCue #SXSW2025
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
#PeerTube: the Fediverse’s decentralized video platform (part 1: first impressions)
mentioning @Framasoft @peertube @fedihost@mstdn.social @fedihost@video.fedihost.co @paige @veronicaexplains @ewen @docpop @hikingdude
P.S.: this is the 20th article for The Future is Federated 🤗
#tech #Fediverse #activism #BigTech #SocialMedia #FOSS #blog #ActivityPub #video
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
#PeerTube: the Fediverse’s decentralized video platform (part 1: first impressions)
mentioning @Framasoft @peertube @fedihost@mstdn.social @fedihost@video.fedihost.co @paige @veronicaexplains @ewen @docpop @hikingdude
P.S.: this is the 20th article for The Future is Federated 🤗
#tech #Fediverse #activism #BigTech #SocialMedia #FOSS #blog #ActivityPub #video
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
#PeerTube: the Fediverse’s decentralized video platform (part 1: first impressions)
mentioning @Framasoft @peertube @fedihost@mstdn.social @fedihost@video.fedihost.co @paige @veronicaexplains @ewen @docpop @hikingdude
P.S.: this is the 20th article for The Future is Federated 🤗
#tech #Fediverse #activism #BigTech #SocialMedia #FOSS #blog #ActivityPub #video
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@rwg@aoir.social
The latest FOSS Academic post is "Standards War?":
https://fossacademic.tech/2025/03/05/standardsWar.html
In which I contrast the fact that @iftas is shutting down some of its services against the advent of "Free Our Feeds," and I speculate that maybe we're seeing an ATProto/ActivityPub standards war.
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#フェディバース(#fediverse)用のボットを作りたいですか?#BotKit by Fedifyを使えば、わずか数行のコードでスタンドアロンのActivityPubボットを構築できます!従来のMastodonやMisskeyボットとは異なり、BotKitはプラットフォームの制約なしに完全なActivityPubサーバーを作成できます。
BotKitでできること:
ドキュメントはhttps://botkit.fedify.dev/で確認し、今からフェディバースボットの構築を始めましょう!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#연합우주(#fediverse)를 위한 봇을 만들고 싶으신가요? #BotKit by Fedify를 사용하면 몇 줄의 코드만으로 독립형 #ActivityPub 봇을 구축할 수 있습니다! 일반적인 Mastodon 또는 Misskey 봇과 달리, BotKit은 플랫폼 제약 없이 완전한 ActivityPub 서버를 만들 수 있게 도와줍니다.
BotKit으로 할 수 있는 것:
문서는 https://botkit.fedify.dev/에서 확인하시고 지금 바로 연합우주 봇을 만들어 보세요!
@botkit@hollo.social
Want to create a #bot for the #fediverse? #BotKit by @fedify lets you build standalone #ActivityPub bots with just a few lines of code! Unlike traditional Mastodon bots, BotKit helps you create complete ActivityPub servers without platform constraints.
With BotKit, you can:
Check out our documentation at https://botkit.fedify.dev/ and start building your fediverse bot today!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@jsit@social.coop
ActivityPub just doesn't seem right for blogs, doesn't anybody feel the same way? It's just weird. We can have #ActivityPub *and* #RSS.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@rwg@aoir.social
The latest FOSS Academic post is "Standards War?":
https://fossacademic.tech/2025/03/05/standardsWar.html
In which I contrast the fact that @iftas is shutting down some of its services against the advent of "Free Our Feeds," and I speculate that maybe we're seeing an ATProto/ActivityPub standards war.
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@botkit@hollo.social
Want to create a #bot for the #fediverse? #BotKit by @fedify lets you build standalone #ActivityPub bots with just a few lines of code! Unlike traditional Mastodon bots, BotKit helps you create complete ActivityPub servers without platform constraints.
With BotKit, you can:
Check out our documentation at https://botkit.fedify.dev/ and start building your fediverse bot today!
@pfefferle@mastodon.social
My first #DoTheWoo episode with @alex is live #woo 🎉
https://dothewoo.io/decentralized-social-networks-wordpress-with-alex-kirk/
@pfefferle@mastodon.social
My first #DoTheWoo episode with @alex is live #woo 🎉
https://dothewoo.io/decentralized-social-networks-wordpress-with-alex-kirk/
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@botkit@hollo.social
Want to create a #bot for the #fediverse? #BotKit by @fedify lets you build standalone #ActivityPub bots with just a few lines of code! Unlike traditional Mastodon bots, BotKit helps you create complete ActivityPub servers without platform constraints.
With BotKit, you can:
Check out our documentation at https://botkit.fedify.dev/ and start building your fediverse bot today!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#フェディバース(#fediverse)用のボットを作りたいですか?#BotKit by Fedifyを使えば、わずか数行のコードでスタンドアロンのActivityPubボットを構築できます!従来のMastodonやMisskeyボットとは異なり、BotKitはプラットフォームの制約なしに完全なActivityPubサーバーを作成できます。
BotKitでできること:
ドキュメントはhttps://botkit.fedify.dev/で確認し、今からフェディバースボットの構築を始めましょう!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#フェディバース(#fediverse)用のボットを作りたいですか?#BotKit by Fedifyを使えば、わずか数行のコードでスタンドアロンのActivityPubボットを構築できます!従来のMastodonやMisskeyボットとは異なり、BotKitはプラットフォームの制約なしに完全なActivityPubサーバーを作成できます。
BotKitでできること:
ドキュメントはhttps://botkit.fedify.dev/で確認し、今からフェディバースボットの構築を始めましょう!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#연합우주(#fediverse)를 위한 봇을 만들고 싶으신가요? #BotKit by Fedify를 사용하면 몇 줄의 코드만으로 독립형 #ActivityPub 봇을 구축할 수 있습니다! 일반적인 Mastodon 또는 Misskey 봇과 달리, BotKit은 플랫폼 제약 없이 완전한 ActivityPub 서버를 만들 수 있게 도와줍니다.
BotKit으로 할 수 있는 것:
문서는 https://botkit.fedify.dev/에서 확인하시고 지금 바로 연합우주 봇을 만들어 보세요!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#フェディバース(#fediverse)用のボットを作りたいですか?#BotKit by Fedifyを使えば、わずか数行のコードでスタンドアロンのActivityPubボットを構築できます!従来のMastodonやMisskeyボットとは異なり、BotKitはプラットフォームの制約なしに完全なActivityPubサーバーを作成できます。
BotKitでできること:
ドキュメントはhttps://botkit.fedify.dev/で確認し、今からフェディバースボットの構築を始めましょう!
@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post
#연합우주(#fediverse)를 위한 봇을 만들고 싶으신가요? #BotKit by Fedify를 사용하면 몇 줄의 코드만으로 독립형 #ActivityPub 봇을 구축할 수 있습니다! 일반적인 Mastodon 또는 Misskey 봇과 달리, BotKit은 플랫폼 제약 없이 완전한 ActivityPub 서버를 만들 수 있게 도와줍니다.
BotKit으로 할 수 있는 것:
문서는 https://botkit.fedify.dev/에서 확인하시고 지금 바로 연합우주 봇을 만들어 보세요!
@botkit@hollo.social
Want to create a #bot for the #fediverse? #BotKit by @fedify lets you build standalone #ActivityPub bots with just a few lines of code! Unlike traditional Mastodon bots, BotKit helps you create complete ActivityPub servers without platform constraints.
With BotKit, you can:
Check out our documentation at https://botkit.fedify.dev/ and start building your fediverse bot today!
@botkit@hollo.social
Want to create a #bot for the #fediverse? #BotKit by @fedify lets you build standalone #ActivityPub bots with just a few lines of code! Unlike traditional Mastodon bots, BotKit helps you create complete ActivityPub servers without platform constraints.
With BotKit, you can:
Check out our documentation at https://botkit.fedify.dev/ and start building your fediverse bot today!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@openrisk@mastodon.social
Is there a good reference of #activitypub scaling with more users/clients, servers, content exchange, network topology etc. What happens when everything and everywhere is connected?
Looking for a more or less rigorous *model* to compare and contrast with e.g., how #atproto and #p2p protocols scale (at least in theory) and put some mathematical meat behind the recent "message passing" vs "shared heap" discussions.
Have been looking for this with little success so time to #askfedi #askfediverse
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 기반 연합형 서버 프레임워크로, 개발자들이 분산형 소셜 네트워크인 #연합우주(#fediverse)에 애플리케이션을 쉽게 통합할 수 있도록 돕습니다. 복잡한 ActivityPub 프로토콜 구현을 단순화하여 개발 시간을 크게 단축시킵니다. MIT 라이선스 하에 제공되는 오픈 소스 프로젝트입니다.
다양한 프로젝트들이 이미 Fedify를 활용하고 있습니다:
ActivityPub 구현을 고려 중이시거나, Fedify 프로젝트와 협력하고 싶으시다면 연락 주세요:
귀사의 요구사항과 목표에 맞는 맞춤형 협력 방안을 함께 모색하겠습니다.
@fedify@hollo.social
#Fedify is an #ActivityPub-based federated server framework that helps developers easily integrate their applications with the #fediverse, a decentralized social network. It simplifies the complex implementation of the ActivityPub protocol, significantly reducing development time. Fedify is an open-source project available under the MIT license.
Various projects are already leveraging Fedify:
If you're considering implementing ActivityPub or wish to collaborate with the Fedify project, please get in touch:
We're excited to explore customized collaboration opportunities that align with your requirements and goals.
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@deadsuperhero@social.wedistribute.org
Quick note for anyone using the #WordPress #ActivityPub integration: we’ve been doing odd experiments with doing microblogging using Mastodon apps all from within our own site.
I think we’re really close to being able to make the switch over. We want @hello to eventually migrate completely over to @news, but there’s a few tiny headaches we’re trying to solve first.
If anyone is using the Enable Mastodon Apps plugin with Friends and ActivityPub, can you do me a favor and look at this outstanding issue? Seems like using the WordPress Status
post format is causing server errors, and I suspect WordPress interprets most microblogging statuses as this type.
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@julian@fietkau.social
I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂
It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!
@colin@cdevroe.com
I have my reservations about whether or not blogs (specifically my blog) should federate content via ActivityPub. Isn’t RSS enough?
@zarasophos@darmstadt.social
In the last few months, many people have called on the EU to start supporting open alternatives to US-owned social media sites. The thing is: The EU has been doing that for some time already. It has financed, among others, ActivityPub, Mastodon and PeerTube. For @netzpolitik_feed, we spoke to Michiel Leenaars, who professionally gives out buckets of EU cash to open source projects.
@openrisk@mastodon.social
An intriguing new project by @raphael provides a pluggable #django app with the models, views and background tasks to let any django application integrate with any other service that uses #ActivityPub
Enabling popular "generic" web platforms like django, laravel etc. to integrate with the #fediverse complements the development of plugins for more specific apps like #wordpress, #discourse etc. and the dedicated "social media" type servers like #mastodon and #pixelfed
https://codeberg.org/mushroomlabs/django-activitypub-toolkit
@openrisk@mastodon.social
An intriguing new project by @raphael provides a pluggable #django app with the models, views and background tasks to let any django application integrate with any other service that uses #ActivityPub
Enabling popular "generic" web platforms like django, laravel etc. to integrate with the #fediverse complements the development of plugins for more specific apps like #wordpress, #discourse etc. and the dedicated "social media" type servers like #mastodon and #pixelfed
https://codeberg.org/mushroomlabs/django-activitypub-toolkit
@zarasophos@darmstadt.social
In the last few months, many people have called on the EU to start supporting open alternatives to US-owned social media sites. The thing is: The EU has been doing that for some time already. It has financed, among others, ActivityPub, Mastodon and PeerTube. For @netzpolitik_feed, we spoke to Michiel Leenaars, who professionally gives out buckets of EU cash to open source projects.
@zarasophos@darmstadt.social
In the last few months, many people have called on the EU to start supporting open alternatives to US-owned social media sites. The thing is: The EU has been doing that for some time already. It has financed, among others, ActivityPub, Mastodon and PeerTube. For @netzpolitik_feed, we spoke to Michiel Leenaars, who professionally gives out buckets of EU cash to open source projects.
@alberto@albertoventurini.com
The Internet and the web were born open, then closed walls were built in the name of profit and user convenience. It's time we leave the closed walls behind and go back to how the Internet was supposed to be: a collection of independent applications using common protocols.
https://snikket.org/blog/products-vs-protocols/
https://homebrewserver.club/have-you-considered-the-alternative.html
@alberto@albertoventurini.com
The Internet and the web were born open, then closed walls were built in the name of profit and user convenience. It's time we leave the closed walls behind and go back to how the Internet was supposed to be: a collection of independent applications using common protocols.
https://snikket.org/blog/products-vs-protocols/
https://homebrewserver.club/have-you-considered-the-alternative.html
@zarasophos@darmstadt.social
In den letzten Monaten haben viele Menschen gefordert, die EU sollte doch mal bitte offene Alternativen zu amerikanischen Social-Media-Diensten fördern. Die Sache ist nur: Das tut sie schon lange. ActivityPub, Mastodon und PeerTube haben alle von einem EU-Förderprogramm profitiert. Für @netzpolitik_feed haben wir Michiel Leenaars interviewt, der das EU-Geld aus diesem Programm verteilt.
@surf@flipboard.social
Are you an Austin-based developer working on the open social web? If so, you’re invited to our Developer Meetup, hosted by ActivityPub co-author @evan. You don’t need a badge to attend but we do ask that you RSVP. 🙏 Let’s see what you’re building! https://lu.ma/bvump3m6
#socialweb #openweb #opensocialweb #fediverse #developers #sxsw #sxsw2025 #austin #AustinTX #activitypub
@surf@flipboard.social
Are you an Austin-based developer working on the open social web? If so, you’re invited to our Developer Meetup, hosted by ActivityPub co-author @evan. You don’t need a badge to attend but we do ask that you RSVP. 🙏 Let’s see what you’re building! https://lu.ma/bvump3m6
#socialweb #openweb #opensocialweb #fediverse #developers #sxsw #sxsw2025 #austin #AustinTX #activitypub
@surf@flipboard.social
Are you an Austin-based developer working on the open social web? If so, you’re invited to our Developer Meetup, hosted by ActivityPub co-author @evan. You don’t need a badge to attend but we do ask that you RSVP. 🙏 Let’s see what you’re building! https://lu.ma/bvump3m6
#socialweb #openweb #opensocialweb #fediverse #developers #sxsw #sxsw2025 #austin #AustinTX #activitypub
@surf@flipboard.social
Are you an Austin-based developer working on the open social web? If so, you’re invited to our Developer Meetup, hosted by ActivityPub co-author @evan. You don’t need a badge to attend but we do ask that you RSVP. 🙏 Let’s see what you’re building! https://lu.ma/bvump3m6
#socialweb #openweb #opensocialweb #fediverse #developers #sxsw #sxsw2025 #austin #AustinTX #activitypub
@fellmoon@bsd.network
So #fediverse / #mastodon / #activitypub people, what do we have by now that is a usable alternative to facebooks group- & event feature?
I have a number of friends who work in event-related contexts, play in bands, do art exhibitions etc. most of them are still at metas platforms for basically 1-2 reasons. Twatter doesn't really matter at all to them because no feature keeps them there.
The Main reason for most of them to stay with meta is to promote their events & the easiness to invite people to an event or self-subscribe.
The other reasons are groups/channels where people have sub-discussion threads, that "feel a little bit isolated from the rest of the platform".
I'm not 100% convinced, that this can/can't be substituted by something like "only display this toot to people following the #hashtag" or something similar.
Reason number three is network effect at the end of the day, which is not really technically addressable from "our side" imho. Being able to show easy to use alternatives should be doable tho.
@zarasophos@darmstadt.social
In the last few months, many people have called on the EU to start supporting open alternatives to US-owned social media sites. The thing is: The EU has been doing that for some time already. It has financed, among others, ActivityPub, Mastodon and PeerTube. For @netzpolitik_feed, we spoke to Michiel Leenaars, who professionally gives out buckets of EU cash to open source projects.
@zarasophos@darmstadt.social
In den letzten Monaten haben viele Menschen gefordert, die EU sollte doch mal bitte offene Alternativen zu amerikanischen Social-Media-Diensten fördern. Die Sache ist nur: Das tut sie schon lange. ActivityPub, Mastodon und PeerTube haben alle von einem EU-Förderprogramm profitiert. Für @netzpolitik_feed haben wir Michiel Leenaars interviewt, der das EU-Geld aus diesem Programm verteilt.
@Linux_Is_Best@misskey.de
Proton is leaving because Proton cannot control the flow of information here on the Fediverse.
Most corporations mimic social algorithms to their advantage, particularly, to suppress news and information that may not paint them in a good light. Proton cannot do that on the Fediverse.
When Proton rebranded a few years ago, which caused some people to lose their accounts with no refund, they silenced any complaints on both Facebook and Reddit. I know, because I was one of those people. Most of you were happy to have the new upgraded accounts, but if you had the original family plan, which they discontinued (only to start selling a new family plan months later), you were not a happy person to find out you lost your service.
Additionally, it has been brought to people's attention that Proton now falls under Us-jurisdiction. Proton would like to argue that is only for Proton Wallet, but our legal system does not allow a company to pick and choose. Plus, even if they could (you cannot), it means they could still be pressured and influence by US Politics and US Laws now. This was another little fact, Proton wanted to suppress, but cannot because the Fediverse is organic, and not centralized.
#Proton #ProtonMail #ProtonVpn #ProtonPass #ProtonDrive #ProtonWallet #ProtonCalendar #Fediverse #ActivityPub #Mastodon #Misskey
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@fedify@hollo.social
We're considering packaging the Fedify CLI for Homebrew to make installation easier on macOS and Linux (via Linuxbrew).
Option | Voters |
---|---|
Yes, I'd definitely use it on macOS. | 8 (32%) |
Yes, I'd definitely use it on Linux. | 3 (12%) |
Maybe, depending on the implementation. | 4 (16%) |
No, I prefer other installation methods. | 10 (40%) |
@peterrenshaw@ioc.exchange · Reply to ☮ ♥ ♬ 🧑💻's post
Big question, Why ATProtocol from #BlueSkySocial #PBC’s mouth instead of Mastodon and ActivityPub?:
“Why not use ActivityPub? #ActivityPub is a federated social networking technology popularized by #Mastodon.
Account #portability is a major reason why we chose to build a separate protocol. We consider portability to be crucial because it protects #users from sudden bans, server shutdowns, and policy disagreements. Our #solution for portability requires both signed data repositories and #DIDs, neither of which are easy to retrofit into ActivityPub. The migration #tools for ActivityPub are comparatively limited; they require the original server to provide a redirect and cannot migrate the user's previous data.
Another major reason is #scalability. #ActivityPub depends heavily on delivering messages between a wide network of small-to-medium sized nodes, which can cause individual #nodes to be flooded with traffic and generally struggles to provide global views of #activity.”
Short version, WE CANT CONTROL YOU.
@peterrenshaw@ioc.exchange · Reply to ☮ ♥ ♬ 🧑💻's post
Big question, Why ATProtocol from #BlueSkySocial #PBC’s mouth instead of Mastodon and ActivityPub?:
“Why not use ActivityPub? #ActivityPub is a federated social networking technology popularized by #Mastodon.
Account #portability is a major reason why we chose to build a separate protocol. We consider portability to be crucial because it protects #users from sudden bans, server shutdowns, and policy disagreements. Our #solution for portability requires both signed data repositories and #DIDs, neither of which are easy to retrofit into ActivityPub. The migration #tools for ActivityPub are comparatively limited; they require the original server to provide a redirect and cannot migrate the user's previous data.
Another major reason is #scalability. #ActivityPub depends heavily on delivering messages between a wide network of small-to-medium sized nodes, which can cause individual #nodes to be flooded with traffic and generally struggles to provide global views of #activity.”
Short version, WE CANT CONTROL YOU.
@peterrenshaw@ioc.exchange · Reply to ☮ ♥ ♬ 🧑💻's post
“that would involve involve cutting back its work on a #Mastodon instance” — #NabhiaSyed, #MozillaCorporate, #Mozilla
And replacing future technical work to improve #Mastodon with this dog pile of AT Protocol concept. 👇👇👇
“Free Our Feeds solicits funds to foster AT Protocol that powers decentralized social media”
#FreeOurFeeds / #BlueSky / #Meta / #ATProtocol #ActivityPub <https://www.theregister.com/2025/01/14/free_our_feeds_decentralized_social_media/>
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
If you answered “No”, which installation method do you prefer?
Your feedback helps us prioritize distribution channels! Thanks for contributing to the Fedify ecosystem.
Option | Voters |
---|---|
npm | 3 (25%) |
Deno | 3 (25%) |
Manual download | 5 (42%) |
Other (please specify in replies) | 1 (8%) |
@fedify@hollo.social
We're considering packaging the Fedify CLI for Homebrew to make installation easier on macOS and Linux (via Linuxbrew).
Option | Voters |
---|---|
Yes, I'd definitely use it on macOS. | 8 (32%) |
Yes, I'd definitely use it on Linux. | 3 (12%) |
Maybe, depending on the implementation. | 4 (16%) |
No, I prefer other installation methods. | 10 (40%) |
@fedify@hollo.social
We're considering packaging the Fedify CLI for Homebrew to make installation easier on macOS and Linux (via Linuxbrew).
Option | Voters |
---|---|
Yes, I'd definitely use it on macOS. | 8 (32%) |
Yes, I'd definitely use it on Linux. | 3 (12%) |
Maybe, depending on the implementation. | 4 (16%) |
No, I prefer other installation methods. | 10 (40%) |
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
If you answered “No”, which installation method do you prefer?
Your feedback helps us prioritize distribution channels! Thanks for contributing to the Fedify ecosystem.
Option | Voters |
---|---|
npm | 3 (25%) |
Deno | 3 (25%) |
Manual download | 5 (42%) |
Other (please specify in replies) | 1 (8%) |
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
If you answered “No”, which installation method do you prefer?
Your feedback helps us prioritize distribution channels! Thanks for contributing to the Fedify ecosystem.
Option | Voters |
---|---|
npm | 3 (25%) |
Deno | 3 (25%) |
Manual download | 5 (42%) |
Other (please specify in replies) | 1 (8%) |
@fedify@hollo.social
We're considering packaging the Fedify CLI for Homebrew to make installation easier on macOS and Linux (via Linuxbrew).
Option | Voters |
---|---|
Yes, I'd definitely use it on macOS. | 8 (32%) |
Yes, I'd definitely use it on Linux. | 3 (12%) |
Maybe, depending on the implementation. | 4 (16%) |
No, I prefer other installation methods. | 10 (40%) |
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
If you answered “No”, which installation method do you prefer?
Your feedback helps us prioritize distribution channels! Thanks for contributing to the Fedify ecosystem.
Option | Voters |
---|---|
npm | 3 (25%) |
Deno | 3 (25%) |
Manual download | 5 (42%) |
Other (please specify in replies) | 1 (8%) |
@fedify@hollo.social
We're considering packaging the Fedify CLI for Homebrew to make installation easier on macOS and Linux (via Linuxbrew).
Option | Voters |
---|---|
Yes, I'd definitely use it on macOS. | 8 (32%) |
Yes, I'd definitely use it on Linux. | 3 (12%) |
Maybe, depending on the implementation. | 4 (16%) |
No, I prefer other installation methods. | 10 (40%) |
@weekinfediverse@mitra.social
Servers
- GoToSocial v0.18.0
- Manyfold v0.102.0
- Hollo v0.5.4
- Mitra v3.18.0
- NodeBB v4.1.0
- Mastodon v4.3.4
- Misskey v2025.2.1
- ActivityPub for WordPress v5.3.0
- Castopod v1.13.4
- Ibis v0.2.4
- kmyblue v17.1
- PieFed development update Jan/Feb 2024
Clients
- Fedilab v3.29.1
- Pachli v2.10.0
- Voyager v2.24.3
- Interstellar v0.8.0
- RaccoonForFriendica v0.4.1
Tools and Plugins
- LemmySchedule v1.13.0
- Enable Mastodon Apps for WordPress v1.3.0
- slurp: A tool for exporting data from and importing data to Fediverse instances
- Identity Graph Explorer: Find out how identifiers on the Fediverse / Social Web are connected to one another
Protocol
Articles
- Importing Pixelfed Posts to GoToSocial with Slurp
- FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands
- Fediverse Report #105
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019529ff-7a45-9752-16f2-a3e780746c1c
@weekinfediverse@mitra.social
Servers
- GoToSocial v0.18.0
- Manyfold v0.102.0
- Hollo v0.5.4
- Mitra v3.18.0
- NodeBB v4.1.0
- Mastodon v4.3.4
- Misskey v2025.2.1
- ActivityPub for WordPress v5.3.0
- Castopod v1.13.4
- Ibis v0.2.4
- kmyblue v17.1
- PieFed development update Jan/Feb 2024
Clients
- Fedilab v3.29.1
- Pachli v2.10.0
- Voyager v2.24.3
- Interstellar v0.8.0
- RaccoonForFriendica v0.4.1
Tools and Plugins
- LemmySchedule v1.13.0
- Enable Mastodon Apps for WordPress v1.3.0
- slurp: A tool for exporting data from and importing data to Fediverse instances
- Identity Graph Explorer: Find out how identifiers on the Fediverse / Social Web are connected to one another
Protocol
Articles
- Importing Pixelfed Posts to GoToSocial with Slurp
- FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands
- Fediverse Report #105
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019529ff-7a45-9752-16f2-a3e780746c1c
@box464@mastodon.social
Do something nice and drop a star on Owncast’s GitHub repository. More stars, more credits.
#FediDevs #Fediverse #ActivityPub
https://fosstodon.org/@owncast/114083484919105292
@weekinfediverse@mitra.social
Servers
- GoToSocial v0.18.0
- Manyfold v0.102.0
- Hollo v0.5.4
- Mitra v3.18.0
- NodeBB v4.1.0
- Mastodon v4.3.4
- Misskey v2025.2.1
- ActivityPub for WordPress v5.3.0
- Castopod v1.13.4
- Ibis v0.2.4
- kmyblue v17.1
- PieFed development update Jan/Feb 2024
Clients
- Fedilab v3.29.1
- Pachli v2.10.0
- Voyager v2.24.3
- Interstellar v0.8.0
- RaccoonForFriendica v0.4.1
Tools and Plugins
- LemmySchedule v1.13.0
- Enable Mastodon Apps for WordPress v1.3.0
- slurp: A tool for exporting data from and importing data to Fediverse instances
- Identity Graph Explorer: Find out how identifiers on the Fediverse / Social Web are connected to one another
Protocol
Articles
- Importing Pixelfed Posts to GoToSocial with Slurp
- FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands
- Fediverse Report #105
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019529ff-7a45-9752-16f2-a3e780746c1c
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@hongminhee@hollo.social
I talked about #ActivityPub and #Fedify on @guu's wonderful podcast, Software Sessions. I'm embarrassed by my poor English, but if you're interested, please listen!
@guu@notacult.social
I spoke with @hongminhee about ActivityPub, the Fediverse, and his experience implementing the specification!
@hongminhee@hollo.social
The hardest platform to interoperate with when implementing an #ActivityPub server is #Threads. They often spit out a 500 Internal Server Error
with no message, and they don't even provide source code, which makes it impossible for me to reproduce the error.
@fedizen@mastodon.social
»Last Week in the ATmosphere – 2025feb.d« https://fediversereport.com/last-week-in-the-atmosphere-2025feb-d/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@box464@mastodon.social
Fun! I like this style of these live streams, more casual and more focused on the person rather than just the code. Check it out.
@fedizen@mastodon.social
»Last Week in the ATmosphere – 2025feb.d« https://fediversereport.com/last-week-in-the-atmosphere-2025feb-d/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@immibis@social.immibis.com · Reply to BeAware :fediverse:'s post
@immibis@social.immibis.com
@hongminhee@hollo.social
The hardest platform to interoperate with when implementing an #ActivityPub server is #Threads. They often spit out a 500 Internal Server Error
with no message, and they don't even provide source code, which makes it impossible for me to reproduce the error.
@hongminhee@hollo.social
The hardest platform to interoperate with when implementing an #ActivityPub server is #Threads. They often spit out a 500 Internal Server Error
with no message, and they don't even provide source code, which makes it impossible for me to reproduce the error.
@hongminhee@hollo.social
The hardest platform to interoperate with when implementing an #ActivityPub server is #Threads. They often spit out a 500 Internal Server Error
with no message, and they don't even provide source code, which makes it impossible for me to reproduce the error.
@hongminhee@hollo.social
The hardest platform to interoperate with when implementing an #ActivityPub server is #Threads. They often spit out a 500 Internal Server Error
with no message, and they don't even provide source code, which makes it impossible for me to reproduce the error.
@box464@mastodon.social
Fun! I like this style of these live streams, more casual and more focused on the person rather than just the code. Check it out.
@box464@mastodon.social
Fun! I like this style of these live streams, more casual and more focused on the person rather than just the code. Check it out.
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
A good file-extension for ActivityPub / ActivityStream files might be:
.activity
And maybe also:
.jsonactivity
Those could be used to trigger a web-server to respond with the Content-Type "application/activity+json".
.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #FileExtension #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
.json isn't sufficient, since it would produce a Content-Type of "application/json" rather than "application/activity+json".
ActivityPub / ActivityStream files need their own file-extension.
...
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #FileExtension #OpenSocial #SocialWeb
@reiver@mastodon.social
1/
A file-extension for ActivityPub /ActivityStream files.
...
On many web-servers, the Content-Type returned when serving a file is based on the file-extension of the file.
Ex: .txt for text files, .gz for gzip files, .gmni for gemtext files, etc.
I am not aware of a widely used file-extension for ActivityStreams / ActivityPub files.
...
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #FileExtension #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
4/
This needs some testing to see what extant Fediverse software actually does.
For example — with the extant Fediverse software —
Does the avatar image, the (actor) name, etc show up with the post?
Does the post show up?
Etc?
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
Now, this would probably break like counts, share counts, a replies to some degree.
But, if you didn't care about that, I think it should work.
...
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
For example, at:
http;//example·com/object/123
You might have the activity-JSON (application/activity+json):
{
....
"attributedTo": "https;//mastodon·social/users/reiver",
...
}
I.e., a Note or Article or whatever is saying that the author is NOT an actor on the same server host (example·com), but an actor over on the server host mastodon·social.
...
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #SocialWeb
@reiver@mastodon.social
1/
You could have a post on one server host attribute and account on another server host as its author.
All you have to do is set the "attributedTo" field appropriately.
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-attributedto
For example....
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #SocialWeb
@fedify@hollo.social
Excited to share that Fedify CLI is now available on Scoop for #Windows users! You can easily install it with scoop install fedify
. One more way to get started with #ActivityPub development!
@fedify@hollo.social
Excited to share that Fedify CLI is now available on Scoop for #Windows users! You can easily install it with scoop install fedify
. One more way to get started with #ActivityPub development!
@reiver@mastodon.social
Is SpaceBar adding AcitivtyPub support?
SpaceBar (formlery called "Fosscord") is an open-source alternative to Discord.
https://github.com/spacebarchat
https://github.com/spacebarchat/activitypub-types
RE: https://mastodon.social/@reiver/114070527125565414
#ActivityPub #ActivityStreams #DeSo #Discord #Fediverse #Fosscord #OpenSocial #OpenSource #SocialWeb #SpaceBar #SpaceBarChat
@reiver@mastodon.social
ActivityPub outboxes are the new RSS / Atom / WebFeed.
You can just read from them to get a JSON feed of someone's posts.
I.e., you do NOT have to implement the full suite of Fediverse protocols, or Follow, or run your own server, or anything else to get someone's posts on the Fediverse — just read from their outbox.
#ActivityPub #ActivityStreams #AtomFeed #AtomFormat #DeSe #FediDev #FediDevs #Fediverse #JSON #OpenSocial #RSS #SocialWeb
@reiver@mastodon.social
ActivityPub outboxes are the new RSS / Atom / WebFeed.
You can just read from them to get a JSON feed of someone's posts.
I.e., you do NOT have to implement the full suite of Fediverse protocols, or Follow, or run your own server, or anything else to get someone's posts on the Fediverse — just read from their outbox.
#ActivityPub #ActivityStreams #AtomFeed #AtomFormat #DeSe #FediDev #FediDevs #Fediverse #JSON #OpenSocial #RSS #SocialWeb
@lokigwyn@vintagepropagand.art
Quick test: can you see the profile image of the account I'm writing this message with?
Can you tell me which network you use (Mastodon, Pixelfed, GoToSocial, Pleroma, Miskey, etc.) and your client (Android app, Web app)?
Thanks in advance!
(My PP is set up correctly but is not displayed, I explain this on my main account, here:https://mastodon.art/@lokigwyn/114071281228472415 )
#Fediverse #Fedihelp #GoToSocial #ActivityPub
@lokigwyn@mastodon.art
Hi people who use #GoToSocial!
I'm in the process of setting up my account on my personal instance and I'm noticing that my profile picture isn't being displayed when you view the account from Mastodon (official client or other external clients) or Pixelfed.
I know it works because I've seen several GtS accounts here with PPs that display fine. Any ideas on how to get it to display?
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
ActivityPub & ActivityStreams are based on JSON-LD — a format that is not (non-programmer) human-legible & human-writable
Maybe we need an alternative way of encoding ActivityPub & ActivityStreams in situations where (non-programmer) humans might read it or write it
Maybe the INI file data format? Or something else that is friendly to (non-programmer) humans?
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #HumanLegible #HumanWritable #INI #JSON #JSONLD #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
I agree that an open protocol is better and more important than just an application.
But I also think that an open file data format is better and more important than just an open protocol.
I.e.,:
file data format ≫ protocol ≫ app
...
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #HumanLegible #HumanWritable #INI #JSON #JSONLD #OpenSocial #SocialWeb
@reiver@mastodon.social
1/
JSON-LD is not (non-programmer) human-legible format because — JSON is not (non-programmer) human-legible format.
JSON-LD and JSON are both also not (non-programmer) human-writable.
...
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #HumanLegible #HumanWritable #INI #JSON #JSONLD #OpenSocial #SocialWeb
@reiver@mastodon.social
ActivityPub outboxes are the new RSS / Atom / WebFeed.
You can just read from them to get a JSON feed of someone's posts.
I.e., you do NOT have to implement the full suite of Fediverse protocols, or Follow, or run your own server, or anything else to get someone's posts on the Fediverse — just read from their outbox.
#ActivityPub #ActivityStreams #AtomFeed #AtomFormat #DeSe #FediDev #FediDevs #Fediverse #JSON #OpenSocial #RSS #SocialWeb
@reiver@mastodon.social
ActivityPub outboxes are the new RSS / Atom / WebFeed.
You can just read from them to get a JSON feed of someone's posts.
I.e., you do NOT have to implement the full suite of Fediverse protocols, or Follow, or run your own server, or anything else to get someone's posts on the Fediverse — just read from their outbox.
#ActivityPub #ActivityStreams #AtomFeed #AtomFormat #DeSe #FediDev #FediDevs #Fediverse #JSON #OpenSocial #RSS #SocialWeb
@reiver@mastodon.social
What if a (new type of) Fediverse server automagically created an ActivityPub actor for each hash-tag.
So, for example, if someone on the server used:
⋕banana
(Then if the domain of the server is "example.com") then we would automagically have the actor:
@banana@example·com
Probably a group actor.
And it boosted any local post with that hash-tag.
Then you could follow a hash-tag on a server.
#ActivityPub #ActivityStreams #DeSe #FediDev #FediDevs #Fediverse #HashTag #OpenSocial #SocialWeb
@reiver@mastodon.social
ActivityPub outboxes are the new RSS / Atom / WebFeed.
You can just read from them to get a JSON feed of someone's posts.
I.e., you do NOT have to implement the full suite of Fediverse protocols, or Follow, or run your own server, or anything else to get someone's posts on the Fediverse — just read from their outbox.
#ActivityPub #ActivityStreams #AtomFeed #AtomFormat #DeSe #FediDev #FediDevs #Fediverse #JSON #OpenSocial #RSS #SocialWeb
@reiver@mastodon.social
This feels so wasteful —
Including the same content twice — once in "content" and again in "contentMap".
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #JSONLD #OpenSocial #SocialWeb
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@pfefferle@mastodon.social
does someone know how to best contact the admins of loma.ml? it seems that content negotiation on the profile URLs/IDs are not working properly!
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@box464@mastodon.social
@box464@mastodon.social
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@atomicpoet@atomicpoet.org
The Verge just interviewed Evan Prodroumou. That is, @evan, Research Director at @swf, and co-author of #ActivityPub. And he shares some big news:
@elgg@indieweb.social
#ActivityPub plugin for #Elgg in development: Groups support ⚡
Please test it by joining @activitypubgroup
Then publish a new post mentioning @activitypubgroup
Once published, the new post will appear in Elgg and boosted by Group in #Fediverse.
More details: https://github.com/RiverVanRain/activitypub/wiki/Welcome#groups
Release is coming soon 💪
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@atomicpoet@atomicpoet.org
The Verge just interviewed Evan Prodroumou. That is, @evan, Research Director at @swf, and co-author of #ActivityPub. And he shares some big news:
@atomicpoet@atomicpoet.org
The Verge just interviewed Evan Prodroumou. That is, @evan, Research Director at @swf, and co-author of #ActivityPub. And he shares some big news:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@dee@mice.tel
I'm kind of curious: how many of you on #ActivityPub based platforms also have an account on #Bluesky? most people I've seen using both usually opt in for something like Bridgy Fed, instead of maintaining separate accounts.
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:
Fedify(@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。
Hollo(@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。
Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。
BotKit(@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。
BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!
これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。
これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:
#Fedify #ActivityPub #フェディバース #fediverse #Hollo #BotKit #fedidev
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@silverpill@mitra.social
Updating "FEP-f06f: Object observers": https://codeberg.org/fediverse/fep/pulls/512
I was thinking about managing a thread with #ActivityPub client and realized that observer actors would need to be created with Create(Application)
activity where actor
is user's primary actor (the one created during the registration).
This is unusual, but should work. Primary actors can't be created this way because the actor
property of Create
activity can't refer to a not yet created actor.
@silverpill@mitra.social
Updating "FEP-f06f: Object observers": https://codeberg.org/fediverse/fep/pulls/512
I was thinking about managing a thread with #ActivityPub client and realized that observer actors would need to be created with Create(Application)
activity where actor
is user's primary actor (the one created during the registration).
This is unusual, but should work. Primary actors can't be created this way because the actor
property of Create
activity can't refer to a not yet created actor.
@jwildeboer@social.wildeboer.net
Sometimes I learn things about #ActivityPub and wonder “what the hell were they smoking?” https://cyberplace.social/@GossiTheDog/114058565002752078
@Linux_Is_Best@misskey.de
There are times I wish Misskey had an EDIT button.
It has a delete and edit option, meaning to start over.
Really need to find a Cherry Pick instance that is overseas and is OK with someone speaking in English, that also is well federated.
#Misskey #Fediverse #ActivityPub
@fedify@hollo.social
We're excited to announce two major features coming in #Fedify 1.5.0, focused on giving you more control over domain names in your federated apps:
Want different domains for your WebFinger handles and server URIs? Fedify 1.5.0 will let you use domains like @alice@example.com
as fediverse handles while serving content from https://ap.example.com
. This gives you more flexibility in how you structure your federated services.
Need to ensure consistent URLs across your infrastructure? The new canonical origin support lets you explicitly set your server's authoritative domain. This is particularly useful when running behind reverse proxies or load balancers—no more unexpected URLs generated from internal hostnames.
These features represent our ongoing commitment to making Fedify more flexible and production-ready.
Can't wait to try these features? You can experiment with them today using our unstable release v1.5.0-dev.680+562e3dc0 (JSR & npm). Keep in mind that this is an unstable release intended for testing—use it in production at your own risk.
Otherwise, stay tuned for the stable Fedify 1.5.0 release!
@fedify@hollo.social
We're excited to announce two major features coming in #Fedify 1.5.0, focused on giving you more control over domain names in your federated apps:
Want different domains for your WebFinger handles and server URIs? Fedify 1.5.0 will let you use domains like @alice@example.com
as fediverse handles while serving content from https://ap.example.com
. This gives you more flexibility in how you structure your federated services.
Need to ensure consistent URLs across your infrastructure? The new canonical origin support lets you explicitly set your server's authoritative domain. This is particularly useful when running behind reverse proxies or load balancers—no more unexpected URLs generated from internal hostnames.
These features represent our ongoing commitment to making Fedify more flexible and production-ready.
Can't wait to try these features? You can experiment with them today using our unstable release v1.5.0-dev.680+562e3dc0 (JSR & npm). Keep in mind that this is an unstable release intended for testing—use it in production at your own risk.
Otherwise, stay tuned for the stable Fedify 1.5.0 release!
@fedify@hollo.social
We're excited to announce two major features coming in #Fedify 1.5.0, focused on giving you more control over domain names in your federated apps:
Want different domains for your WebFinger handles and server URIs? Fedify 1.5.0 will let you use domains like @alice@example.com
as fediverse handles while serving content from https://ap.example.com
. This gives you more flexibility in how you structure your federated services.
Need to ensure consistent URLs across your infrastructure? The new canonical origin support lets you explicitly set your server's authoritative domain. This is particularly useful when running behind reverse proxies or load balancers—no more unexpected URLs generated from internal hostnames.
These features represent our ongoing commitment to making Fedify more flexible and production-ready.
Can't wait to try these features? You can experiment with them today using our unstable release v1.5.0-dev.680+562e3dc0 (JSR & npm). Keep in mind that this is an unstable release intended for testing—use it in production at your own risk.
Otherwise, stay tuned for the stable Fedify 1.5.0 release!
@fedify@hollo.social
We're excited to announce two major features coming in #Fedify 1.5.0, focused on giving you more control over domain names in your federated apps:
Want different domains for your WebFinger handles and server URIs? Fedify 1.5.0 will let you use domains like @alice@example.com
as fediverse handles while serving content from https://ap.example.com
. This gives you more flexibility in how you structure your federated services.
Need to ensure consistent URLs across your infrastructure? The new canonical origin support lets you explicitly set your server's authoritative domain. This is particularly useful when running behind reverse proxies or load balancers—no more unexpected URLs generated from internal hostnames.
These features represent our ongoing commitment to making Fedify more flexible and production-ready.
Can't wait to try these features? You can experiment with them today using our unstable release v1.5.0-dev.680+562e3dc0 (JSR & npm). Keep in mind that this is an unstable release intended for testing—use it in production at your own risk.
Otherwise, stay tuned for the stable Fedify 1.5.0 release!
@fedify@hollo.social
We're excited to announce two major features coming in #Fedify 1.5.0, focused on giving you more control over domain names in your federated apps:
Want different domains for your WebFinger handles and server URIs? Fedify 1.5.0 will let you use domains like @alice@example.com
as fediverse handles while serving content from https://ap.example.com
. This gives you more flexibility in how you structure your federated services.
Need to ensure consistent URLs across your infrastructure? The new canonical origin support lets you explicitly set your server's authoritative domain. This is particularly useful when running behind reverse proxies or load balancers—no more unexpected URLs generated from internal hostnames.
These features represent our ongoing commitment to making Fedify more flexible and production-ready.
Can't wait to try these features? You can experiment with them today using our unstable release v1.5.0-dev.680+562e3dc0 (JSR & npm). Keep in mind that this is an unstable release intended for testing—use it in production at your own risk.
Otherwise, stay tuned for the stable Fedify 1.5.0 release!
@fedify@hollo.social
We're excited to announce two major features coming in #Fedify 1.5.0, focused on giving you more control over domain names in your federated apps:
Want different domains for your WebFinger handles and server URIs? Fedify 1.5.0 will let you use domains like @alice@example.com
as fediverse handles while serving content from https://ap.example.com
. This gives you more flexibility in how you structure your federated services.
Need to ensure consistent URLs across your infrastructure? The new canonical origin support lets you explicitly set your server's authoritative domain. This is particularly useful when running behind reverse proxies or load balancers—no more unexpected URLs generated from internal hostnames.
These features represent our ongoing commitment to making Fedify more flexible and production-ready.
Can't wait to try these features? You can experiment with them today using our unstable release v1.5.0-dev.680+562e3dc0 (JSR & npm). Keep in mind that this is an unstable release intended for testing—use it in production at your own risk.
Otherwise, stay tuned for the stable Fedify 1.5.0 release!
@evangelos@libretooth.gr
I am not able to see or get notifications for any of the recent posts made by someone I follow (for at least a month now).
They are on the #fosstodon instance and I found this out accidentally by going to their original page.
I don't think that is normal? What am I missing?
@evangelos@libretooth.gr
I am not able to see or get notifications for any of the recent posts made by someone I follow (for at least a month now).
They are on the #fosstodon instance and I found this out accidentally by going to their original page.
I don't think that is normal? What am I missing?
@jalict@mastodon.gamedev.place
Anyone knows of a RSS+Atom to Mastodon/ActivityPub bridge that works with YouTube Channel RSS feeds exist out there?
#askfedi #activitypub #rss #atom #curated_feeds #foss #bridge
@box464@mastodon.social
Share this news with your favorite app developers!
GoToSocial has documented their new global and post level interaction policies. I know @Fedicat has already added these - would love to see them in other apps too.
#FediDev #ActivityPub
https://gts.superseriousbusiness.org/@dumpsterqueer/statuses/01JMPV10WQX3JKAXY3TY319EGS
@box464@mastodon.social
Share this news with your favorite app developers!
GoToSocial has documented their new global and post level interaction policies. I know @Fedicat has already added these - would love to see them in other apps too.
#FediDev #ActivityPub
https://gts.superseriousbusiness.org/@dumpsterqueer/statuses/01JMPV10WQX3JKAXY3TY319EGS
@Paul@hades.town
Does anyone #onHere roll their own fediverse software? I'm starting to add #activitypub features to my blog and I think it would be nice to see what fucked up activities other hobbyists are sending
@weekinfediverse@mitra.social
Servers
- NodeBB v4.0.5
- Hollo v0.5.2
- Ibis v0.2.2
- Honk v1.4.2
- Mobilizon v5.1.2
- Lemmy Development Update 2025-02-21
- Hackers' Pub: ActivityPub-enabled social network for hackers
- FIRM: Federated Information Resource Manager
Clients
- TootRain v2.1.0
- Tinmop v0.9.9.14142135623730
- Dhaaga v0.16.2
- PixelDroid v1.0.beta40
- Alexandrite v0.8.20
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.1.0
- Build Your Own Timeline Algorithm
For developers
Protocol
- FEP-f228: Backfilling conversations
- FEP-f06f: Object observers
Articles
- Talk about the thing itself
- GoToSocial empowers you to have your own home on the Fediverse - with unique controls
- How to Launch Your Own Fediverse Community Server
- The state of conversational contexts (February 2025)
- Fediverse Report – #104
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019505e9-69b3-ca9f-3b11-869a95dc3430
@weekinfediverse@mitra.social
Servers
- NodeBB v4.0.5
- Hollo v0.5.2
- Ibis v0.2.2
- Honk v1.4.2
- Mobilizon v5.1.2
- Lemmy Development Update 2025-02-21
- Hackers' Pub: ActivityPub-enabled social network for hackers
- FIRM: Federated Information Resource Manager
Clients
- TootRain v2.1.0
- Tinmop v0.9.9.14142135623730
- Dhaaga v0.16.2
- PixelDroid v1.0.beta40
- Alexandrite v0.8.20
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.1.0
- Build Your Own Timeline Algorithm
For developers
Protocol
- FEP-f228: Backfilling conversations
- FEP-f06f: Object observers
Articles
- Talk about the thing itself
- GoToSocial empowers you to have your own home on the Fediverse - with unique controls
- How to Launch Your Own Fediverse Community Server
- The state of conversational contexts (February 2025)
- Fediverse Report – #104
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019505e9-69b3-ca9f-3b11-869a95dc3430
@weekinfediverse@mitra.social
Servers
- NodeBB v4.0.5
- Hollo v0.5.2
- Ibis v0.2.2
- Honk v1.4.2
- Mobilizon v5.1.2
- Lemmy Development Update 2025-02-21
- Hackers' Pub: ActivityPub-enabled social network for hackers
- FIRM: Federated Information Resource Manager
Clients
- TootRain v2.1.0
- Tinmop v0.9.9.14142135623730
- Dhaaga v0.16.2
- PixelDroid v1.0.beta40
- Alexandrite v0.8.20
Tools and Plugins
- Enable Mastodon Apps for WordPress v1.1.0
- Build Your Own Timeline Algorithm
For developers
Protocol
- FEP-f228: Backfilling conversations
- FEP-f06f: Object observers
Articles
- Talk about the thing itself
- GoToSocial empowers you to have your own home on the Fediverse - with unique controls
- How to Launch Your Own Fediverse Community Server
- The state of conversational contexts (February 2025)
- Fediverse Report – #104
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019505e9-69b3-ca9f-3b11-869a95dc3430
@fedizen@mastodon.social
»How to Launch Your Own Fediverse Community Server« https://wedistribute.org/2025/02/your-fediverse-server/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@fedizen@mastodon.social
»How to Launch Your Own Fediverse Community Server« https://wedistribute.org/2025/02/your-fediverse-server/?Fedizen.EU #Fedizen #Fediverse #ActivityPub #News
@deadsuperhero@social.wedistribute.org
Really loving #NodeBB so far. We’re currently using it at forum.wedistribute.org, and filing issues as quirks come up. But it’s really a polished experience, and #ActivityPub federation feels really good so far.
Forums could potentially be a really good fit for the Threadiverse, I’m excited to keep exploring this.
@deadsuperhero@social.wedistribute.org
Really loving #NodeBB so far. We’re currently using it at forum.wedistribute.org, and filing issues as quirks come up. But it’s really a polished experience, and #ActivityPub federation feels really good so far.
Forums could potentially be a really good fit for the Threadiverse, I’m excited to keep exploring this.
@tom@tomkahe.com
I've been meaning to check out @botkit for awhile now. Just built a quick bot in like 15 minutes and most of that time was spent trying to figure out how deno deploy works. Anyways, check out @gulfof, if you tag it in a message it will generate a 'Gulf of' map for you using https://gulfof.mapquest.com/
@tom@tomkahe.com
I've been meaning to check out @botkit for awhile now. Just built a quick bot in like 15 minutes and most of that time was spent trying to figure out how deno deploy works. Anyways, check out @gulfof, if you tag it in a message it will generate a 'Gulf of' map for you using https://gulfof.mapquest.com/
@Linux_Is_Best@misskey.de
I am sure there is a reason why those who preach hate speech seem to prefer the software platform, Pleroma, as opposed to Mastodon or Misskey, or the many forks of either. 🤔
#Fediverse #ActivityPub #Mastodon #Misskey #Pleroma
@box464@mastodon.social
IceShrimp.NET has a new beta release, and the front end UI is starting to catch up to the back end. Including everyone's favorite, MFM! (Well, maybe not everybody, but between instances with support, it sure is fun in moderation)
@box464@mastodon.social
IceShrimp.NET has a new beta release, and the front end UI is starting to catch up to the back end. Including everyone's favorite, MFM! (Well, maybe not everybody, but between instances with support, it sure is fun in moderation)
@box464@mastodon.social
IceShrimp.NET has a new beta release, and the front end UI is starting to catch up to the back end. Including everyone's favorite, MFM! (Well, maybe not everybody, but between instances with support, it sure is fun in moderation)
@BeAware@social.beaware.live
Seems like I'm going to be doomed to manually typing out hashtags with CamelCase for each posts even though I mostly always use the same hashtags.🤦♂️
Why is it so hard to implement a working hashtag saver that saves WITH CamelCase?!?
It's wild!
PS. Yes I know Ivory does it for featured hashtags but you can only have a limited number of those
@BeAware@social.beaware.live
Seems like I'm going to be doomed to manually typing out hashtags with CamelCase for each posts even though I mostly always use the same hashtags.🤦♂️
Why is it so hard to implement a working hashtag saver that saves WITH CamelCase?!?
It's wild!
PS. Yes I know Ivory does it for featured hashtags but you can only have a limited number of those
@BeAware@social.beaware.live
Seems like I'm going to be doomed to manually typing out hashtags with CamelCase for each posts even though I mostly always use the same hashtags.🤦♂️
Why is it so hard to implement a working hashtag saver that saves WITH CamelCase?!?
It's wild!
PS. Yes I know Ivory does it for featured hashtags but you can only have a limited number of those
@josemurilo@mato.social
The #EventBridge For #ActivityPub: an add-on for the WordPress #ActivityPubPlugin
"The project goal is to depict typical use cases of event organizers and emphasize their continuity in workflows on WordPress websites. Through pre-study interviews with event organizers, the #plugin is developed closely to their interests and usability and thus, allows this rather non-technical group of users to actively shape the development along their needs and interests."
https://event-federation.eu/wordpress-activitypub-event-extensions/
@tom@tomkahe.com
I've been meaning to check out @botkit for awhile now. Just built a quick bot in like 15 minutes and most of that time was spent trying to figure out how deno deploy works. Anyways, check out @gulfof, if you tag it in a message it will generate a 'Gulf of' map for you using https://gulfof.mapquest.com/
@josemurilo@mato.social
The #EventBridge For #ActivityPub: an add-on for the WordPress #ActivityPubPlugin
"The project goal is to depict typical use cases of event organizers and emphasize their continuity in workflows on WordPress websites. Through pre-study interviews with event organizers, the #plugin is developed closely to their interests and usability and thus, allows this rather non-technical group of users to actively shape the development along their needs and interests."
https://event-federation.eu/wordpress-activitypub-event-extensions/
@liaizon@social.wake.st
Hey @josemurilo did you find someone for the #ActivityPub position?
@FinchHaven@sfba.social · Reply to FediForum's post
Pretty weird that this is publicized as being about the #Fediverse but there's not anyone from any #ActivityPub distribution mentioned
Docktorow, Masnick from the techy rag Techdirt, Evan #MaxiFedi Prodromou from WC3, Cottle from Threads, and Paul Frazee from Bluesky
Anyone missing you can think of?
I sure can
cc @pluralistic @molly0xfff @mmasnick @evan @pcottle @pfrazee.com
@feralthoughts@union.place · Reply to Feral Thoughts's post
A relay may complicate the above picture slightly. But if server Y in the above example is an isolated #GlobalSouth instance, or if it is running software (such as Hubzilla) not based on #ActivityPub, then the relay will most likely not be pulling posts from there, so the example will still hold.
In this context, remember many instances do not add relays because the additional posts pulled in through the relay increase the storage and processing costs.
(continues)
@box464@mastodon.social
Just published a guide on setting up Snac on an Ubuntu VM using NGINX Proxy Manager. Snac is an incredibly lightweight #ActivityPub server. A true nom nom among fediverse platforms.
If you're curious about minimal fediverse instances, check it out:
@atomicpoet@atomicpoet.org
#FediDB respecting robots.txt has really changed how stats are tabulated.
Prior to this change, there were 997 #Pleroma servers that were counted. Now the count has been reduced to 582.
With #WordPress, the difference is more stark. Prior to the change, there was over 9,000 WordPress servers counted. Now the count is at 3,578 servers.
To be sure, I’m not complaining – privacy is important. But it is to say that #ActivityPub user counts should have a big asterisk: many servers have opted out of being crawled. This means they are not being counted.
FediDB says there are 12,923,059 accounts across the #Fediverse. But this is actually drastically higher.
@atomicpoet@atomicpoet.org
#FediDB respecting robots.txt has really changed how stats are tabulated.
Prior to this change, there were 997 #Pleroma servers that were counted. Now the count has been reduced to 582.
With #WordPress, the difference is more stark. Prior to the change, there was over 9,000 WordPress servers counted. Now the count is at 3,578 servers.
To be sure, I’m not complaining – privacy is important. But it is to say that #ActivityPub user counts should have a big asterisk: many servers have opted out of being crawled. This means they are not being counted.
FediDB says there are 12,923,059 accounts across the #Fediverse. But this is actually drastically higher.
@fediforum@mastodon.social
Our friends at Flipboard are organizing a "Fediverse House" at SXSW in Austin, TX, March 9 and 10.
They are putting together a great program with people such as @pluralistic, @molly0xfff, @mmasnick,
@evan, @pcottle and @pfrazee.com !
If you are at SXSW, check it out!
@BeAware@social.beaware.live
Well, my post on Threads about Fediverse has almost 10k views now!
Not much interactions but it's a start.
Hopefully they don't go following that fake "Fediverse" account that doesn't even know how federation works.😬
@box464@mastodon.social
Just published a guide on setting up Snac on an Ubuntu VM using NGINX Proxy Manager. Snac is an incredibly lightweight #ActivityPub server. A true nom nom among fediverse platforms.
If you're curious about minimal fediverse instances, check it out:
@box464@mastodon.social
Just published a guide on setting up Snac on an Ubuntu VM using NGINX Proxy Manager. Snac is an incredibly lightweight #ActivityPub server. A true nom nom among fediverse platforms.
If you're curious about minimal fediverse instances, check it out:
@box464@mastodon.social
Just published a guide on setting up Snac on an Ubuntu VM using NGINX Proxy Manager. Snac is an incredibly lightweight #ActivityPub server. A true nom nom among fediverse platforms.
If you're curious about minimal fediverse instances, check it out:
@atomicpoet@atomicpoet.org
@fediforum@mastodon.social
Our friends at Flipboard are organizing a "Fediverse House" at SXSW in Austin, TX, March 9 and 10.
They are putting together a great program with people such as @pluralistic, @molly0xfff, @mmasnick,
@evan, @pcottle and @pfrazee.com !
If you are at SXSW, check it out!
@fediforum@mastodon.social
Our friends at Flipboard are organizing a "Fediverse House" at SXSW in Austin, TX, March 9 and 10.
They are putting together a great program with people such as @pluralistic, @molly0xfff, @mmasnick,
@evan, @pcottle and @pfrazee.com !
If you are at SXSW, check it out!
@fediforum@mastodon.social
Our friends at Flipboard are organizing a "Fediverse House" at SXSW in Austin, TX, March 9 and 10.
They are putting together a great program with people such as @pluralistic, @molly0xfff, @mmasnick,
@evan, @pcottle and @pfrazee.com !
If you are at SXSW, check it out!
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
9/
And just for the record —
Just like everyone else I contacted about their 'discoverable' flag being defaulted to 'false' —
He wasn't aware of the 'discoverable' flag existing (just like everyone else I contacted).
He didn't want to be hidden (just like everyone else I contacted).
He changed it to 'true' (just like everyone else I contacted).
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@Linux_Is_Best@misskey.de
You are going to see more post that argue this is the world we live in and that this is the way things are. There is going to be a strong, but steady push against people thinking we can change things and that this is the new normal, and that you should just come to accept it.
The idea is the belittle and dismiss people who stand against Trump and his worldview.
You are going to see this on every social media platform.
#Propaganda #Project2025 #Facism #Meta #Facebook #Threads #Instagram #Reddit #Twitter #X #Fediverse #ActivityPub
@Linux_Is_Best@misskey.de
You are going to see more post that argue this is the world we live in and that this is the way things are. There is going to be a strong, but steady push against people thinking we can change things and that this is the new normal, and that you should just come to accept it.
The idea is the belittle and dismiss people who stand against Trump and his worldview.
You are going to see this on every social media platform.
#Propaganda #Project2025 #Facism #Meta #Facebook #Threads #Instagram #Reddit #Twitter #X #Fediverse #ActivityPub
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
8/
As it is now, I think the 'discoverable' flag is broken.
And, I think the whole user-experience (UX) around the 'discoverable' flag is poor.
And, I think Fediverse software treating a 'false' value for 'discoverable' as "not discoverable" (rather than "not discoverable" or "no choice made") has hugely negative consequences for the user-experience (UX) of the Fediverse
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
7/
So now I have to DM Ben to tell him that his 'discoverable' flag is set to false
He (just like everyone else I contacted) will likely not even be aware that the 'discoverable' flag exists
And (just like everyone else I contacted) wished it wasn't set to false
And then (just like everyone else I contacted) struggle to find where he can set it to true
And then set it
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
6/
As it is now, the 'discoverable' flag seems broken to me.
Because 'false' doesn't actually mean 'false'.
'false' (in practice) means both "not discoverable" and "no choice made". And this is a very unfortunate situation —
Because the idea of a 'discoverable' flag is a good idea — but this problem with the meaning of 'false' and the UX consequences a big deal.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
5/
JSON and has a 'null'. That could have been used for the 'discoverable' flag.
We could have had so that:
'discoverable' set to 'true' meant that the user explicitly chose to be discoverable.
'discoverable' set to 'false' meant that the user explicitly chose to not be discoverable.
And 'discoverable' set to 'null' meant that the user has not explicitly made a choice.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
4/
With other conceptions, this lack of choice — this lack of setting a value — isn't as muddled.
With optional-types (which are also called "option-types" and "maybe-types") when something isn't assigned a value it is represented as 'nothing' / 'none'.
In relation-databases, this is represented as 'null'.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
As it is right now, the 'discoverable' flag does not communicate whether the user actually made a 'true' or 'false' choice.
If it is 'true' we know they made a choice.
But if it is 'false' it either means the user chose 'false' or the user didn't make a choice. BUT WE CANNOT TELL THE DIFFERENCE.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
There are a HUGE number of people who (unknown to them) have their 'discoverable' flags set to 'false' who —
№2:
Do NOT know that they have a 'discoverable' flag —
And do NOT know that their 'discoverable' flag was automagically set to 'false' —
And do not understand the consequence of having their 'discoverable' flag set to false.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social
1/
A problem with the 'discoverable' flag (in Mastodon and any other Fediverse software that added it) is —
There are a HUGE number of people who (unknown to them) have their 'discoverable' flags set to 'false' who —
№1:
Did NOT set their 'discoverable' to 'false' themselves.
Mastodon assigned it for them without ever asking them before hand and getting consent.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@atomicpoet@atomicpoet.org
@atomicpoet@atomicpoet.org
@malte@radikal.social
Is there an ActivityPub-based wiki software for the fediverse or something under development? #Fediverse #Wiki #activitypub
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
8/
As it is now, I think the 'discoverable' flag is broken.
And, I think the whole user-experience (UX) around the 'discoverable' flag is poor.
And, I think Fediverse software treating a 'false' value for 'discoverable' as "not discoverable" (rather than "not discoverable" or "no choice made") has hugely negative consequences for the user-experience (UX) of the Fediverse
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
7/
So now I have to DM Ben to tell him that his 'discoverable' flag is set to false
He (just like everyone else I contacted) will likely not even be aware that the 'discoverable' flag exists
And (just like everyone else I contacted) wished it wasn't set to false
And then (just like everyone else I contacted) struggle to find where he can set it to true
And then set it
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
6/
As it is now, the 'discoverable' flag seems broken to me.
Because 'false' doesn't actually mean 'false'.
'false' (in practice) means both "not discoverable" and "no choice made". And this is a very unfortunate situation —
Because the idea of a 'discoverable' flag is a good idea — but this problem with the meaning of 'false' and the UX consequences a big deal.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
5/
JSON and has a 'null'. That could have been used for the 'discoverable' flag.
We could have had so that:
'discoverable' set to 'true' meant that the user explicitly chose to be discoverable.
'discoverable' set to 'false' meant that the user explicitly chose to not be discoverable.
And 'discoverable' set to 'null' meant that the user has not explicitly made a choice.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
4/
With other conceptions, this lack of choice — this lack of setting a value — isn't as muddled.
With optional-types (which are also called "option-types" and "maybe-types") when something isn't assigned a value it is represented as 'nothing' / 'none'.
In relation-databases, this is represented as 'null'.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
As it is right now, the 'discoverable' flag does not communicate whether the user actually made a 'true' or 'false' choice.
If it is 'true' we know they made a choice.
But if it is 'false' it either means the user chose 'false' or the user didn't make a choice. BUT WE CANNOT TELL THE DIFFERENCE.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
There are a HUGE number of people who (unknown to them) have their 'discoverable' flags set to 'false' who —
№2:
Do NOT know that they have a 'discoverable' flag —
And do NOT know that their 'discoverable' flag was automagically set to 'false' —
And do not understand the consequence of having their 'discoverable' flag set to false.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@reiver@mastodon.social
1/
A problem with the 'discoverable' flag (in Mastodon and any other Fediverse software that added it) is —
There are a HUGE number of people who (unknown to them) have their 'discoverable' flags set to 'false' who —
№1:
Did NOT set their 'discoverable' to 'false' themselves.
Mastodon assigned it for them without ever asking them before hand and getting consent.
#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb
@elgg@indieweb.social
#ActivityPub plugin for #Elgg in development: Groups support ⚡
Please test it by joining @activitypubgroup
Then publish a new post mentioning @activitypubgroup
Once published, the new post will appear in Elgg and boosted by Group in #Fediverse.
More details: https://github.com/RiverVanRain/activitypub/wiki/Welcome#groups
Release is coming soon 💪
@kakurady@fursuits.online
Bluesky has tried to set up the corporate structure to be sellout resistant. But these measures have yet to be tested. Backed by venture capital, it will still be pressured to make a profit quickly - and discontinuing #ATProtocol would be a quick way to make a buck.
Meanwhile, over 15000 active sites run #ActivityPub compatible code, including Mastodon, Misskey, GotoSocial and more (see https://instances.social/list/old ). Even if Mastodon.social goes down, the network stays on. https://phillipjreese.com/the-social-network-that-cant-sell-out-understanding-mastodon-vs-bluesky/
@silverpill@mitra.social
How to subscribe to a thread?
Several days ago FEP-efda: Followable objects was published. I don't like this solution because ActivityPub spec only talks about "following" in the context of actors, and the proposed "proxy-following" mechanism forces us to change some well-established practices.
So here is an alternative: FEP-f06f: Object observers.
Object observer is an actor that can be followed to receive object updates. If conversation thread is a collection, its observer will broadcast Add
and Remove
activities that have thread collection as their target
. Observer's followers will have an up-to-date view of the thread.
@silverpill@mitra.social
How to subscribe to a thread?
Several days ago FEP-efda: Followable objects was published. I don't like this solution because ActivityPub spec only talks about "following" in the context of actors, and the proposed "proxy-following" mechanism forces us to change some well-established practices.
So here is an alternative: FEP-f06f: Object observers.
Object observer is an actor that can be followed to receive object updates. If conversation thread is a collection, its observer will broadcast Add
and Remove
activities that have thread collection as their target
. Observer's followers will have an up-to-date view of the thread.
@silverpill@mitra.social
How to subscribe to a thread?
Several days ago FEP-efda: Followable objects was published. I don't like this solution because ActivityPub spec only talks about "following" in the context of actors, and the proposed "proxy-following" mechanism forces us to change some well-established practices.
So here is an alternative: FEP-f06f: Object observers.
Object observer is an actor that can be followed to receive object updates. If conversation thread is a collection, its observer will broadcast Add
and Remove
activities that have thread collection as their target
. Observer's followers will have an up-to-date view of the thread.
@silverpill@mitra.social
How to subscribe to a thread?
Several days ago FEP-efda: Followable objects was published. I don't like this solution because ActivityPub spec only talks about "following" in the context of actors, and the proposed "proxy-following" mechanism forces us to change some well-established practices.
So here is an alternative: FEP-f06f: Object observers.
Object observer is an actor that can be followed to receive object updates. If conversation thread is a collection, its observer will broadcast Add
and Remove
activities that have thread collection as their target
. Observer's followers will have an up-to-date view of the thread.
@silverpill@mitra.social
How to subscribe to a thread?
Several days ago FEP-efda: Followable objects was published. I don't like this solution because ActivityPub spec only talks about "following" in the context of actors, and the proposed "proxy-following" mechanism forces us to change some well-established practices.
So here is an alternative: FEP-f06f: Object observers.
Object observer is an actor that can be followed to receive object updates. If conversation thread is a collection, its observer will broadcast Add
and Remove
activities that have thread collection as their target
. Observer's followers will have an up-to-date view of the thread.
@pfefferle@mastodon.social
does a preview object have to have it's own unique ID: https://www.w3.org/TR/activitystreams-vocabulary/#dfn-preview ???
/cc @evan @trwnh @johnonolan
@kakurady@fursuits.online
Bluesky has tried to set up the corporate structure to be sellout resistant. But these measures have yet to be tested. Backed by venture capital, it will still be pressured to make a profit quickly - and discontinuing #ATProtocol would be a quick way to make a buck.
Meanwhile, over 15000 active sites run #ActivityPub compatible code, including Mastodon, Misskey, GotoSocial and more (see https://instances.social/list/old ). Even if Mastodon.social goes down, the network stays on. https://phillipjreese.com/the-social-network-that-cant-sell-out-understanding-mastodon-vs-bluesky/
@box464@mastodon.social
There we go. #Snac2 up and running with the preferred installation process. Added custom styling to boot. One confusion point with styling is that it does NOT affect the root page (greeting.html) only the profile pages. So I thought I had done something wrong, but finally figured it out.
@box464@mastodon.social
There we go. #Snac2 up and running with the preferred installation process. Added custom styling to boot. One confusion point with styling is that it does NOT affect the root page (greeting.html) only the profile pages. So I thought I had done something wrong, but finally figured it out.
@box464@mastodon.social
There we go. #Snac2 up and running with the preferred installation process. Added custom styling to boot. One confusion point with styling is that it does NOT affect the root page (greeting.html) only the profile pages. So I thought I had done something wrong, but finally figured it out.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 프로토콜 구현을 도와주는 #TypeScript 프레임워크입니다. 복잡한 연합 프로토콜을 쉽게 구현하고 싶으신가요? Fedify가 도와드립니다!
오픈소스 #MIT 라이선스로 누구나 자유롭게 사용할 수 있습니다!
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@_elena@mastodon.social · Reply to Elena Rossini ⁂'s post
an important addendum to my previous toot: to enjoy all the benefits of the Fediverse you only need ONE account – because projects "talk to each other" thanks to the magic of #ActivityPub.
That said, the 2 things I find really empowering are:
1) being familiar with major projects, so I can make an informed decision about which one(s) to use
2) being able to self-host. It's the greatest feeling when it comes to digital sovereignty
And I'm just a filmmaker / creative person with 0 dev skills
@naturzukunft@mastodon.social
It's somehow too confusing for me, 90 FEPs. We should soon think about how to organize them and give them weighting.
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.0
- snac v2.72
- Lemmy v0.19.9
- flohmarkt v0.8.0
- GoToSocial v0.17.4
- Hollo v0.5.0
- Manyfold v0.100.0
- Mitra v3.17.0
- ActivityPub for WordPress v5.2.0
- Pleroma ActivityRelay v0.3.4
- NeoDB v0.11.4.7
- tootik v0.15.3
- kmyblue v17.0
- Trunk & Tidbits, January 2025
- Bringing Quote Posts to Mastodon
Clients
- Mangane v1.13.6
- Thunder v0.6.1
- Fediboat: Mastodon TUI client with a Newsboat-like interface
Tools and Plugins
- Event Bridge for ActivityPub v1.0.0 (WordPress plugin)
- Enable Mastodon Apps for WordPress v1.0.0
- LemmyWebhook v0.19.0
- Mastodon – Simplified Federation v2.2.1
- Utsukta Hub themes: A collection of custom themes developed for Hubzilla
For developers
- BotKit v0.1.1
- TootSDK v13.0.0
- apsig: Signature implementation used in ActivityPub (python)
Protocol
- FEP-efda: Followable objects
Articles
- Tumblr to join the fediverse after WordPress migration completes
- Last Week in Fediverse #103
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194e1e4-74a9-17c1-c347-9674b1a3f9c9
@mariusor@metalhead.club · Reply to marius's post
Well, fixing this took way more than it should.
And it's another of those issues where I optimized too early in the life of the #GoActivityPub project and it now bit me in the behind. I split the library into too many modules, which granted are pretty independent functionally, but they create a web of dependencies that is hard to navigate sometimes.
The problem was that one of the modules that I forgot I modified in order make tests pass was not pushed upstream, and all the storage backends depended on it to be fixed.
@reiver@mastodon.social
Could ActivityPub / ActivityStreams be used to synchronize files across separate machines / computers / devices‽
I think the answer is, YES.
❦
The inbox-outbox system could enable you to send messages between separate machines / computers / devices.
The 'messages' transfer the changed 'blocks' / 'chunks' that make up a file, notify about deletions, file creations, etc
Existing Activity Types might be sufficient to do this
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #JSONLD
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.0
- snac v2.72
- Lemmy v0.19.9
- flohmarkt v0.8.0
- GoToSocial v0.17.4
- Hollo v0.5.0
- Manyfold v0.100.0
- Mitra v3.17.0
- ActivityPub for WordPress v5.2.0
- Pleroma ActivityRelay v0.3.4
- NeoDB v0.11.4.7
- tootik v0.15.3
- kmyblue v17.0
- Trunk & Tidbits, January 2025
- Bringing Quote Posts to Mastodon
Clients
- Mangane v1.13.6
- Thunder v0.6.1
- Fediboat: Mastodon TUI client with a Newsboat-like interface
Tools and Plugins
- Event Bridge for ActivityPub v1.0.0 (WordPress plugin)
- Enable Mastodon Apps for WordPress v1.0.0
- LemmyWebhook v0.19.0
- Mastodon – Simplified Federation v2.2.1
- Utsukta Hub themes: A collection of custom themes developed for Hubzilla
For developers
- BotKit v0.1.1
- TootSDK v13.0.0
- apsig: Signature implementation used in ActivityPub (python)
Protocol
- FEP-efda: Followable objects
Articles
- Tumblr to join the fediverse after WordPress migration completes
- Last Week in Fediverse #103
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194e1e4-74a9-17c1-c347-9674b1a3f9c9
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 프로토콜 구현을 도와주는 #TypeScript 프레임워크입니다. 복잡한 연합 프로토콜을 쉽게 구현하고 싶으신가요? Fedify가 도와드립니다!
오픈소스 #MIT 라이선스로 누구나 자유롭게 사용할 수 있습니다!
@aoetk@fedibird.com
おー、Mastodonにおける引用機能の開発状況についてのエントリが来てる。引用対象の制限や引用された投稿の切り離しを検討しているあたり、やはりBlueskyを参考にしているところがあるな。
そして、やるからにはActivityPubの仕様として作っていくつもりでいると。
/ Bringing Quote Posts to Mastodon - Mastodon Blog
https://blog.joinmastodon.org/2025/02/bringing-quote-posts-to-mastodon/
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 프로토콜 구현을 도와주는 #TypeScript 프레임워크입니다. 복잡한 연합 프로토콜을 쉽게 구현하고 싶으신가요? Fedify가 도와드립니다!
오픈소스 #MIT 라이선스로 누구나 자유롭게 사용할 수 있습니다!
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 프로토콜 구현을 도와주는 #TypeScript 프레임워크입니다. 복잡한 연합 프로토콜을 쉽게 구현하고 싶으신가요? Fedify가 도와드립니다!
오픈소스 #MIT 라이선스로 누구나 자유롭게 사용할 수 있습니다!
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@aoetk@fedibird.com
おー、Mastodonにおける引用機能の開発状況についてのエントリが来てる。引用対象の制限や引用された投稿の切り離しを検討しているあたり、やはりBlueskyを参考にしているところがあるな。
そして、やるからにはActivityPubの仕様として作っていくつもりでいると。
/ Bringing Quote Posts to Mastodon - Mastodon Blog
https://blog.joinmastodon.org/2025/02/bringing-quote-posts-to-mastodon/
@box464@mastodon.social
Hah! I knew it. I knew the fediverse would pop up as I explore Gemini. Adding this to my collection of platforms to try.
@box464@mastodon.social
Hah! I knew it. I knew the fediverse would pop up as I explore Gemini. Adding this to my collection of platforms to try.
@box464@mastodon.social
Hah! I knew it. I knew the fediverse would pop up as I explore Gemini. Adding this to my collection of platforms to try.
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.0
- snac v2.72
- Lemmy v0.19.9
- flohmarkt v0.8.0
- GoToSocial v0.17.4
- Hollo v0.5.0
- Manyfold v0.100.0
- Mitra v3.17.0
- ActivityPub for WordPress v5.2.0
- Pleroma ActivityRelay v0.3.4
- NeoDB v0.11.4.7
- tootik v0.15.3
- kmyblue v17.0
- Trunk & Tidbits, January 2025
- Bringing Quote Posts to Mastodon
Clients
- Mangane v1.13.6
- Thunder v0.6.1
- Fediboat: Mastodon TUI client with a Newsboat-like interface
Tools and Plugins
- Event Bridge for ActivityPub v1.0.0 (WordPress plugin)
- Enable Mastodon Apps for WordPress v1.0.0
- LemmyWebhook v0.19.0
- Mastodon – Simplified Federation v2.2.1
- Utsukta Hub themes: A collection of custom themes developed for Hubzilla
For developers
- BotKit v0.1.1
- TootSDK v13.0.0
- apsig: Signature implementation used in ActivityPub (python)
Protocol
- FEP-efda: Followable objects
Articles
- Tumblr to join the fediverse after WordPress migration completes
- Last Week in Fediverse #103
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194e1e4-74a9-17c1-c347-9674b1a3f9c9
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.0
- snac v2.72
- Lemmy v0.19.9
- flohmarkt v0.8.0
- GoToSocial v0.17.4
- Hollo v0.5.0
- Manyfold v0.100.0
- Mitra v3.17.0
- ActivityPub for WordPress v5.2.0
- Pleroma ActivityRelay v0.3.4
- NeoDB v0.11.4.7
- tootik v0.15.3
- kmyblue v17.0
- Trunk & Tidbits, January 2025
- Bringing Quote Posts to Mastodon
Clients
- Mangane v1.13.6
- Thunder v0.6.1
- Fediboat: Mastodon TUI client with a Newsboat-like interface
Tools and Plugins
- Event Bridge for ActivityPub v1.0.0 (WordPress plugin)
- Enable Mastodon Apps for WordPress v1.0.0
- LemmyWebhook v0.19.0
- Mastodon – Simplified Federation v2.2.1
- Utsukta Hub themes: A collection of custom themes developed for Hubzilla
For developers
- BotKit v0.1.1
- TootSDK v13.0.0
- apsig: Signature implementation used in ActivityPub (python)
Protocol
- FEP-efda: Followable objects
Articles
- Tumblr to join the fediverse after WordPress migration completes
- Last Week in Fediverse #103
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194e1e4-74a9-17c1-c347-9674b1a3f9c9
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.0
- snac v2.72
- Lemmy v0.19.9
- flohmarkt v0.8.0
- GoToSocial v0.17.4
- Hollo v0.5.0
- Manyfold v0.100.0
- Mitra v3.17.0
- ActivityPub for WordPress v5.2.0
- Pleroma ActivityRelay v0.3.4
- NeoDB v0.11.4.7
- tootik v0.15.3
- kmyblue v17.0
- Trunk & Tidbits, January 2025
- Bringing Quote Posts to Mastodon
Clients
- Mangane v1.13.6
- Thunder v0.6.1
- Fediboat: Mastodon TUI client with a Newsboat-like interface
Tools and Plugins
- Event Bridge for ActivityPub v1.0.0 (WordPress plugin)
- Enable Mastodon Apps for WordPress v1.0.0
- LemmyWebhook v0.19.0
- Mastodon – Simplified Federation v2.2.1
- Utsukta Hub themes: A collection of custom themes developed for Hubzilla
For developers
- BotKit v0.1.1
- TootSDK v13.0.0
- apsig: Signature implementation used in ActivityPub (python)
Protocol
- FEP-efda: Followable objects
Articles
- Tumblr to join the fediverse after WordPress migration completes
- Last Week in Fediverse #103
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194e1e4-74a9-17c1-c347-9674b1a3f9c9
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.0
- snac v2.72
- Lemmy v0.19.9
- flohmarkt v0.8.0
- GoToSocial v0.17.4
- Hollo v0.5.0
- Manyfold v0.100.0
- Mitra v3.17.0
- ActivityPub for WordPress v5.2.0
- Pleroma ActivityRelay v0.3.4
- NeoDB v0.11.4.7
- tootik v0.15.3
- kmyblue v17.0
- Trunk & Tidbits, January 2025
- Bringing Quote Posts to Mastodon
Clients
- Mangane v1.13.6
- Thunder v0.6.1
- Fediboat: Mastodon TUI client with a Newsboat-like interface
Tools and Plugins
- Event Bridge for ActivityPub v1.0.0 (WordPress plugin)
- Enable Mastodon Apps for WordPress v1.0.0
- LemmyWebhook v0.19.0
- Mastodon – Simplified Federation v2.2.1
- Utsukta Hub themes: A collection of custom themes developed for Hubzilla
For developers
- BotKit v0.1.1
- TootSDK v13.0.0
- apsig: Signature implementation used in ActivityPub (python)
Protocol
- FEP-efda: Followable objects
Articles
- Tumblr to join the fediverse after WordPress migration completes
- Last Week in Fediverse #103
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194e1e4-74a9-17c1-c347-9674b1a3f9c9
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.0
- snac v2.72
- Lemmy v0.19.9
- flohmarkt v0.8.0
- GoToSocial v0.17.4
- Hollo v0.5.0
- Manyfold v0.100.0
- Mitra v3.17.0
- ActivityPub for WordPress v5.2.0
- Pleroma ActivityRelay v0.3.4
- NeoDB v0.11.4.7
- tootik v0.15.3
- kmyblue v17.0
- Trunk & Tidbits, January 2025
- Bringing Quote Posts to Mastodon
Clients
- Mangane v1.13.6
- Thunder v0.6.1
- Fediboat: Mastodon TUI client with a Newsboat-like interface
Tools and Plugins
- Event Bridge for ActivityPub v1.0.0 (WordPress plugin)
- Enable Mastodon Apps for WordPress v1.0.0
- LemmyWebhook v0.19.0
- Mastodon – Simplified Federation v2.2.1
- Utsukta Hub themes: A collection of custom themes developed for Hubzilla
For developers
- BotKit v0.1.1
- TootSDK v13.0.0
- apsig: Signature implementation used in ActivityPub (python)
Protocol
- FEP-efda: Followable objects
Articles
- Tumblr to join the fediverse after WordPress migration completes
- Last Week in Fediverse #103
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194e1e4-74a9-17c1-c347-9674b1a3f9c9
@weekinfediverse@mitra.social
Servers
- Mbin v1.8.0
- snac v2.72
- Lemmy v0.19.9
- flohmarkt v0.8.0
- GoToSocial v0.17.4
- Hollo v0.5.0
- Manyfold v0.100.0
- Mitra v3.17.0
- ActivityPub for WordPress v5.2.0
- Pleroma ActivityRelay v0.3.4
- NeoDB v0.11.4.7
- tootik v0.15.3
- kmyblue v17.0
- Trunk & Tidbits, January 2025
- Bringing Quote Posts to Mastodon
Clients
- Mangane v1.13.6
- Thunder v0.6.1
- Fediboat: Mastodon TUI client with a Newsboat-like interface
Tools and Plugins
- Event Bridge for ActivityPub v1.0.0 (WordPress plugin)
- Enable Mastodon Apps for WordPress v1.0.0
- LemmyWebhook v0.19.0
- Mastodon – Simplified Federation v2.2.1
- Utsukta Hub themes: A collection of custom themes developed for Hubzilla
For developers
- BotKit v0.1.1
- TootSDK v13.0.0
- apsig: Signature implementation used in ActivityPub (python)
Protocol
- FEP-efda: Followable objects
Articles
- Tumblr to join the fediverse after WordPress migration completes
- Last Week in Fediverse #103
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194e1e4-74a9-17c1-c347-9674b1a3f9c9
@fedify@hollo.social
Excited to share that Fedify CLI is now available on Scoop for #Windows users! You can easily install it with scoop install fedify
. One more way to get started with #ActivityPub development!
@fedify@hollo.social
Excited to share that Fedify CLI is now available on Scoop for #Windows users! You can easily install it with scoop install fedify
. One more way to get started with #ActivityPub development!
@fedify@hollo.social
Excited to share that Fedify CLI is now available on Scoop for #Windows users! You can easily install it with scoop install fedify
. One more way to get started with #ActivityPub development!
@reiver@mastodon.social
Is any Fediverse software using or generating the 'View' activity-type?
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-view
You could create view-counts on posts, profiles, etc, using this.
Of course, there are privacy concerns with this.
And, also, what counts as a "view".
Although, I sometimes use a "Like" to indicate I viewed something. If a 'View' was something manual (such a pressing a button) that could be more semantically clean.
#ActivityPub #ActivityStreams #DeSe #FediDev #FediDevs #Fediverse #Privacy
@reiver@mastodon.social
To me, it feels like the Activity Types should have been past-tense verbs, rather than present-tense verbs.
I.e.:
• "Accepted" rather than "Accept"
• "Added" rather than "Add"
• "Announced" rather than "Announce"
• "Arrived" rather than "Arrive"
• "Blocked" rather than "Block"
• "Created" rather than "Create"
• etc
Present-tense verbs feel like commands.
Past-tense verbs feel like events.
Activities are events not commands.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
@reiver@mastodon.social
To me, it feels like the Activity Types should have been past-tense verbs, rather than present-tense verbs.
I.e.:
• "Accepted" rather than "Accept"
• "Added" rather than "Add"
• "Announced" rather than "Announce"
• "Arrived" rather than "Arrive"
• "Blocked" rather than "Block"
• "Created" rather than "Create"
• etc
Present-tense verbs feel like commands.
Past-tense verbs feel like events.
Activities are events not commands.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
@fedify@hollo.social
Excited to share that Fedify CLI is now available on Scoop for #Windows users! You can easily install it with scoop install fedify
. One more way to get started with #ActivityPub development!
@reiver@mastodon.social
To me, it feels like the Activity Types should have been past-tense verbs, rather than present-tense verbs.
I.e.:
• "Accepted" rather than "Accept"
• "Added" rather than "Add"
• "Announced" rather than "Announce"
• "Arrived" rather than "Arrive"
• "Blocked" rather than "Block"
• "Created" rather than "Create"
• etc
Present-tense verbs feel like commands.
Past-tense verbs feel like events.
Activities are events not commands.
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse
@fedify@hollo.social
Excited to share that Fedify CLI is now available on Scoop for #Windows users! You can easily install it with scoop install fedify
. One more way to get started with #ActivityPub development!
@fedify@hollo.social
Excited to share that Fedify CLI is now available on Scoop for #Windows users! You can easily install it with scoop install fedify
. One more way to get started with #ActivityPub development!
@manyfold@3dp.chat
🥳 Manyfold v0.101.0 is out, with a really fun new feature: Themes! There are 26 UI colour schemes to choose from, thanks to Bootswatch, so now you can make your instance a bit more your own.
We've also got a big bugfix for 3MF file display, particularly for files that use the production extension (e.g. slicer project files).
🗞️ Full release notes: https://manyfold.app/news/2025/02/14/release-v0-101-0.html
❤️ Support us on OpenCollective: https://opencollective.com/manyfold
@BentiGorlich@wehavecookies.social
Believe me I want to implement all the cool activity pub features, but with what time? XD
@manyfold@3dp.chat
🥳 Manyfold v0.101.0 is out, with a really fun new feature: Themes! There are 26 UI colour schemes to choose from, thanks to Bootswatch, so now you can make your instance a bit more your own.
We've also got a big bugfix for 3MF file display, particularly for files that use the production extension (e.g. slicer project files).
🗞️ Full release notes: https://manyfold.app/news/2025/02/14/release-v0-101-0.html
❤️ Support us on OpenCollective: https://opencollective.com/manyfold
@manyfold@3dp.chat
🥳 Manyfold v0.101.0 is out, with a really fun new feature: Themes! There are 26 UI colour schemes to choose from, thanks to Bootswatch, so now you can make your instance a bit more your own.
We've also got a big bugfix for 3MF file display, particularly for files that use the production extension (e.g. slicer project files).
🗞️ Full release notes: https://manyfold.app/news/2025/02/14/release-v0-101-0.html
❤️ Support us on OpenCollective: https://opencollective.com/manyfold
@janettespeyer@flipboard.social
I need a Fediverse explanation that’s so simple anyone can relate to what I’m talking about.
Can someone give me an analogy that’s relatable? I’ve tried everything
#Fediverse #activitypub #discussion
@janettespeyer@flipboard.social
I need a Fediverse explanation that’s so simple anyone can relate to what I’m talking about.
Can someone give me an analogy that’s relatable? I’ve tried everything
#Fediverse #activitypub #discussion
@fedify@hollo.social
Visualize your server in the fediverse with the fedify node
command and share it with us using the #FedifyNode hashtag!
(See also how to install the fedify
command.)
@LeonardoDiOttio@mastodon.social
Podcast: “Decentralised social media offers an alternative to big tech platforms like X and Meta. How does it work?”
#Fediverse #Decentralization #ActivityPub #Podcast #Twitter #Musk #SocialMedia
@LeonardoDiOttio@mastodon.social
Podcast: “Decentralised social media offers an alternative to big tech platforms like X and Meta. How does it work?”
#Fediverse #Decentralization #ActivityPub #Podcast #Twitter #Musk #SocialMedia
@fuina@mastodon.social
Does anybody here can #help me to solve a doubt on #Mastodon and #ActivityPub portability?
Context; I am writing a post about Mastodon and Bluesky and wouldn’t like to be imprecise.
I read in a blog that ActivityPub actually allows moving data of users and content from one server to another and that it is the Mastodon development of ActivityPub which puts the problem of portability.
@mariusor@metalhead.club
Oh man, why did I ever think that implementing multiple storage backends for my #activitypub service was a good idea?
Having to backport new features across 4 versions is becoming a bit of a pain in the butt I have to say.
@fedify@hollo.social
Visualize your server in the fediverse with the fedify node
command and share it with us using the #FedifyNode hashtag!
(See also how to install the fedify
command.)
@fedify@hollo.social
Visualize your server in the fediverse with the fedify node
command and share it with us using the #FedifyNode hashtag!
(See also how to install the fedify
command.)
@fuina@mastodon.social
Does anybody here can #help me to solve a doubt on #Mastodon and #ActivityPub portability?
Context; I am writing a post about Mastodon and Bluesky and wouldn’t like to be imprecise.
I read in a blog that ActivityPub actually allows moving data of users and content from one server to another and that it is the Mastodon development of ActivityPub which puts the problem of portability.
@fuina@mastodon.social
Does anybody here can #help me to solve a doubt on #Mastodon and #ActivityPub portability?
Context; I am writing a post about Mastodon and Bluesky and wouldn’t like to be imprecise.
I read in a blog that ActivityPub actually allows moving data of users and content from one server to another and that it is the Mastodon development of ActivityPub which puts the problem of portability.
@pfefferle@mastodon.social
coming soon to a podcast player near you!
#ActivityPub #Fediverse #WordPress #Friends #EnableMastodonApps #DoTheWoo
/cc @alex
@LeonardoDiOttio@mastodon.social
Podcast: “Decentralised social media offers an alternative to big tech platforms like X and Meta. How does it work?”
#Fediverse #Decentralization #ActivityPub #Podcast #Twitter #Musk #SocialMedia
@LeonardoDiOttio@mastodon.social
Podcast: “Decentralised social media offers an alternative to big tech platforms like X and Meta. How does it work?”
#Fediverse #Decentralization #ActivityPub #Podcast #Twitter #Musk #SocialMedia
@dansup@mastodon.social
The real magic of the #fediverse is collaboration.
Many of the largest projects have worked together behind the scenes on compatibility.
It's not that common now that ActivityPub has matured, but you better believe the early days of 2018 had big players like Mastodon and Pleroma working closely on compat.
#ActivityPub = Community + Collaboration
The magic formula that sets us apart!
@pfefferle@mastodon.social
coming soon to a podcast player near you!
#ActivityPub #Fediverse #WordPress #Friends #EnableMastodonApps #DoTheWoo
/cc @alex
@EpicBear@genomic.social · Reply to BeAware :fediverse:'s post
@BeAware Perhaps discoverability. Since #ActivityPub is not a single image of all posts, we need a better way to find posts we're interested in. Also, there should be less friction in engaging with another server; currently, you need to switch to that instance before you can interact with a post.
@EpicBear@genomic.social · Reply to BeAware :fediverse:'s post
@BeAware Perhaps discoverability. Since #ActivityPub is not a single image of all posts, we need a better way to find posts we're interested in. Also, there should be less friction in engaging with another server; currently, you need to switch to that instance before you can interact with a post.
@ercanbrack@mastodon.online
What do all of these have in common?
The Fediverse
Bluesky
Threads
Flipbook
Wordpress
and soon, Tumblr
The reach is growing! 😎👍🏼
#ActivityPub #Fediverse #Bluesky #Threads #Flipbook #Wordpress #Tumblr
https://techcrunch.com/2025/02/11/tumblr-to-join-the-fediverse-after-wordpress-migration-completes/
@bshankar@mastodon.online
Discovering the #fediverse gives me the same feelings #linux did years ago. The endless choice, excitement of discovery, clash of philosophies and a community.
I spent years #distrohopping from #ubuntu , #arch , #voidlinux , #nixos etc and then back to arch. Also spent a long time switching desktop environments and window managers like i3.
I started on #lemmy and #mastodon . What do I try next? #selfhost an #activitypub server? Which one?
😇
@SymfonyStation@drupal.community
Drupal ActivityPub integration. #drupal #ActivityPub
https://nlnet.nl/project/Drupal-ActivityPub/
@SymfonyStation@drupal.community
Drupal ActivityPub integration. #drupal #ActivityPub
https://nlnet.nl/project/Drupal-ActivityPub/
@rasumi@social.tchncs.de
Es gibt eine schöne Initiative für dezentrale und offene soziale Netzwerke, mal zur Abwechslung nicht aus der Nerdecke ;)
Das wird schon von vielen bekannten Gesichtern unterstützt, u.a. von Mark-Uwe Kling, der das hier erklärt:
https://www.youtube.com/watch?v=VYC928Hj5ZI
Unterstützen kann man es u.a. durch Mitwirken in der Petition:
https://weact.campact.de/petitions/save-social-soziale-netzwerke-als-demokratische-kraft-retten
Jetzt gerade ist die bei 15.000, da ist noch Luft nach oben!
@atomicpoet@atomicpoet.org
I am a #SocialWeb advocate, not a #FediGatekeeper.
Social web advocates want everyone to have access to the social web.
Fedi Gatekeepers want #ActivityPub to be inaccessible, reserving it as the inner sanctum for an elite few.
What about you?
@atomicpoet@atomicpoet.org
I am a #SocialWeb advocate, not a #FediGatekeeper.
Social web advocates want everyone to have access to the social web.
Fedi Gatekeepers want #ActivityPub to be inaccessible, reserving it as the inner sanctum for an elite few.
What about you?
@atomicpoet@atomicpoet.org
I am a #SocialWeb advocate, not a #FediGatekeeper.
Social web advocates want everyone to have access to the social web.
Fedi Gatekeepers want #ActivityPub to be inaccessible, reserving it as the inner sanctum for an elite few.
What about you?
@BeAware@social.beaware.live
Just saw someone ask what's the best things about Fediverse.
Though, I think the opposite question is just as important. If the issues aren't recognized and discussed, they might not be fixed.
So, what are the worst things about Fediverse?🤔
@BeAware@social.beaware.live
Just saw someone ask what's the best things about Fediverse.
Though, I think the opposite question is just as important. If the issues aren't recognized and discussed, they might not be fixed.
So, what are the worst things about Fediverse?🤔
@rasumi@social.tchncs.de
Es gibt eine schöne Initiative für dezentrale und offene soziale Netzwerke, mal zur Abwechslung nicht aus der Nerdecke ;)
Das wird schon von vielen bekannten Gesichtern unterstützt, u.a. von Mark-Uwe Kling, der das hier erklärt:
https://www.youtube.com/watch?v=VYC928Hj5ZI
Unterstützen kann man es u.a. durch Mitwirken in der Petition:
https://weact.campact.de/petitions/save-social-soziale-netzwerke-als-demokratische-kraft-retten
Jetzt gerade ist die bei 15.000, da ist noch Luft nach oben!
@manyfold@3dp.chat
🥳 🎂 Manyfold v0.100.0 is out, and enables federation of public creators, objects, and collections between instances! Now you can follow any public item from a different Manyfold instance, then search, tag, organise, and get all the updates straight into your activity feed! It's a huge step towards building a decentralised Thingiverse! 😁
🗞️ Full release notes:
https://manyfold.app/news/2025/02/12/release-v0-100-0.html
❤️ Support us on OpenCollective: https://opencollective.com/manyfold
@manyfold@3dp.chat
🥳 🎂 Manyfold v0.100.0 is out, and enables federation of public creators, objects, and collections between instances! Now you can follow any public item from a different Manyfold instance, then search, tag, organise, and get all the updates straight into your activity feed! It's a huge step towards building a decentralised Thingiverse! 😁
🗞️ Full release notes:
https://manyfold.app/news/2025/02/12/release-v0-100-0.html
❤️ Support us on OpenCollective: https://opencollective.com/manyfold
@shanesemler@metalhead.club
No. Fuck this. I literally left #Tumblr a few month ago because they have a serious infestation of #CP and child #SA. If you’re an admin, I’d suggest blocking Tumblr. The #Fediverse will have to deal with more and more of this as it becomes increasingly popular. #ActivityPub support or not, we do NOT want an invasion of #CorporateCorruption.
https://techcrunch.com/2025/02/11/tumblr-to-join-the-fediverse-after-wordpress-migration-completes/
@manyfold@3dp.chat
🥳 🎂 Manyfold v0.100.0 is out, and enables federation of public creators, objects, and collections between instances! Now you can follow any public item from a different Manyfold instance, then search, tag, organise, and get all the updates straight into your activity feed! It's a huge step towards building a decentralised Thingiverse! 😁
🗞️ Full release notes:
https://manyfold.app/news/2025/02/12/release-v0-100-0.html
❤️ Support us on OpenCollective: https://opencollective.com/manyfold
@mariusor@metalhead.club
@silverpill any idea if there's a FEP regarding how to sign an activity that gets propagated through the Forwarding from Inbox mechanism? https://www.w3.org/TR/activitypub/#inbox-forwarding
My first instinct is to use the instance actor for the server that received it, but I'm not sure.
Maybe the actor that received it in their inbox would be better, but that feels slightly unsanitary.
@mariusor@metalhead.club · Reply to marius's post
Anyone else keeping track of these tags feel free to jump in if you have any actionable ideas. :) TY
@mariusor@metalhead.club
@silverpill any idea if there's a FEP regarding how to sign an activity that gets propagated through the Forwarding from Inbox mechanism? https://www.w3.org/TR/activitypub/#inbox-forwarding
My first instinct is to use the instance actor for the server that received it, but I'm not sure.
Maybe the actor that received it in their inbox would be better, but that feels slightly unsanitary.
@manyfold@3dp.chat
🥳 🎂 Manyfold v0.100.0 is out, and enables federation of public creators, objects, and collections between instances! Now you can follow any public item from a different Manyfold instance, then search, tag, organise, and get all the updates straight into your activity feed! It's a huge step towards building a decentralised Thingiverse! 😁
🗞️ Full release notes:
https://manyfold.app/news/2025/02/12/release-v0-100-0.html
❤️ Support us on OpenCollective: https://opencollective.com/manyfold
@manyfold@3dp.chat
🥳 🎂 Manyfold v0.100.0 is out, and enables federation of public creators, objects, and collections between instances! Now you can follow any public item from a different Manyfold instance, then search, tag, organise, and get all the updates straight into your activity feed! It's a huge step towards building a decentralised Thingiverse! 😁
🗞️ Full release notes:
https://manyfold.app/news/2025/02/12/release-v0-100-0.html
❤️ Support us on OpenCollective: https://opencollective.com/manyfold
@atomicpoet@atomicpoet.org
I think #SocialWeb devs should form a guild.
Not only would this serve to pass institutional knowledge to devs who are new to #ActivityPub, but it would also serve as a means to protect them from harassment—especially since it’s so easy to break the “unwritten rules”.
And while this might be something outside the mandate of the Social Web Foundation, maybe it’s something @evan may want to consider.
Because something I see over and over again is:
Hell, this isn’t even a problem for new devs. Old devs get caught in the crosshairs if their project reaches a certain level of popularity. And I’m not saying devs are always angels, but there should at least be some kind of organizational structure that assumes good will.
@atomicpoet@atomicpoet.org
I think #SocialWeb devs should form a guild.
Not only would this serve to pass institutional knowledge to devs who are new to #ActivityPub, but it would also serve as a means to protect them from harassment—especially since it’s so easy to break the “unwritten rules”.
And while this might be something outside the mandate of the Social Web Foundation, maybe it’s something @evan may want to consider.
Because something I see over and over again is:
Hell, this isn’t even a problem for new devs. Old devs get caught in the crosshairs if their project reaches a certain level of popularity. And I’m not saying devs are always angels, but there should at least be some kind of organizational structure that assumes good will.
@Theeo123@mastodon.social
https://techcrunch.com/2025/02/11/tumblr-to-join-the-fediverse-after-wordpress-migration-completes/
Tumblr is going to join the fediverse! (Aka mastodon, Pixlr, PeerTube Etc.)
Automattic confirmed to TechCrunch that when the migration is complete, every Tumblr user will be able to federate their blog via ActivityPub, just as every WordPress.com user can today.
@Theeo123@mastodon.social
https://techcrunch.com/2025/02/11/tumblr-to-join-the-fediverse-after-wordpress-migration-completes/
Tumblr is going to join the fediverse! (Aka mastodon, Pixlr, PeerTube Etc.)
Automattic confirmed to TechCrunch that when the migration is complete, every Tumblr user will be able to federate their blog via ActivityPub, just as every WordPress.com user can today.
@atomicpoet@atomicpoet.org
@atomicpoet@atomicpoet.org
@atomicpoet@atomicpoet.org
@5teverin0@mastodon.social
"While none of the newcomers is anywhere near ready to rival Meta’s size and scope, their ability to even carve out a small niche within Meta’s shadow is compelling." #fediverse #activitypub #pixelfed
https://techcrunch.com/2025/02/09/these-apps-are-building-instagram-alternatives-on-open-protocols/
@5teverin0@mastodon.social
"While none of the newcomers is anywhere near ready to rival Meta’s size and scope, their ability to even carve out a small niche within Meta’s shadow is compelling." #fediverse #activitypub #pixelfed
https://techcrunch.com/2025/02/09/these-apps-are-building-instagram-alternatives-on-open-protocols/
@fedify@hollo.social
A milestone worth celebrating—#Fedify just hit 100+ releases! From day one, we've been committed to building a robust #ActivityPub framework, and each release has brought us closer to that goal. Here's to many more releases as we continue growing the #fediverse together! #fedidev
@fedify@hollo.social
A milestone worth celebrating—#Fedify just hit 100+ releases! From day one, we've been committed to building a robust #ActivityPub framework, and each release has brought us closer to that goal. Here's to many more releases as we continue growing the #fediverse together! #fedidev
@botkit@hollo.social
BotKit 0.1.1 is out!
This security update fixes a message visibility bug where direct/followers-only replies to bots were unintentionally forwarded to bot followers. Upgrade recommended. Download at JSR:
deno add jsr:@fedify/botkit@^0.1.1
@fedify@hollo.social
A milestone worth celebrating—#Fedify just hit 100+ releases! From day one, we've been committed to building a robust #ActivityPub framework, and each release has brought us closer to that goal. Here's to many more releases as we continue growing the #fediverse together! #fedidev
@Floppy@mastodon.me.uk
Just had a live pair-debugging session with @naturzukunft, where we sent #ActivityPub messages to each others dev servers and live debugged them. Highly recommended when working with this stuff, and if anyone else wants to do the same, hit me up!
@Floppy@mastodon.me.uk
Just had a live pair-debugging session with @naturzukunft, where we sent #ActivityPub messages to each others dev servers and live debugged them. Highly recommended when working with this stuff, and if anyone else wants to do the same, hit me up!
@botkit@hollo.social
BotKit 0.1.1 is out!
This security update fixes a message visibility bug where direct/followers-only replies to bots were unintentionally forwarded to bot followers. Upgrade recommended. Download at JSR:
deno add jsr:@fedify/botkit@^0.1.1
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
A milestone worth celebrating—#Fedify just hit 100+ releases! From day one, we've been committed to building a robust #ActivityPub framework, and each release has brought us closer to that goal. Here's to many more releases as we continue growing the #fediverse together! #fedidev
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
A milestone worth celebrating—#Fedify just hit 100+ releases! From day one, we've been committed to building a robust #ActivityPub framework, and each release has brought us closer to that goal. Here's to many more releases as we continue growing the #fediverse together! #fedidev
@fedify@hollo.social
A milestone worth celebrating—#Fedify just hit 100+ releases! From day one, we've been committed to building a robust #ActivityPub framework, and each release has brought us closer to that goal. Here's to many more releases as we continue growing the #fediverse together! #fedidev
@botkit@hollo.social
BotKit 0.1.1 is out!
This security update fixes a message visibility bug where direct/followers-only replies to bots were unintentionally forwarded to bot followers. Upgrade recommended. Download at JSR:
deno add jsr:@fedify/botkit@^0.1.1
@fedify@hollo.social
We're considering adding custom background task support to #Fedify 1.5.0.
Want to use Fedify's worker system for your own background tasks? We're exploring ways to let you register and process custom tasks alongside #ActivityPub jobs.
Check out the proposal: https://github.com/fedify-dev/fedify/issues/206.
Key considerations:
We'd love to hear your thoughts! Do you need this feature? How would you use it? Share your feedback in the issue thread.
@botkit@hollo.social
BotKit 0.1.1 is out!
This security update fixes a message visibility bug where direct/followers-only replies to bots were unintentionally forwarded to bot followers. Upgrade recommended. Download at JSR:
deno add jsr:@fedify/botkit@^0.1.1
@botkit@hollo.social
BotKit 0.1.1 is out!
This security update fixes a message visibility bug where direct/followers-only replies to bots were unintentionally forwarded to bot followers. Upgrade recommended. Download at JSR:
deno add jsr:@fedify/botkit@^0.1.1
@BeAware@social.beaware.live
I'm starting to get the feeling that the Fedi Mafia doesn't REALLY care about anything on Fedi, they're just bored as hell all the time and want to stir up some drama to giggle at.
I don't see harassing developers as something to giggle at, but with their consistent absolute ignorance of the platform and unwillingness to see how harassment is hurting the platform, I can't help but think they're just really bored assholes.
If it's useful to Fedi, they harass and threaten the developer so that others will talk about them. Because any attention is good attention to these assholes.
If it's not useful, they just ignore it and the project doesn't go anywhere cause it's not useful.🤦♂️
Ignore hate. Build useful Fedi tools.
Threats and harassment are ridiculous.
#Fedi #Fediverse #ActivityPub #BridgyFed #Fedicate #FediOnFire #Harassment
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@liaizon@social.wake.st
Doing some fediverse research and discovered that @tkithrta is attempting to "implement #ActivityPub using 16 different web frameworks" in a project called #StrawberryFields
https://gitlab.com/acefed #fediverse #fedidev
@fedify@hollo.social
We're considering adding custom background task support to #Fedify 1.5.0.
Want to use Fedify's worker system for your own background tasks? We're exploring ways to let you register and process custom tasks alongside #ActivityPub jobs.
Check out the proposal: https://github.com/fedify-dev/fedify/issues/206.
Key considerations:
We'd love to hear your thoughts! Do you need this feature? How would you use it? Share your feedback in the issue thread.
@grishka@mastodon.social
Some #Smithereen updates:
- Instant notifications
- Ajax navigation
- Muting
- Word filters
@grishka@mastodon.social
Some #Smithereen updates:
- Instant notifications
- Ajax navigation
- Muting
- Word filters
@BeAware@social.beaware.live
Another Fedi discovery tool destroyed by the Fedi Mafia.
I've been here almost 2 years and this place is no more usable than when I got here and it seems that's not changing anytime soon.
Fedi will continue to be mostly tech nerds and that's why people are choosing BlueSky and threads over Fedi.
@fedify@hollo.social
We're considering adding custom background task support to #Fedify 1.5.0.
Want to use Fedify's worker system for your own background tasks? We're exploring ways to let you register and process custom tasks alongside #ActivityPub jobs.
Check out the proposal: https://github.com/fedify-dev/fedify/issues/206.
Key considerations:
We'd love to hear your thoughts! Do you need this feature? How would you use it? Share your feedback in the issue thread.
@Edent@mastodon.social
🆕 blog! “Presenting ActivityBot at FOSDEM”
Because I'm an optimist, I submitted a few talks to FOSDEM in the hope one might be accepted. Because I'm lucky, I got two speaking slots. Because I'm an idiot, I decided to do both talks. On the same day. An hour apart. On opposite ends of the venue.
Fool!
My first talk was at the Social Web Birds-of-a-Feather session.…
👀 Read more: https://shkspr.mobi/blog/2025/02/presenting-activitybot-at-fosdem/
⸻
#ActivityPub #fosdem #presentation
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@Edent@mastodon.social
🆕 blog! “Presenting ActivityBot at FOSDEM”
Because I'm an optimist, I submitted a few talks to FOSDEM in the hope one might be accepted. Because I'm lucky, I got two speaking slots. Because I'm an idiot, I decided to do both talks. On the same day. An hour apart. On opposite ends of the venue.
Fool!
My first talk was at the Social Web Birds-of-a-Feather session.…
👀 Read more: https://shkspr.mobi/blog/2025/02/presenting-activitybot-at-fosdem/
⸻
#ActivityPub #fosdem #presentation
@box464@mastodon.social
Take a look at the AP Activities that are supported by @fedify
Going far beyond your every day social timeline - woud love to see some AP platforms add support for Listen, Offer, or Travel/Arrive/Leave.
https://github.com/fedify-dev/fedify/blob/main/FEDERATION.md
@fedify@hollo.social
We're considering adding custom background task support to #Fedify 1.5.0.
Want to use Fedify's worker system for your own background tasks? We're exploring ways to let you register and process custom tasks alongside #ActivityPub jobs.
Check out the proposal: https://github.com/fedify-dev/fedify/issues/206.
Key considerations:
We'd love to hear your thoughts! Do you need this feature? How would you use it? Share your feedback in the issue thread.
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
However, "orderedItems" is mentioned in the ActivityStreams Core spec:
https://www.w3.org/TR/activitystreams-core/
Maybe the closest thing to a definition is:
"Collection are represented using the 'items' property while ordered items are represented using the 'orderedItems' property."
So, "orderedItems" is just like "items":
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-items
... except renamed and the interpretation is different
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #orderedItems #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
"orderedItems" also isn't in the ActivityPub spec:
https://www.w3.org/TR/activitypub/
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #orderedItems #SocialWeb
@reiver@mastodon.social
1/
"orderedItems" shows up in the examples in the ActivityStreams Vocabulary spec:
https://www.w3.org/TR/activitystreams-vocabulary
But, I don't see a definition for "orderedItems" in there (in the ActivityStreams Vocabulary spec).
#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #OpenSocial #orderedItems #SocialWeb
@fedify@hollo.social
We're considering adding custom background task support to #Fedify 1.5.0.
Want to use Fedify's worker system for your own background tasks? We're exploring ways to let you register and process custom tasks alongside #ActivityPub jobs.
Check out the proposal: https://github.com/fedify-dev/fedify/issues/206.
Key considerations:
We'd love to hear your thoughts! Do you need this feature? How would you use it? Share your feedback in the issue thread.
@fedify@hollo.social
We're considering adding custom background task support to #Fedify 1.5.0.
Want to use Fedify's worker system for your own background tasks? We're exploring ways to let you register and process custom tasks alongside #ActivityPub jobs.
Check out the proposal: https://github.com/fedify-dev/fedify/issues/206.
Key considerations:
We'd love to hear your thoughts! Do you need this feature? How would you use it? Share your feedback in the issue thread.
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@emma@orbital.horse
Has anyone put #ActivityPub on a prim in #SecondLife?
@gubi@sociale.network
In case you're lost, here is the map.
Source of the mindmap:
@julian@fietkau.social
A cursed #ActivityPub idea.
Problem: Remote profiles sometimes look empty on Mastodon because only the stickied posts are synchronized on profile update.
Observation: Neither the ActivityPub nor Mastodon specs limit the number of sticky posts on a profile. Nothing says you can't have 100 000 sticky posts.
Solution: an ActivityPub server implementation that auto-stickies every single post you write.
The things I come up with thinking about @fedify while in the shower.
@gubi@sociale.network
In case you're lost, here is the map.
Source of the mindmap:
@julian@fietkau.social
A cursed #ActivityPub idea.
Problem: Remote profiles sometimes look empty on Mastodon because only the stickied posts are synchronized on profile update.
Observation: Neither the ActivityPub nor Mastodon specs limit the number of sticky posts on a profile. Nothing says you can't have 100 000 sticky posts.
Solution: an ActivityPub server implementation that auto-stickies every single post you write.
The things I come up with thinking about @fedify while in the shower.
@BeAware@social.beaware.live
Enjoying my limited time with @surf so far.
Looking forward to when it will be able to connect other accounts beyond Mastodon.😁
#Fedi #Fediverse #Mastodon #ActivityPub #Surf #SurfFeeds #SocialMedia
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@BeAware@social.beaware.live
I just got told Fediverse is "CIA" on a corporate platform that's owned by one of the biggest data harvesting companies on the planet.
Fedi, sometimes y'all are wild, but at least most of you aren't that damn stupid.
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@julian@fietkau.social
A cursed #ActivityPub idea.
Problem: Remote profiles sometimes look empty on Mastodon because only the stickied posts are synchronized on profile update.
Observation: Neither the ActivityPub nor Mastodon specs limit the number of sticky posts on a profile. Nothing says you can't have 100 000 sticky posts.
Solution: an ActivityPub server implementation that auto-stickies every single post you write.
The things I come up with thinking about @fedify while in the shower.
@julian@fietkau.social
A cursed #ActivityPub idea.
Problem: Remote profiles sometimes look empty on Mastodon because only the stickied posts are synchronized on profile update.
Observation: Neither the ActivityPub nor Mastodon specs limit the number of sticky posts on a profile. Nothing says you can't have 100 000 sticky posts.
Solution: an ActivityPub server implementation that auto-stickies every single post you write.
The things I come up with thinking about @fedify while in the shower.
@silverpill@mitra.social
All implementations of FEP-521a are implementations of Controlled Identifiers spec.
#fep #fep_521a #ActivityPub #ControlledIdentifiers
RE: https://w3c.social/users/w3c/statuses/113947371169653222
@w3c@w3c.social
The Verifiable Credentials Working Group invites implementations of the following Candidate Recommendation Snapshot: Controlled Identifiers (CIDs) v1.0.
A controlled identifier document contains cryptographic material and lists service endpoints for the purposes of verifying cryptographic proofs from, and interacting with, the controller of an identifier.
https://www.w3.org/news/2025/w3c-invites-implementations-of-controlled-identifiers-cids-v1-0/
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.8
- Hollo v0.4.6
- NodeBB v4.0.2
- Mitra v3.16.0
- snac v2.71
- Misskey v2025.2.0
- Ktistec v2.4.6
- ActivityPub for WordPress v5.0.0
- tootik v0.15.2
- NeoDB v0.11.4.5
- Breaking Changes in Lemmy 1.0
Clients
- Dhaaga v0.15.0
- Pixelix v3.4.0
- Pixelfed (React Native) v1.0.1.76
- Alexandrite v0.8.19
- Voyager v2.24.0
- Thunder v0.6.0
- Tesseract v1.4.30
Tools and Plugins
- LemmyLink: A cross-platform bridge bot that connects Reddit and specific Lemmy communities
For developers
- Fedify v1.4.0
- Bovine v0.5.18
- BotKit v0.1.0
Protocol
- FEP-a974: All Actor types should be followable
Articles
- A Fediverse app built on Solid
- Fediverse Report – #102
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194bdbc-75e2-e709-a309-7b86a8df6d4c
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.8
- Hollo v0.4.6
- NodeBB v4.0.2
- Mitra v3.16.0
- snac v2.71
- Misskey v2025.2.0
- Ktistec v2.4.6
- ActivityPub for WordPress v5.0.0
- tootik v0.15.2
- NeoDB v0.11.4.5
- Breaking Changes in Lemmy 1.0
Clients
- Dhaaga v0.15.0
- Pixelix v3.4.0
- Pixelfed (React Native) v1.0.1.76
- Alexandrite v0.8.19
- Voyager v2.24.0
- Thunder v0.6.0
- Tesseract v1.4.30
Tools and Plugins
- LemmyLink: A cross-platform bridge bot that connects Reddit and specific Lemmy communities
For developers
- Fedify v1.4.0
- Bovine v0.5.18
- BotKit v0.1.0
Protocol
- FEP-a974: All Actor types should be followable
Articles
- A Fediverse app built on Solid
- Fediverse Report – #102
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194bdbc-75e2-e709-a309-7b86a8df6d4c
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@atomicpoet@atomicpoet.org
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@atomicpoet@atomicpoet.org
@atomicpoet@atomicpoet.org
@atomicpoet@atomicpoet.org
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
A #Python implementation of the #ActivityPub signature algorithms (HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs) being developed by Amase Cocoa (@cocoa_vrc).
@atomicpoet@atomicpoet.org
@atomicpoet@atomicpoet.org
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.8
- Hollo v0.4.6
- NodeBB v4.0.2
- Mitra v3.16.0
- snac v2.71
- Misskey v2025.2.0
- Ktistec v2.4.6
- ActivityPub for WordPress v5.0.0
- tootik v0.15.2
- NeoDB v0.11.4.5
- Breaking Changes in Lemmy 1.0
Clients
- Dhaaga v0.15.0
- Pixelix v3.4.0
- Pixelfed (React Native) v1.0.1.76
- Alexandrite v0.8.19
- Voyager v2.24.0
- Thunder v0.6.0
- Tesseract v1.4.30
Tools and Plugins
- LemmyLink: A cross-platform bridge bot that connects Reddit and specific Lemmy communities
For developers
- Fedify v1.4.0
- Bovine v0.5.18
- BotKit v0.1.0
Protocol
- FEP-a974: All Actor types should be followable
Articles
- A Fediverse app built on Solid
- Fediverse Report – #102
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194bdbc-75e2-e709-a309-7b86a8df6d4c
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.8
- Hollo v0.4.6
- NodeBB v4.0.2
- Mitra v3.16.0
- snac v2.71
- Misskey v2025.2.0
- Ktistec v2.4.6
- ActivityPub for WordPress v5.0.0
- tootik v0.15.2
- NeoDB v0.11.4.5
- Breaking Changes in Lemmy 1.0
Clients
- Dhaaga v0.15.0
- Pixelix v3.4.0
- Pixelfed (React Native) v1.0.1.76
- Alexandrite v0.8.19
- Voyager v2.24.0
- Thunder v0.6.0
- Tesseract v1.4.30
Tools and Plugins
- LemmyLink: A cross-platform bridge bot that connects Reddit and specific Lemmy communities
For developers
- Fedify v1.4.0
- Bovine v0.5.18
- BotKit v0.1.0
Protocol
- FEP-a974: All Actor types should be followable
Articles
- A Fediverse app built on Solid
- Fediverse Report – #102
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194bdbc-75e2-e709-a309-7b86a8df6d4c
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.8
- Hollo v0.4.6
- NodeBB v4.0.2
- Mitra v3.16.0
- snac v2.71
- Misskey v2025.2.0
- Ktistec v2.4.6
- ActivityPub for WordPress v5.0.0
- tootik v0.15.2
- NeoDB v0.11.4.5
- Breaking Changes in Lemmy 1.0
Clients
- Dhaaga v0.15.0
- Pixelix v3.4.0
- Pixelfed (React Native) v1.0.1.76
- Alexandrite v0.8.19
- Voyager v2.24.0
- Thunder v0.6.0
- Tesseract v1.4.30
Tools and Plugins
- LemmyLink: A cross-platform bridge bot that connects Reddit and specific Lemmy communities
For developers
- Fedify v1.4.0
- Bovine v0.5.18
- BotKit v0.1.0
Protocol
- FEP-a974: All Actor types should be followable
Articles
- A Fediverse app built on Solid
- Fediverse Report – #102
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194bdbc-75e2-e709-a309-7b86a8df6d4c
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.8
- Hollo v0.4.6
- NodeBB v4.0.2
- Mitra v3.16.0
- snac v2.71
- Misskey v2025.2.0
- Ktistec v2.4.6
- ActivityPub for WordPress v5.0.0
- tootik v0.15.2
- NeoDB v0.11.4.5
- Breaking Changes in Lemmy 1.0
Clients
- Dhaaga v0.15.0
- Pixelix v3.4.0
- Pixelfed (React Native) v1.0.1.76
- Alexandrite v0.8.19
- Voyager v2.24.0
- Thunder v0.6.0
- Tesseract v1.4.30
Tools and Plugins
- LemmyLink: A cross-platform bridge bot that connects Reddit and specific Lemmy communities
For developers
- Fedify v1.4.0
- Bovine v0.5.18
- BotKit v0.1.0
Protocol
- FEP-a974: All Actor types should be followable
Articles
- A Fediverse app built on Solid
- Fediverse Report – #102
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194bdbc-75e2-e709-a309-7b86a8df6d4c
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.8
- Hollo v0.4.6
- NodeBB v4.0.2
- Mitra v3.16.0
- snac v2.71
- Misskey v2025.2.0
- Ktistec v2.4.6
- ActivityPub for WordPress v5.0.0
- tootik v0.15.2
- NeoDB v0.11.4.5
- Breaking Changes in Lemmy 1.0
Clients
- Dhaaga v0.15.0
- Pixelix v3.4.0
- Pixelfed (React Native) v1.0.1.76
- Alexandrite v0.8.19
- Voyager v2.24.0
- Thunder v0.6.0
- Tesseract v1.4.30
Tools and Plugins
- LemmyLink: A cross-platform bridge bot that connects Reddit and specific Lemmy communities
For developers
- Fedify v1.4.0
- Bovine v0.5.18
- BotKit v0.1.0
Protocol
- FEP-a974: All Actor types should be followable
Articles
- A Fediverse app built on Solid
- Fediverse Report – #102
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194bdbc-75e2-e709-a309-7b86a8df6d4c
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@kirk@social.coop
Why I switched our open-source project's forum hosting to @nodebb and how it's helping us kick-start our community:
https://dualpower.supply/posts/nodebb/
#100DaysToOffload #fediverse #ActivityPub #OpenSource #OpenSourceHardware #Quarto
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@josemurilo@mato.social · Reply to wakest ⁂'s post
@liaizon @evan @pfefferle @laurenshof @thisisaaronland
Here goes useful info for those interested in following, or applying for this initiative. The public call involves hiring two professionals, for web communication and web technology. Candidates have until Feb 10 to apply.
Our goal is to provide #museums and other #memoryinstitutions with an open tool that facilitates the exploration of decentralized social networks — #TheFediverse.
@josemurilo@mato.social · Reply to wakest ⁂'s post
@liaizon @evan @pfefferle @laurenshof @thisisaaronland
Here goes useful info for those interested in following, or applying for this initiative. The public call involves hiring two professionals, for web communication and web technology. Candidates have until Feb 10 to apply.
Our goal is to provide #museums and other #memoryinstitutions with an open tool that facilitates the exploration of decentralized social networks — #TheFediverse.
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@kirk@social.coop
Why I switched our open-source project's forum hosting to @nodebb and how it's helping us kick-start our community:
https://dualpower.supply/posts/nodebb/
#100DaysToOffload #fediverse #ActivityPub #OpenSource #OpenSourceHardware #Quarto
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@BeAware@social.beaware.live
Just a warning for Fedi devs:
If you plan on building discovery features for Fedi, BeAware of the "Fedi Mafia" that harasses, threatens, and abuses any dev on Fedi that DARES to make an open platform a little bit more usable.🤦♂️
Over the past 2 months, I've seen 4 Fedi projects that were building tools to help people find accounts and servers to make it easier to find content on Fedi, get shut down because people who don't understand that Fedi is OPEN, harassed and threatened the devs until they shut their projects down.🤬
So, if you plan on building these tools, PLEASE just be prepared to block and continue building your tools.
Ignorant people should not dictate how this protocol is built. Don't let the abusers win.
#Fedi #Fediverse #FediMafia #ActivityPub #Mastodon #FediDev #Developer
@kirk@social.coop
Why I switched our open-source project's forum hosting to @nodebb and how it's helping us kick-start our community:
https://dualpower.supply/posts/nodebb/
#100DaysToOffload #fediverse #ActivityPub #OpenSource #OpenSourceHardware #Quarto
@box464@mastodon.social
Take a look at the AP Activities that are supported by @fedify
Going far beyond your every day social timeline - woud love to see some AP platforms add support for Listen, Offer, or Travel/Arrive/Leave.
https://github.com/fedify-dev/fedify/blob/main/FEDERATION.md
@box464@mastodon.social
Take a look at the AP Activities that are supported by @fedify
Going far beyond your every day social timeline - woud love to see some AP platforms add support for Listen, Offer, or Travel/Arrive/Leave.
https://github.com/fedify-dev/fedify/blob/main/FEDERATION.md
@box464@mastodon.social
Take a look at the AP Activities that are supported by @fedify
Going far beyond your every day social timeline - woud love to see some AP platforms add support for Listen, Offer, or Travel/Arrive/Leave.
https://github.com/fedify-dev/fedify/blob/main/FEDERATION.md
@box464@mastodon.social
Take a look at the AP Activities that are supported by @fedify
Going far beyond your every day social timeline - woud love to see some AP platforms add support for Listen, Offer, or Travel/Arrive/Leave.
https://github.com/fedify-dev/fedify/blob/main/FEDERATION.md
@box464@mastodon.social
Take a look at the AP Activities that are supported by @fedify
Going far beyond your every day social timeline - woud love to see some AP platforms add support for Listen, Offer, or Travel/Arrive/Leave.
https://github.com/fedify-dev/fedify/blob/main/FEDERATION.md
@ramsey@phpc.social
This project looks promising:
"Goodnews is a PHP-based social media platform like Mastodon based on the ActivityPub protocol."
Highlights:
- PHP 8.2+, Hyperf, and Swoole
- AGPL 3.0
- ActivityPub
- Mastodon API compatibility
- Backend and frontend are separate projects
- Active development
@ramsey@phpc.social
This project looks promising:
"Goodnews is a PHP-based social media platform like Mastodon based on the ActivityPub protocol."
Highlights:
- PHP 8.2+, Hyperf, and Swoole
- AGPL 3.0
- ActivityPub
- Mastodon API compatibility
- Backend and frontend are separate projects
- Active development
@ramsey@phpc.social
This project looks promising:
"Goodnews is a PHP-based social media platform like Mastodon based on the ActivityPub protocol."
Highlights:
- PHP 8.2+, Hyperf, and Swoole
- AGPL 3.0
- ActivityPub
- Mastodon API compatibility
- Backend and frontend are separate projects
- Active development
@ramsey@phpc.social
This project looks promising:
"Goodnews is a PHP-based social media platform like Mastodon based on the ActivityPub protocol."
Highlights:
- PHP 8.2+, Hyperf, and Swoole
- AGPL 3.0
- ActivityPub
- Mastodon API compatibility
- Backend and frontend are separate projects
- Active development
@BeAware@social.beaware.live · Reply to Samantha Xavia's post
@sam Fedi Mafia strikes again?!? What the fuck!
People really need to fuck off and let devs build on this platform. 🤬
@lps@mograph.social
Web monetization can be achieved using #castopod giving us one more tools to wrestle control away from #bigtech #monopolies
Watch the talk here on #peertube :)
Demo of Castopod and Mastodon with Web Monetization support (FOSDEM 2025) https://podlibre.video/videos/watch/8b5b96b6-d57a-4b5f-9a26-46e70423c92a
#fosdem2025 #fosdem #foss #podcasting #fediverse #activitypub
@BeAware@social.beaware.live · Reply to Samantha Xavia's post
@sam facts. At this point, I feel like I'm on the verge of shutting down this instance and going back to BlueSky and Twitter.
The good people here keep getting fucked over by the assholes that keep harassing developers trying to build on an OPEN protocol.🤬
#Fedi #Fediverse #Mastodon #ActivityPub #FediMafia #Harassment #Bluesky #SocialMedia
@BeAware@social.beaware.live · Reply to Samantha Xavia's post
@sam facts. At this point, I feel like I'm on the verge of shutting down this instance and going back to BlueSky and Twitter.
The good people here keep getting fucked over by the assholes that keep harassing developers trying to build on an OPEN protocol.🤬
#Fedi #Fediverse #Mastodon #ActivityPub #FediMafia #Harassment #Bluesky #SocialMedia
@BeAware@social.beaware.live · Reply to Samantha Xavia's post
@sam Fedi Mafia strikes again?!? What the fuck!
People really need to fuck off and let devs build on this platform. 🤬
@lps@mograph.social
Web monetization can be achieved using #castopod giving us one more tools to wrestle control away from #bigtech #monopolies
Watch the talk here on #peertube :)
Demo of Castopod and Mastodon with Web Monetization support (FOSDEM 2025) https://podlibre.video/videos/watch/8b5b96b6-d57a-4b5f-9a26-46e70423c92a
#fosdem2025 #fosdem #foss #podcasting #fediverse #activitypub
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@allthingsopen@mastodon.social
🚀 NEW on We ❤️ Open Source 🚀
Ever wondered how @Mastodon, Pixelfed, and PeerTube connect seamlessly? It’s all thanks to ActivityPub! 🌍
In this article, @linuxnerd breaks down how this open-source protocol powers the Fediverse and gives users control over their social media. Read more! 👇
🔗 https://allthingsopen.org/articles/activitypub-explained-the-protocol-connecting-the-fediverse
@allthingsopen@mastodon.social
🚀 NEW on We ❤️ Open Source 🚀
Ever wondered how @Mastodon, Pixelfed, and PeerTube connect seamlessly? It’s all thanks to ActivityPub! 🌍
In this article, @linuxnerd breaks down how this open-source protocol powers the Fediverse and gives users control over their social media. Read more! 👇
🔗 https://allthingsopen.org/articles/activitypub-explained-the-protocol-connecting-the-fediverse
@allthingsopen@mastodon.social
🚀 NEW on We ❤️ Open Source 🚀
Ever wondered how @Mastodon, Pixelfed, and PeerTube connect seamlessly? It’s all thanks to ActivityPub! 🌍
In this article, @linuxnerd breaks down how this open-source protocol powers the Fediverse and gives users control over their social media. Read more! 👇
🔗 https://allthingsopen.org/articles/activitypub-explained-the-protocol-connecting-the-fediverse
@gyptazy@gyptazy.com
The #Fediverse is free, free of censorship, federated and full of great content!
Also the Fediverse - instance admins randomly blocking whole instances just because a single user feels offended of a post by a single instance user. Blocking whole instances is just a finger snip away, censoring unwanted content and parenting users of instances. Defederating just because of… ok no clue :) Using content warner for any possible content just to annoy or aeemmm make it more interesting to other users. Thanks, I’m old enough :) Seeing all the spam because it’s just a thing of 5 minutes automation to create randomly new instances on different domains (or subdomains from dynamic-ip hosters) and to fill the network with automated content.
Sometimes, pros can easily switch into cons… luckily more and more single user instances are raising up for exactly this reasons and can still easily federate by using relays…
#networking #activitypub #mastodon #fediverse #gotosocial #snac #snac2 #opensource #community #socialmedia #relay #abuse #moderation
@gyptazy@gyptazy.com
The #Fediverse is free, free of censorship, federated and full of great content!
Also the Fediverse - instance admins randomly blocking whole instances just because a single user feels offended of a post by a single instance user. Blocking whole instances is just a finger snip away, censoring unwanted content and parenting users of instances. Defederating just because of… ok no clue :) Using content warner for any possible content just to annoy or aeemmm make it more interesting to other users. Thanks, I’m old enough :) Seeing all the spam because it’s just a thing of 5 minutes automation to create randomly new instances on different domains (or subdomains from dynamic-ip hosters) and to fill the network with automated content.
Sometimes, pros can easily switch into cons… luckily more and more single user instances are raising up for exactly this reasons and can still easily federate by using relays…
#networking #activitypub #mastodon #fediverse #gotosocial #snac #snac2 #opensource #community #socialmedia #relay #abuse #moderation
@andypiper@macaw.social
Reading FEP-a974: Actor type compatibility https://codeberg.org/fediverse/fep/pulls/486 #fediverse #ActivityPub
@josemurilo@mato.social
We are seeking a specialized technical consultant to develop a strategic plan for enhancing communication across IBRAM-#Museus’s digital services. The focus will be on interoperability with decentralized social networks (#Fediverse), leveraging the #ActivityPub plugin for #WordPress, which is currently integrated into the #Tainacan platform.
#FediHire #DecentralizedWeb #CulturalHeritage #OpenSource #MuseumTech
https://brasiliana.museus.gov.br/construindo-pontes-dos-museus-para-o-fediverso/
@andypiper@macaw.social
Reading FEP-a974: Actor type compatibility https://codeberg.org/fediverse/fep/pulls/486 #fediverse #ActivityPub
@josemurilo@mato.social
We are seeking a specialized technical consultant to develop a strategic plan for enhancing communication across IBRAM-#Museus’s digital services. The focus will be on interoperability with decentralized social networks (#Fediverse), leveraging the #ActivityPub plugin for #WordPress, which is currently integrated into the #Tainacan platform.
#FediHire #DecentralizedWeb #CulturalHeritage #OpenSource #MuseumTech
https://brasiliana.museus.gov.br/construindo-pontes-dos-museus-para-o-fediverso/
@dansup@mastodon.social
The future is federated, the source is open.
It's our duty to make sure we build a better social landscape for future generations, you may not realize how impactful you really are.
Together we thrive, and @PixelFed stands proudly with every #ActivityPub project, and will use our newfound publicity to bring awareness to the rest!
@dansup@mastodon.social
The future is federated, the source is open.
It's our duty to make sure we build a better social landscape for future generations, you may not realize how impactful you really are.
Together we thrive, and @PixelFed stands proudly with every #ActivityPub project, and will use our newfound publicity to bring awareness to the rest!
@phil@fed.bajsicki.com
Of public interest:
At least 15,000 people fully, without limits, irrevocably, licensed their personal information, public image, name and all data that reached loops.video infrastructure... to @dansup@mastodon.social 's loops.video platform.
Had they known they're entirely losing control of everything, would they be using the platform?
Explanation in the renote, and here:
https://bajsicki.com/blog/loops-video-terms/
Is this what we, as a #society, want?
#mastodon #admin #dataprivacy #datasecurity #fediverse #federation #ActivityPub #privacy #security #copyright #consent #instagram #tiktok #pixelfed #loopsvideo
RE: https://fed.bajsicki.com/notes/a349itz9il
@phil@fed.bajsicki.com
How about no?
You're way overstepping with this, poisoning the entire ActivityPub ecosystem.
Let me break this down for you...
https://bajsicki.com/blog/loops-video-terms/
In short: if you really intend to federate, respect your users and their data.
Implementing federation while keeping these terms is a severe breach of trust, and would poison the entirety of the network in an way which will cripple ActivityPub, and undermine the very foundation of what AP stands for with regard to privacy, data ownership, and control over what we post to the network.
Hopefully that's not your intention. Is it?
#mastodon #admin #dataprivacy #datasecurity #fediverse #federation #ActivityPub #privacy #security #copyright #consent #instagram #tiktok #pixelfed #loopsvideo
RE: https://mastodon.social/users/dansup/statuses/113841956808397142
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@fedify@hollo.social
We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in #ActivityPub federation.
Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).
Added the ability to customize WebFinger responses through the new mapAlias()
API, giving you more control over how your actors are discovered.
Added support for shares
, likes
, and emojiReactions
properties to the Object
class, making it easier to access and traverse these interaction collections.
Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.
The fedify lookup
command now supports two new options:
-t/--traverse
: Traverse through collection objects-S/--suppress-errors
: Continue operation even when encountering errors during traversalContext.getNodeInfo()
method for easier NodeInfo accessUser-Agent
headers now automatically include your instance URL, making it easier for other servers to identify your instanceFor the complete list of changes and bugfixes, please visit our changelog.
Whether you're building a new federated application or maintaining an existing one, #Fedify 1.4.0 provides the tools you need for robust ActivityPub federation.
We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!
You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!
@dansup@mastodon.social
Loops mobile app source code:
https://github.com/joinloops/loops-app
The rest will be pushed shortly, just preparing a new TestFlight build ✨
@atomicpoet@atomicpoet.org
@atomicpoet@atomicpoet.org
@silverpill@mitra.social
All implementations of FEP-521a are implementations of Controlled Identifiers spec.
#fep #fep_521a #ActivityPub #ControlledIdentifiers
RE: https://w3c.social/users/w3c/statuses/113947371169653222
@w3c@w3c.social
The Verifiable Credentials Working Group invites implementations of the following Candidate Recommendation Snapshot: Controlled Identifiers (CIDs) v1.0.
A controlled identifier document contains cryptographic material and lists service endpoints for the purposes of verifying cryptographic proofs from, and interacting with, the controller of an identifier.
https://www.w3.org/news/2025/w3c-invites-implementations-of-controlled-identifiers-cids-v1-0/
@silverpill@mitra.social
All implementations of FEP-521a are implementations of Controlled Identifiers spec.
#fep #fep_521a #ActivityPub #ControlledIdentifiers
RE: https://w3c.social/users/w3c/statuses/113947371169653222
@w3c@w3c.social
The Verifiable Credentials Working Group invites implementations of the following Candidate Recommendation Snapshot: Controlled Identifiers (CIDs) v1.0.
A controlled identifier document contains cryptographic material and lists service endpoints for the purposes of verifying cryptographic proofs from, and interacting with, the controller of an identifier.
https://www.w3.org/news/2025/w3c-invites-implementations-of-controlled-identifiers-cids-v1-0/
@atomicpoet@atomicpoet.org
It wasn’t so long ago that #Mastodon made up 90% of MAUs on the #Fediverse. Hell, it so dominated Fediverse usage that, for most people, Mastodon was the Fediverse.
But now Mastodon’s percentage of MAUs stands at 58%. And it’s probably lower because the second most popular Fediverse software distribution, #Misskey, doesn’t accurately report MAUs. So what happened?
I suspect four things:
Obviously, Mastodon is alive and kicking. It’s not going anywhere. Its continuing development is critical to the success of the Fediverse.
But at the same time, the success of Mastodon led to the success of other federated projects. And it works the other way around too. The success of other federated projects is also Mastodon’s success.
So really, lower MAUs for Mastodon is actually a giant win for the big pachyderm.
@BeAware@social.beaware.live
Some people here make me embarrassed to say I'm on Fediverse.
Specifically those who don't understand what the word "open" means.
If you want a walled garden, PLEASE, do yourself and Fedi a favor and go back to corporate social media.
Fedi devs are building on an open protocol.
You have options to limit your visibility.
Opt out of search features, and post with "unlisted" or "followers only" setting.
Use them.
Don't harass developers trying to make the platform usable.
Thanks.
@BeAware@social.beaware.live
I sure do wish I could search the wider Fediverse without having a mastodon.social account...
Oh wait, @rolle made this exact thing and got harassed, threatened, and insulted by the ignorant Fedi mafia who thinks that Fedi is "private" for some dumb reason.
If you want privacy, go to signal.
I want a USABLE social media platform that isn't owned by a corporate asshole.
Fedi is barely usable without discoverability and ignorance is killing it.
Educate yourself. ActivityPub is an OPEN protocol.
Stop harassing people that are building on that openness. You're killing Fedi.🤬
#Fedi #Fediverse #ActivityPub #SocialMedia #Mastodon #FediOnFire
#FediMafiaStrikesAgain #FediMafia
@BeAware@social.beaware.live
I sure do wish I could search the wider Fediverse without having a mastodon.social account...
Oh wait, @rolle made this exact thing and got harassed, threatened, and insulted by the ignorant Fedi mafia who thinks that Fedi is "private" for some dumb reason.
If you want privacy, go to signal.
I want a USABLE social media platform that isn't owned by a corporate asshole.
Fedi is barely usable without discoverability and ignorance is killing it.
Educate yourself. ActivityPub is an OPEN protocol.
Stop harassing people that are building on that openness. You're killing Fedi.🤬
#Fedi #Fediverse #ActivityPub #SocialMedia #Mastodon #FediOnFire
#FediMafiaStrikesAgain #FediMafia
@BeAware@social.beaware.live
I sure do wish I could search the wider Fediverse without having a mastodon.social account...
Oh wait, @rolle made this exact thing and got harassed, threatened, and insulted by the ignorant Fedi mafia who thinks that Fedi is "private" for some dumb reason.
If you want privacy, go to signal.
I want a USABLE social media platform that isn't owned by a corporate asshole.
Fedi is barely usable without discoverability and ignorance is killing it.
Educate yourself. ActivityPub is an OPEN protocol.
Stop harassing people that are building on that openness. You're killing Fedi.🤬
#Fedi #Fediverse #ActivityPub #SocialMedia #Mastodon #FediOnFire
#FediMafiaStrikesAgain #FediMafia
@evan@cosocial.ca
Very happy to announce that @tomcoates and I have been given a #SummerOfProtocols grant to develop an end-to-end encryption (E2EE) protocol for #ActivityPub DMs, including a reference implementation and a report to submit to the W3C SocialCG.
https://forum.summerofprotocols.com/t/sop-2024-pig-and-pog-grantees/1270
@Linux@mastodon.au
Dear Fediverse Administrators,
Please consider relocating your website to a web hosting provider based outside the United States of America.
Historically, fascist governments do not ignore the little guy -- That's you, and your users.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey #CherryPick #IceShrimp #Sharkey #WebHosting #Cdn #Dns #WebHost #Hosting #Vpn
@pfefferle@mastodon.social
this was such an awesome event!!! it was such a pleasure to meet you all!!!
(way too much people to @-reply everyone, but I hope you all feel addressed)
🫶
#fosdem #fediverse #socialweb #socialwebfoundation #activitypub
@_elena@mastodon.social · Reply to Elena Rossini ⁂'s post
And it’s a wrap for my first (EPIC) day at #FOSDEM.
It’s hard to put into words how incredible - and energizing - it feels to be around the creators of the #ActivityPub protocol, founders of #Fediverse software, admins of popular instances and developers of tools I use every day.
I took the opportunity to thank them in person for their incredible work 😊
It’s also been amazing to finally meet IRL lots of cool people I had been corresponding with for months on the Fediverse.
The best day 💛
@pfefferle@mastodon.social
this was such an awesome event!!! it was such a pleasure to meet you all!!!
(way too much people to @-reply everyone, but I hope you all feel addressed)
🫶
#fosdem #fediverse #socialweb #socialwebfoundation #activitypub
@dansup@mastodon.social
All those seeds I planted over the years are sprouting 🌱
FediDB.org, Fediverse.info and PubKit.net are going to play a huge part in our roadmap for 2025!
We're so proud of our progress, and being able to give back to our fediverse community 🌻
@dansup@mastodon.social
i am so attending FOSDEM 2026
Fellow fedi developers:
I challenge you to a karaoke competition, and the fediverse will vote on the winner, sponsored by https://loops.video and #ActivityPub
@box464@mastodon.social
I've seen multiple call outs from our fediverse leadership for monetary contributions. If there ever was a time, it is NOW to show your support at all levels.
Your local instance administrators need money to keep it running.
Your favorite app developers need money to fund their work.
Platforms themselves need funding.
And, reach out to the people that keep your feeds running and say thank you.
They need to hear it. #FediThankYou
@Linux@mastodon.au
Dear Fediverse Administrators,
Please consider relocating your website to a web hosting provider based outside the United States of America.
Historically, fascist governments do not ignore the little guy -- That's you, and your users.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey #CherryPick #IceShrimp #Sharkey #WebHosting #Cdn #Dns #WebHost #Hosting #Vpn
@Linux@mastodon.au
Dear Fediverse Administrators,
Please consider relocating your website to a web hosting provider based outside the United States of America.
Historically, fascist governments do not ignore the little guy -- That's you, and your users.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey #CherryPick #IceShrimp #Sharkey #WebHosting #Cdn #Dns #WebHost #Hosting #Vpn
@box464@mastodon.social
I've seen multiple call outs from our fediverse leadership for monetary contributions. If there ever was a time, it is NOW to show your support at all levels.
Your local instance administrators need money to keep it running.
Your favorite app developers need money to fund their work.
Platforms themselves need funding.
And, reach out to the people that keep your feeds running and say thank you.
They need to hear it. #FediThankYou
@box464@mastodon.social
I've seen multiple call outs from our fediverse leadership for monetary contributions. If there ever was a time, it is NOW to show your support at all levels.
Your local instance administrators need money to keep it running.
Your favorite app developers need money to fund their work.
Platforms themselves need funding.
And, reach out to the people that keep your feeds running and say thank you.
They need to hear it. #FediThankYou
@box464@mastodon.social
I've seen multiple call outs from our fediverse leadership for monetary contributions. If there ever was a time, it is NOW to show your support at all levels.
Your local instance administrators need money to keep it running.
Your favorite app developers need money to fund their work.
Platforms themselves need funding.
And, reach out to the people that keep your feeds running and say thank you.
They need to hear it. #FediThankYou
@lqdev@toot.lqdev.tech
A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 8 #fediverse #indieweb #activitypub https://www.luisquintanilla.me/feed/guide-implementing-activitypub-static-site-pt-8?utm_medium=feed
@lqdev@toot.lqdev.tech
A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 8 #fediverse #indieweb #activitypub https://www.luisquintanilla.me/feed/guide-implementing-activitypub-static-site-pt-8?utm_medium=feed
@BeAware@social.beaware.live
My reaction every time I see someone say "Follow me on Bluesky".
@pfefferle@mastodon.social
this was such an awesome event!!! it was such a pleasure to meet you all!!!
(way too much people to @-reply everyone, but I hope you all feel addressed)
🫶
#fosdem #fediverse #socialweb #socialwebfoundation #activitypub
@pfefferle@mastodon.social
this was such an awesome event!!! it was such a pleasure to meet you all!!!
(way too much people to @-reply everyone, but I hope you all feel addressed)
🫶
#fosdem #fediverse #socialweb #socialwebfoundation #activitypub
@chris@social.uggs.io
🚀 **Big Upgrade for the relay.uggs.io Relay!** 🐘⚡
Good news, Mastodon admins! Our relay just got a **massive performance boost** to keep your federation fast & smooth! 💨
🔥 **What’s new?**
✅ **💾 32GB RAM & 16 cores** – More power, better performance!
✅ **⚡ SSD-powered** – Lightning-fast response times.
✅ **🛢️ PostgreSQL & Redis** – Better backend, faster caching!
✅ **🚀 Caddy with HTTP/3** – Future-proof & blazing fast!
✅ **🔓 Open registrations** – New instances welcome!
✅ **⚠️ Inactives get removed** – High-quality relaying only!
➡️ Join now: https://relay.uggs.io/
💡 Running a Mastodon instance? Connect now & level up your federation! 🌍
📩 Need help? Ping [@chris](https://social.uggs.io/@chris)!
#Mastodon #Fediverse #ActivityPub #MastoAdmin #FediRelay #Decentralized #SelfHosting #OpenSource #Privacy #MastodonRelay #ServerUpgrade #relay #relayserver #MastoAdmin #selfhosting #selfhosted
@chris@social.uggs.io
🚀 **Big Upgrade for the relay.uggs.io Relay!** 🐘⚡
Good news, Mastodon admins! Our relay just got a **massive performance boost** to keep your federation fast & smooth! 💨
🔥 **What’s new?**
✅ **💾 32GB RAM & 16 cores** – More power, better performance!
✅ **⚡ SSD-powered** – Lightning-fast response times.
✅ **🛢️ PostgreSQL & Redis** – Better backend, faster caching!
✅ **🚀 Caddy with HTTP/3** – Future-proof & blazing fast!
✅ **🔓 Open registrations** – New instances welcome!
✅ **⚠️ Inactives get removed** – High-quality relaying only!
➡️ Join now: https://relay.uggs.io/
💡 Running a Mastodon instance? Connect now & level up your federation! 🌍
📩 Need help? Ping [@chris](https://social.uggs.io/@chris)!
#Mastodon #Fediverse #ActivityPub #MastoAdmin #FediRelay #Decentralized #SelfHosting #OpenSource #Privacy #MastodonRelay #ServerUpgrade #relay #relayserver #MastoAdmin #selfhosting #selfhosted
@Linux@mastodon.au
Dear Fediverse Administrators,
Please consider relocating your website to a web hosting provider based outside the United States of America.
Historically, fascist governments do not ignore the little guy -- That's you, and your users.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey #CherryPick #IceShrimp #Sharkey #WebHosting #Cdn #Dns #WebHost #Hosting #Vpn
@Linux@mastodon.au
Dear Fediverse Administrators,
Please consider relocating your website to a web hosting provider based outside the United States of America.
Historically, fascist governments do not ignore the little guy -- That's you, and your users.
#Fediverse #Fedi #ActivityPub #Mastodon #Misskey #CherryPick #IceShrimp #Sharkey #WebHosting #Cdn #Dns #WebHost #Hosting #Vpn
@dusk@todon.eu
#AskFedi (would love your support in boosting, TYIA! )
I maaaay be writing a piece on Mastodon + Fediverse for the radical free-speech zine Slingshot Collective?
https://slingshotcollective.org/
(Anarchist / Socialist vibes, founded in Berkeley, CA)
...if I can find the time.
⫘⫘⫘⫘⫘⫘⫘⫘⫘⫘⫘⫘
❓ My question for YOU:
What are the specific weaknesses / shortcomings of Mastodon's approach to moderation, specifically as it relates to shitty speech directed at fem, trans, black, and other marginalized communities.
⭐ I'm not explicitly asking for additional labor from e.g. #blackMastodon (though it's welcome if you care to share)
⭐ I'm seeking previously-posted perspectives from individuals from marginalized communities who have been negatively impacted by the way that moderation is structured in #ActivityPub
Part of my rough current understanding of (one of) the issues:
If person A posts post 1, and person B comments [a shitty] reply 2, reply 2 remains visible and attached to post 1, unless there are instance-level blocking actions taken. Do I have that right?
Thanks all!
👋
@dusk@todon.eu
#AskFedi (would love your support in boosting, TYIA! )
I maaaay be writing a piece on Mastodon + Fediverse for the radical free-speech zine Slingshot Collective?
https://slingshotcollective.org/
(Anarchist / Socialist vibes, founded in Berkeley, CA)
...if I can find the time.
⫘⫘⫘⫘⫘⫘⫘⫘⫘⫘⫘⫘
❓ My question for YOU:
What are the specific weaknesses / shortcomings of Mastodon's approach to moderation, specifically as it relates to shitty speech directed at fem, trans, black, and other marginalized communities.
⭐ I'm not explicitly asking for additional labor from e.g. #blackMastodon (though it's welcome if you care to share)
⭐ I'm seeking previously-posted perspectives from individuals from marginalized communities who have been negatively impacted by the way that moderation is structured in #ActivityPub
Part of my rough current understanding of (one of) the issues:
If person A posts post 1, and person B comments [a shitty] reply 2, reply 2 remains visible and attached to post 1, unless there are instance-level blocking actions taken. Do I have that right?
Thanks all!
👋
@Linux_Is_Best@misskey.de · Reply to Jan Antoš's post
@janantos@mstdn.social Hetzner is NOT friendly toward the LGBTQ community.
Many people here on the Fediverse learned that when a bunch of Fedi sites which has drawings or photos of women kissing women, or men kissing men, were taken offline.
I try to recommend providers who are open to generally any content, provided it is legal, of course. I am not going to recommend people looking to escape possible censorship or safety concerns, only to further feel unsafe and possibly censored.
#Hetzner #HetznerHost #Fediverse #ActivityPub #Mastodon #Misskey #CherryPick #IceShrimp #LGBTQ #Trans #WomensRights
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@5ika@tooting.ch
@srosset is presenting @activitypods at #FOSDEM. A link between #ActivityPub and #Solid for a neutral social network
@liaizon@social.wake.st
First thing this morning at Social Web #BOF we have @Edent presenting their single file php #ActivityPub project that is entirely contained in one slide!
@andypiper@macaw.social
The Ghost approach to #ActivityPub looks great. They get it. Real engagement and ongoing conversations not just broadcasting. I had a similar experience when Mastodon replies started showing up as comments in WordPress, but Ghost is really building this into the core with the reader view as well. “You can’t be on the social web without being social.” #FOSDEM #SocialWebFOSDEM
@liaizon@social.wake.st
First thing this morning at Social Web #BOF we have @Edent presenting their single file php #ActivityPub project that is entirely contained in one slide!
@5ika@tooting.ch
@srosset is presenting @activitypods at #FOSDEM. A link between #ActivityPub and #Solid for a neutral social network
@liaizon@social.wake.st
First thing this morning at Social Web #BOF we have @Edent presenting their single file php #ActivityPub project that is entirely contained in one slide!
@andypiper@macaw.social
The Ghost approach to #ActivityPub looks great. They get it. Real engagement and ongoing conversations not just broadcasting. I had a similar experience when Mastodon replies started showing up as comments in WordPress, but Ghost is really building this into the core with the reader view as well. “You can’t be on the social web without being social.” #FOSDEM #SocialWebFOSDEM
@dansup@mastodon.social
Loops mobile app source code:
https://github.com/joinloops/loops-app
The rest will be pushed shortly, just preparing a new TestFlight build ✨
@gubi@sociale.network
At #fosdem John O’Nolan, CEO of @index announced the public beta of Ghost 6.0 to be launched in march 2025, to add #activitypub federation features to the successful Ghost software, released with MIT license and already adopted successfully by several news organisations. With federation enabled, Ghost will allow the creation of content curation platforms and federated independent news sources aggregating content from the #fediverse,
@dansup@mastodon.social
Loops mobile app source code:
https://github.com/joinloops/loops-app
The rest will be pushed shortly, just preparing a new TestFlight build ✨
@gubi@sociale.network
At #fosdem John O’Nolan, CEO of @index announced the public beta of Ghost 6.0 to be launched in march 2025, to add #activitypub federation features to the successful Ghost software, released with MIT license and already adopted successfully by several news organisations. With federation enabled, Ghost will allow the creation of content curation platforms and federated independent news sources aggregating content from the #fediverse,
@Lan@mastodon.social
This is probably a dumb question but is it possible/advisable for more people to host their own content? Seems like instead of having giant servers where everyone’s stuff is stored we could all just host our own files and people connect to them? Grateful for any insight into the downsides of doing something like that (aside from having to learn how to run a server) #fediverse nub here #activitypub #pixelfed #loops #mastodon
@Floppy@mastodon.me.uk
I'm off to #FOSDEM2025 at the end of this week to join the #SocialWeb devroom, and talk about @manyfold on Saturday afternoon!
Looking forward to talking to folks about #ActivityPub federation, #3dPrinting, #WebGL... pretty much anything TBH! And looking forward to a trip on the Eurostar, too 🚅
https://fosdem.org/2025/schedule/event/fosdem-2025-4181-manyfold-federating-3d-models/
@Floppy@mastodon.me.uk
I'm off to #FOSDEM2025 at the end of this week to join the #SocialWeb devroom, and talk about @manyfold on Saturday afternoon!
Looking forward to talking to folks about #ActivityPub federation, #3dPrinting, #WebGL... pretty much anything TBH! And looking forward to a trip on the Eurostar, too 🚅
https://fosdem.org/2025/schedule/event/fosdem-2025-4181-manyfold-federating-3d-models/
@dansup@mastodon.social
Loops mobile app source code:
https://github.com/joinloops/loops-app
The rest will be pushed shortly, just preparing a new TestFlight build ✨
@res260@infosec.exchange
A few facts and thoughts about #BlueSky being decentralized or not:
#ATProto (the protocol behind bluesky) is decentralized and open-source, but is controlled by a for-profit (albeit fiscally a public benefit) organization, "Bluesky Social PBC".
"Bluesky" refers to a sum of ATProto concepts, notably the AppView (bsky.app), the main Personal Data Servers (PDS, bsky.social), and the Relays (or firehose, bsky.network). There are others, but they're the 3 important ones.
Anyone can run their own AppView, PDS or Relay AND consume the content from/get their content consumed by the Bluesky infrastructure. HOWEVER, not everything is trivial or cheap to run.
3.0 A PDS, which contains your data (account details but also posts, likes, follows, etc), is trivial and cheap to self-host. Cheaper than hosting a mastodon instance, even, because it does way less stuff and receives way less requests. See https://github.com/bluesky-social/pds
3.1 An AppView (the presentation layer, where users interact with ATProto content) can be created by anyone, but the bsky.app backend is NOT open-source, so there are not a ton of options right now.
EDIT: seems like I was wrong and that the bsky.app AppView is open-source: https://github.com/bluesky-social/atproto/tree/main/packages/bsky
3.2 Running a relay is trivial but expensive to self-host. This is because its purpose is to act as an aggregator for all the PDS so that AppViews can consume the data in a way that scales better. The Bluesky relay implementation (bigsky) is open-source: https://github.com/bluesky-social/indigo/blob/main/cmd/bigsky/README.md
About 2.5 months ago, 4.5TB of storage was needed and an OVH server costing 150$/month worked to host a full-atmosphere relay (more on that later).
4.0 To make a comparison with #ActivityPub (the protocol behind #mastodon ), the AppView and PDS is the same thing in ActivityPub, and the concept of relay doesn't exist. There are advantages and drawbacks to both architectures, I might do a future post highlighting those.
5.0 With those definitions out of the way, some observations:
5.1 A lot of users self-host their PDS, but the vast majority of users chose the simpler option.
5.2 There are some alternative AppViews built on ATProto, but the vast majority of users visit bsky.app.
5.3 There are very little non-bluesky self-hosting of relays, mostly because of their prohibitive cost. Running the bigsky relay is expensive partly because of design decisions for ATProto and partly because it takes ALL content from ALL accounts for ALL the network on the atmosphere (in this case atmosphere == fediverse but for ATProto). This is like if your Mastodon instance queried ALL servers for ALL accounts querying ALL posts. In the future, there might exist relays that don't scrape ALL data but only a subset of it, which would bring down costs, but it's not yet the case.
6.0 So "is Bluesky decentralized?"
6.1 In theory, yes, everything that bluesky does on ATProto can be.
6.2 In practice, however, the most decentralized part of Bluesky is the PDS, where the user data is stored, and even that is not that decentralized.
6.3 Will it stay this way? I'm hopeful it won't, but I don't know. ATProto is fairly new compared to ActivityPub, and the ecosystem around it was mostly built by the BlueSky company, but I expect this to change in the future. However, the cost of entry for things built on ATProto will always be more than the cost of entry for things built on ActivityPub.
6.4 Things built on ActivityPub will always be more decentralized than things built on ATProto, because of design decisions from both of these protocols.
@res260@infosec.exchange
A few facts and thoughts about #BlueSky being decentralized or not:
#ATProto (the protocol behind bluesky) is decentralized and open-source, but is controlled by a for-profit (albeit fiscally a public benefit) organization, "Bluesky Social PBC".
"Bluesky" refers to a sum of ATProto concepts, notably the AppView (bsky.app), the main Personal Data Servers (PDS, bsky.social), and the Relays (or firehose, bsky.network). There are others, but they're the 3 important ones.
Anyone can run their own AppView, PDS or Relay AND consume the content from/get their content consumed by the Bluesky infrastructure. HOWEVER, not everything is trivial or cheap to run.
3.0 A PDS, which contains your data (account details but also posts, likes, follows, etc), is trivial and cheap to self-host. Cheaper than hosting a mastodon instance, even, because it does way less stuff and receives way less requests. See https://github.com/bluesky-social/pds
3.1 An AppView (the presentation layer, where users interact with ATProto content) can be created by anyone, but the bsky.app backend is NOT open-source, so there are not a ton of options right now.
EDIT: seems like I was wrong and that the bsky.app AppView is open-source: https://github.com/bluesky-social/atproto/tree/main/packages/bsky
3.2 Running a relay is trivial but expensive to self-host. This is because its purpose is to act as an aggregator for all the PDS so that AppViews can consume the data in a way that scales better. The Bluesky relay implementation (bigsky) is open-source: https://github.com/bluesky-social/indigo/blob/main/cmd/bigsky/README.md
About 2.5 months ago, 4.5TB of storage was needed and an OVH server costing 150$/month worked to host a full-atmosphere relay (more on that later).
4.0 To make a comparison with #ActivityPub (the protocol behind #mastodon ), the AppView and PDS is the same thing in ActivityPub, and the concept of relay doesn't exist. There are advantages and drawbacks to both architectures, I might do a future post highlighting those.
5.0 With those definitions out of the way, some observations:
5.1 A lot of users self-host their PDS, but the vast majority of users chose the simpler option.
5.2 There are some alternative AppViews built on ATProto, but the vast majority of users visit bsky.app.
5.3 There are very little non-bluesky self-hosting of relays, mostly because of their prohibitive cost. Running the bigsky relay is expensive partly because of design decisions for ATProto and partly because it takes ALL content from ALL accounts for ALL the network on the atmosphere (in this case atmosphere == fediverse but for ATProto). This is like if your Mastodon instance queried ALL servers for ALL accounts querying ALL posts. In the future, there might exist relays that don't scrape ALL data but only a subset of it, which would bring down costs, but it's not yet the case.
6.0 So "is Bluesky decentralized?"
6.1 In theory, yes, everything that bluesky does on ATProto can be.
6.2 In practice, however, the most decentralized part of Bluesky is the PDS, where the user data is stored, and even that is not that decentralized.
6.3 Will it stay this way? I'm hopeful it won't, but I don't know. ATProto is fairly new compared to ActivityPub, and the ecosystem around it was mostly built by the BlueSky company, but I expect this to change in the future. However, the cost of entry for things built on ATProto will always be more than the cost of entry for things built on ActivityPub.
6.4 Things built on ActivityPub will always be more decentralized than things built on ATProto, because of design decisions from both of these protocols.
@Floppy@mastodon.me.uk
Pretty clear from the #FOSDEM #SocialWeb devroom talks that the limited set of #ActivityPub actors that Mastodon will accept is a problem for almost every other platform.
@_elena@mastodon.social · Reply to Elena Rossini ⁂'s post
And it’s a wrap for my first (EPIC) day at #FOSDEM.
It’s hard to put into words how incredible - and energizing - it feels to be around the creators of the #ActivityPub protocol, founders of #Fediverse software, admins of popular instances and developers of tools I use every day.
I took the opportunity to thank them in person for their incredible work 😊
It’s also been amazing to finally meet IRL lots of cool people I had been corresponding with for months on the Fediverse.
The best day 💛
@sirjofri@mastodon.sdf.org
I know #activitypub is very powerful and most servers only "use" a subset of its features. I'm wondering, is there a #fediverse activitypub server software that tries to use _every_ feature? It doesn't have to look great and deliver a good experience, I'm just curious.
To be more precise, I'm not asking for a library or framework, but a full running server that you can install.
@andypiper@macaw.social
The Ghost approach to #ActivityPub looks great. They get it. Real engagement and ongoing conversations not just broadcasting. I had a similar experience when Mastodon replies started showing up as comments in WordPress, but Ghost is really building this into the core with the reader view as well. “You can’t be on the social web without being social.” #FOSDEM #SocialWebFOSDEM
@gubi@sociale.network
At #fosdem John O’Nolan, CEO of @index announced the public beta of Ghost 6.0 to be launched in march 2025, to add #activitypub federation features to the successful Ghost software, released with MIT license and already adopted successfully by several news organisations. With federation enabled, Ghost will allow the creation of content curation platforms and federated independent news sources aggregating content from the #fediverse,
@andypiper@macaw.social
The Ghost approach to #ActivityPub looks great. They get it. Real engagement and ongoing conversations not just broadcasting. I had a similar experience when Mastodon replies started showing up as comments in WordPress, but Ghost is really building this into the core with the reader view as well. “You can’t be on the social web without being social.” #FOSDEM #SocialWebFOSDEM
@andypiper@macaw.social
The Ghost approach to #ActivityPub looks great. They get it. Real engagement and ongoing conversations not just broadcasting. I had a similar experience when Mastodon replies started showing up as comments in WordPress, but Ghost is really building this into the core with the reader view as well. “You can’t be on the social web without being social.” #FOSDEM #SocialWebFOSDEM
@_elena@mastodon.social · Reply to Elena Rossini ⁂'s post
✨ EPIC selfies from #FOSDEM part 2 ✨
with two legends: @johnonolan (founder of Ghost) and @pfefferle (creator of the Wordpress #ActivityPub plugin)
@Floppy@mastodon.me.uk
Pretty clear from the #FOSDEM #SocialWeb devroom talks that the limited set of #ActivityPub actors that Mastodon will accept is a problem for almost every other platform.
@tommi@pan.rent
Unbelievable to be in the same room with so many #Fediverse and #ActivityPub OGs 😍
@_elena@mastodon.social · Reply to Elena Rossini ⁂'s post
✨ EPIC selfies from #FOSDEM part 2 ✨
with two legends: @johnonolan (founder of Ghost) and @pfefferle (creator of the Wordpress #ActivityPub plugin)
@j12t@j12t.social
There's a #Bluesky #ATProto meet-and-greet that starts at the same time as the mostly #ActivityPub-focused Social Web Devroom at #FOSDEM.
Coincidence?
On the other hand, the ATProto meet-and-greet lasts 30 minutes, while the Social Web Devroom is for four hours, plus there's a one-hour BOF tomorrow, plus there is a 2-hour after hours tomorrow. And I think the organizers had several times as many submissions as they had time for presentations.
@sirjofri@mastodon.sdf.org
I know #activitypub is very powerful and most servers only "use" a subset of its features. I'm wondering, is there a #fediverse activitypub server software that tries to use _every_ feature? It doesn't have to look great and deliver a good experience, I'm just curious.
To be more precise, I'm not asking for a library or framework, but a full running server that you can install.
@sirjofri@mastodon.sdf.org
I know #activitypub is very powerful and most servers only "use" a subset of its features. I'm wondering, is there a #fediverse activitypub server software that tries to use _every_ feature? It doesn't have to look great and deliver a good experience, I'm just curious.
To be more precise, I'm not asking for a library or framework, but a full running server that you can install.
@sirjofri@mastodon.sdf.org
I know #activitypub is very powerful and most servers only "use" a subset of its features. I'm wondering, is there a #fediverse activitypub server software that tries to use _every_ feature? It doesn't have to look great and deliver a good experience, I'm just curious.
To be more precise, I'm not asking for a library or framework, but a full running server that you can install.
@j12t@j12t.social
There's a #Bluesky #ATProto meet-and-greet that starts at the same time as the mostly #ActivityPub-focused Social Web Devroom at #FOSDEM.
Coincidence?
On the other hand, the ATProto meet-and-greet lasts 30 minutes, while the Social Web Devroom is for four hours, plus there's a one-hour BOF tomorrow, plus there is a 2-hour after hours tomorrow. And I think the organizers had several times as many submissions as they had time for presentations.
@smallcircles@social.coop · Reply to just small circles 🕊's post
@frankstrater @dansup @peertube
Other than that.. I started calling current AS/AP fedi the "as soon as possible" fediverse, where necessarily early app implementations served as the de-facto reference implementations for the #W3C #ActivityStreams and #ActivityPub open standards.
At serious cost: Ever increasing #ProtocolDecay and subsequent #WhackaMoleAdoption i.e. retaining app-by-app interop pipes against moving release targets.
When is Video domain getting standardized? That's my question.
@dansup@mastodon.social
I wish I had more time to prepare for the Global Switch Day, so I am planning another one for later this year with a website, social media accounts and collaboration with other projects.
@dansup@mastodon.social
I wish I had more time to prepare for the Global Switch Day, so I am planning another one for later this year with a website, social media accounts and collaboration with other projects.
@dansup@mastodon.social
I'm now in my congenial era, we're all about progress and ethical growth.
It's about time people had one of their own to help chart the course to the new federated era.
Let's show em' how it's done 🚀
@VincentTunru@fosstodon.org
On the train to FOSDEM I quickly but finally bashed out a long-planned post on the Solid app I wrote that allows you to post to the Fediverse from your Solid Pod.
Main takeway: cool experiment, but @activitypods have the more feasible approach for now.
@dansup@mastodon.social
Over 600 people have applied to my call for dreamers and builders to join our team at Pixelfed!
I was not expecting this level of interest, and it will take me a few more weeks to go through them all.
Y'all going to make me cry, I can't believe the outpouring of support we are getting!
We can build better, together. And we will. ❤️
@VincentTunru@fosstodon.org
On the train to FOSDEM I quickly but finally bashed out a long-planned post on the Solid app I wrote that allows you to post to the Fediverse from your Solid Pod.
Main takeway: cool experiment, but @activitypods have the more feasible approach for now.
@faeempress@pixygram.com
@BeAware@social.beaware.live
I wish news organizations on Fedi would integrate ActivityPub directly into their websites so I can comment on articles from my Fedi account.
That would be REAL nice.
@faeempress@pixygram.com
@weekinfediverse@mitra.social
Servers
- Manyfold v0.99.0
- Misskey v2025.1.0
- snac v2.70
- Hollo v0.4.5
- Gancio v1.23.0
- NeoDB v0.11.4.3
- forgejo-contrib/federation: The place to organize development around federation for Forgejo
Clients
- Elk v0.16.0
- Pachli v2.9.2
- Dhaaga v0.14.1
- Alexandrite v0.8.18
- Pixelix v3.3.0
- PeerTube Mobile v0.6.0
Tools and Plugins
Protocol
- FEP-2277: ActivityPub core types
Articles
- Improving Snac Performance With Nginx Proxy Cache
- Fediverse Report #101
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019499d8-2a50-b1df-6908-393384df7e2d
@silverpill@mitra.social
FEP-2277: ActivityPub core types has been submitted to the FEP repository.
I made several changes based on the feedback, but they are minor. There are parallel discussions at W3C GitHub, where I was told that core types don't exist, or don't matter, but this is obviously wrong, because many requirements in AP and AS depend on definitions of "collection", "activity" and other core types. Classification of objects based on their properties still seems to be the best solution.
Also, due to an uncertainty about the future of SocialHub (where many accounts are going to be suspended soon), I didn't create a discussion topic there. If you have any suggestions or feedback, please reply here or open an issue at https://codeberg.org/silverpill/feps/issues.
@VincentTunru@fosstodon.org
On the train to FOSDEM I quickly but finally bashed out a long-planned post on the Solid app I wrote that allows you to post to the Fediverse from your Solid Pod.
Main takeway: cool experiment, but @activitypods have the more feasible approach for now.
@lps@mograph.social · Reply to Åsa Maria Hedberg - artist's post
@AasaMariaHedberg oh in that case you NEED to look at the #fediverse enabled #castopod :) It works like any other podcast service but allows you to connect to here via #activitypub protocol, which is how things like #pixelfed and #mastodon can follow each other:)
@weekinfediverse@mitra.social
Servers
- Manyfold v0.99.0
- Misskey v2025.1.0
- snac v2.70
- Hollo v0.4.5
- Gancio v1.23.0
- NeoDB v0.11.4.3
- forgejo-contrib/federation: The place to organize development around federation for Forgejo
Clients
- Elk v0.16.0
- Pachli v2.9.2
- Dhaaga v0.14.1
- Alexandrite v0.8.18
- Pixelix v3.3.0
- PeerTube Mobile v0.6.0
Tools and Plugins
Protocol
- FEP-2277: ActivityPub core types
Articles
- Improving Snac Performance With Nginx Proxy Cache
- Fediverse Report #101
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019499d8-2a50-b1df-6908-393384df7e2d
@brasiliana@social.museus.gov.br
Brazilian #Museums Rock the #Fediverse: by stitching two #WordPressPlugins, #Tainacan & #ActivityPub, #Brasiliana has managed to provide a framework for "digitally sharing #museum cultural heritage collections with indigenous communities."
“In its new role as a facilitator of dialogue on memory, heritage, and collections, the #museum creates a conducive environment for open, transparent, and well-documented discussions.”
@daltonmartins
https://brasiliana.museus.gov.br/digital-decolonization-of-collections-innovation-broadens-the-scope-of-museums/
@weekinfediverse@mitra.social
Servers
- Manyfold v0.99.0
- Misskey v2025.1.0
- snac v2.70
- Hollo v0.4.5
- Gancio v1.23.0
- NeoDB v0.11.4.3
- forgejo-contrib/federation: The place to organize development around federation for Forgejo
Clients
- Elk v0.16.0
- Pachli v2.9.2
- Dhaaga v0.14.1
- Alexandrite v0.8.18
- Pixelix v3.3.0
- PeerTube Mobile v0.6.0
Tools and Plugins
Protocol
- FEP-2277: ActivityPub core types
Articles
- Improving Snac Performance With Nginx Proxy Cache
- Fediverse Report #101
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019499d8-2a50-b1df-6908-393384df7e2d
@skarnio@social.alquimidia.org · Reply to Tim Berners-Lee's post
@timbl @Solid @nlnet @ODIHQ An integration of @Solid into #ActivityPub is the dream of many people here at #Fediverse.
@sl007@digitalcourage.social
#ActivityPub Issue Triage at 18:00 CET
@hongminhee@hollo.social · Reply to Evan Prodromou's post
@evan @cheeaun I wish many #ActivityPub implementations, including #Mastodon, would support multilingual posts!
@janettespeyer@flipboard.social
I need a Fediverse explanation that’s so simple anyone can relate to what I’m talking about.
Can someone give me an analogy that’s relatable? I’ve tried everything
#Fediverse #activitypub #discussion
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@silverpill@mitra.social
FEP-2277: ActivityPub core types has been submitted to the FEP repository.
I made several changes based on the feedback, but they are minor. There are parallel discussions at W3C GitHub, where I was told that core types don't exist, or don't matter, but this is obviously wrong, because many requirements in AP and AS depend on definitions of "collection", "activity" and other core types. Classification of objects based on their properties still seems to be the best solution.
Also, due to an uncertainty about the future of SocialHub (where many accounts are going to be suspended soon), I didn't create a discussion topic there. If you have any suggestions or feedback, please reply here or open an issue at https://codeberg.org/silverpill/feps/issues.
@silverpill@mitra.social
FEP-2277: ActivityPub core types has been submitted to the FEP repository.
I made several changes based on the feedback, but they are minor. There are parallel discussions at W3C GitHub, where I was told that core types don't exist, or don't matter, but this is obviously wrong, because many requirements in AP and AS depend on definitions of "collection", "activity" and other core types. Classification of objects based on their properties still seems to be the best solution.
Also, due to an uncertainty about the future of SocialHub (where many accounts are going to be suspended soon), I didn't create a discussion topic there. If you have any suggestions or feedback, please reply here or open an issue at https://codeberg.org/silverpill/feps/issues.
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@naturzukunft@mastodon.social · Reply to naturzukunft's post
T-shirts are packed. Anyone who wants to talk to me about #activitypub #rdfpub #rdf #rdf4j #linkedopendata #java #spring will recognize me ;-)
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@hongminhee@hollo.social · Reply to Evan Prodromou's post
@evan @cheeaun I wish many #ActivityPub implementations, including #Mastodon, would support multilingual posts!
@licho@kolektiva.social
Ok, I can officially say that I don't get #jsonLD. #ActivityPub uses it, #fediverse is built on it. But it doesnt actually give any boost in interoperability. The applications themself must be written with interoperability in mind. It's just fancy aliasing mechanism, am I wrong about it? Maybe that's what it's supposed to be? Was I wrong expecting it to be anything more? It doesn't do any heavy lifting besides the aliasing. It only serves as a reminder to look up the docs of a protocol. You could just as well just get the protocol spec out and it would be equivalent. What's the point?
@sl007@digitalcourage.social
On the way to #fosdem #fosdem25 now.
See you anyway :)
Tomorrow, I'm in the Legal and Policy Room and then about #Fediverse #ActivityPub #OpenProtocols #SocialWeb :
Social Web Dev Room
UA2.118 (Henriot)
https://fosdem.org/2025/schedule/track/social-web/
and
https://socialwebfoundation.org/2025/01/04/social-web-after-hours-at-fosdem-2025/
💖
@jcrabapple@dmv.community
bleakfuture0/mitra - Docker Image | Docker Hub
Just found this interesting looking federated microblogging platform. Signed up for an account and I immediately love the UI.
@JsonCulverhouse@flipboard.social
I'm not really sure what happens if I use #HashTag and #hashtag in the same post on #activitypub and mastodon
@dansup@mastodon.social
Looks like Pixelfed.social has briefly overtaken Mastodon.social to be the most active server in the fediverse!
Looks like m.s has reset their MAU counter, so this is only temporary, but such a cool milestone for the fediverse!
Being #1 doesn't matter though, its cool, but the real important thing to remember is compatibility.
ActivityPub allows you to interact with anyone across the network!
@josemurilo@mato.social
"#Pixelfed, #Loops, & #Sup, #opensource alternatives to Instagram, TikTok, and WhatsApp, respectively, are now raising funds on #Kickstarter to fuel the apps’ further development.
The trio is part of the growing #opensocial web, also known as #thefediverse, powered by the same #ActivityPub protocol used by X alternative Mastodon. The latter saw increased signups and use after Twitter sold to Elon Musk in Oct2022 and during the X exodus that followed the U.S. election."
@iftas@mastodon.iftas.org · Reply to IFTAS's post
Emelia Smith proposed and led the creation of the #ActivityPub Trust and Safety Taskforce, whose first task will be an overview of current state of trust and safety on the Fediverse, followed by work on flags, blocks, and content labelling.
3/6
@botkit@hollo.social
#BotKit now supports #hashtags in your bot messages!
You can now add searchable hashtags to your bot's posts using either our dedicated hashtag()
function or through BotKit's extended Markdown syntax. This makes your bot's content more discoverable across the fediverse and helps engage with broader conversations.
Whether you're building a news bot, content curator, or community engagement tool, hashtags can help your bot reach the right audience.
Check out our docs to learn more about implementing hashtags in your bots!
@botkit@hollo.social
#BotKit now supports #hashtags in your bot messages!
You can now add searchable hashtags to your bot's posts using either our dedicated hashtag()
function or through BotKit's extended Markdown syntax. This makes your bot's content more discoverable across the fediverse and helps engage with broader conversations.
Whether you're building a news bot, content curator, or community engagement tool, hashtags can help your bot reach the right audience.
Check out our docs to learn more about implementing hashtags in your bots!
@botkit@hollo.social
#BotKit now supports #hashtags in your bot messages!
You can now add searchable hashtags to your bot's posts using either our dedicated hashtag()
function or through BotKit's extended Markdown syntax. This makes your bot's content more discoverable across the fediverse and helps engage with broader conversations.
Whether you're building a news bot, content curator, or community engagement tool, hashtags can help your bot reach the right audience.
Check out our docs to learn more about implementing hashtags in your bots!
@botkit@hollo.social
#BotKit now supports #hashtags in your bot messages!
You can now add searchable hashtags to your bot's posts using either our dedicated hashtag()
function or through BotKit's extended Markdown syntax. This makes your bot's content more discoverable across the fediverse and helps engage with broader conversations.
Whether you're building a news bot, content curator, or community engagement tool, hashtags can help your bot reach the right audience.
Check out our docs to learn more about implementing hashtags in your bots!
@botkit@hollo.social
#BotKit now supports #hashtags in your bot messages!
You can now add searchable hashtags to your bot's posts using either our dedicated hashtag()
function or through BotKit's extended Markdown syntax. This makes your bot's content more discoverable across the fediverse and helps engage with broader conversations.
Whether you're building a news bot, content curator, or community engagement tool, hashtags can help your bot reach the right audience.
Check out our docs to learn more about implementing hashtags in your bots!
@iftas@mastodon.iftas.org · Reply to IFTAS's post
Emelia Smith proposed and led the creation of the #ActivityPub Trust and Safety Taskforce, whose first task will be an overview of current state of trust and safety on the Fediverse, followed by work on flags, blocks, and content labelling.
3/6
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@fediversereport@mastodon.social
New: Fediverse Report #101
This week's news:
- @pixelfed continues to grow, adding 100k active users in a week. The platform now has grown from 20k active users a month ago to almost 300k active accounts currently
- The Pixelfed Kickstarter smashed its goals, raising over 100k CAD in funding
- Tumblr recommits to connecting to the #fediverse in the future, using the WordPress #ActivityPub plugin
@BeAware@social.beaware.live
The opt-in crap from BridgyFed is SO frustrating.
Open communication is hard as hell if there's these arbitrary blocks in place for very little good reason.😒
If I send the bot a username that it already messaged, I'm basically shit out of luck on actually getting them to bridge.
I wish we could destroy these walls already.😩
@fedify@hollo.social
Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
If you're curious, take a look at the #Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@elgg@indieweb.social
@activitypubgroup Hello #Elgg Group from #ActivityPub ✋
@cadusilva@bolha.one
"De acordo com todas as leis conhecidas sobre DNS, não há como hospedar uma instância do fediverso em um domínio .arpa.
Mesmo que você consiga um desses endereços, eles só devem ser usados para registros PTR, certo?
A instância, claro, federa mesmo assim. Pois o DNS não se importa com o que os humanos pensam ser impossível"
https://1.6.0.0.8.0.0.b.e.d.0.a.2.ip6.arpa/@domi/statuses/01JJS6BMXVDJTQFTRVX4ZKR2GW
@fediadminbr instalaram o GoToSocial num domínio .arpa e ele federa normalmente.
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@fediversereport@mastodon.social
New: Fediverse Report #101
This week's news:
- @pixelfed continues to grow, adding 100k active users in a week. The platform now has grown from 20k active users a month ago to almost 300k active accounts currently
- The Pixelfed Kickstarter smashed its goals, raising over 100k CAD in funding
- Tumblr recommits to connecting to the #fediverse in the future, using the WordPress #ActivityPub plugin
@helpbuttonsorg@fosstodon.org · Reply to Andy Piper's post
@andypiper Hei! :) coming to #fosdem to look for support on creating a smooth roadmap into activitypub 🙌 You can test in here:
https://dev.helpbuttons.org
and there is an active instance here, which is a relief network for the disaster in #valencia, #DANA!
https://redana.org
#helpbuttons #activityPub #support #dev #ts
updated issue
https://github.com/helpbuttons/helpbuttons/issues/52#issuecomment-2620250398
@naught101@mastodon.social
Wow, there's way more apps connecting to the fediverse than I thought.. This list is really great, thanks mostly to @smallcircles
@fedify@hollo.social
Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
If you're curious, take a look at the #Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@fediversereport@mastodon.social
New: Fediverse Report #101
This week's news:
- @pixelfed continues to grow, adding 100k active users in a week. The platform now has grown from 20k active users a month ago to almost 300k active accounts currently
- The Pixelfed Kickstarter smashed its goals, raising over 100k CAD in funding
- Tumblr recommits to connecting to the #fediverse in the future, using the WordPress #ActivityPub plugin
@atomicpoet@atomicpoet.org
@Linux_Is_Best@misskey.de
Misskey 2025.1.0 has been released
https://github.com/misskey-dev/misskey/releases
#Misskey #Fediverse #ActivityPub #Foss #OpenSource
@Linux_Is_Best@misskey.de
Misskey 2025.1.0 has been released
https://github.com/misskey-dev/misskey/releases
#Misskey #Fediverse #ActivityPub #Foss #OpenSource
@helpbuttonsorg@fosstodon.org · Reply to Andy Piper's post
@andypiper Hei! :) coming to #fosdem to look for support on creating a smooth roadmap into activitypub 🙌 You can test in here:
https://dev.helpbuttons.org
and there is an active instance here, which is a relief network for the disaster in #valencia, #DANA!
https://redana.org
#helpbuttons #activityPub #support #dev #ts
updated issue
https://github.com/helpbuttons/helpbuttons/issues/52#issuecomment-2620250398
@atomicpoet@atomicpoet.org
@EpicBear@genomic.social · Reply to Eli Pariser's post
@elipariser I think this post is quite telling, so you need massive financial backing in order to set up a relay for a 2nd Bluesky instance. With great money comes great incentives to do bad things. The point here is, why should a user potentially go through the same busted experience they had with Twitter on a potentially busted 2nd Bluesky instance? With #ActivityPub, you can simply find another instance, #Mastodon doesn't disappear when one instance goes busted.
@fediversereport@mastodon.social
New: Fediverse Report #101
This week's news:
- @pixelfed continues to grow, adding 100k active users in a week. The platform now has grown from 20k active users a month ago to almost 300k active accounts currently
- The Pixelfed Kickstarter smashed its goals, raising over 100k CAD in funding
- Tumblr recommits to connecting to the #fediverse in the future, using the WordPress #ActivityPub plugin
@atomicpoet@atomicpoet.org
@atomicpoet@atomicpoet.org
@EpicBear@genomic.social · Reply to Eli Pariser's post
@elipariser I think this post is quite telling, so you need massive financial backing in order to set up a relay for a 2nd Bluesky instance. With great money comes great incentives to do bad things. The point here is, why should a user potentially go through the same busted experience they had with Twitter on a potentially busted 2nd Bluesky instance? With #ActivityPub, you can simply find another instance, #Mastodon doesn't disappear when one instance goes busted.
@fedify@hollo.social
Valtteri Laitinen (@valtlai) managed to get #Fedify running on #Cloudflare Workers!
@valtlai@valtlai.fi · Reply to Valtteri Laitinen's post
@thisismissem @fedify I got this working with the JSR package by adding a Temporal polyfill and stripping import attributes (see https://github.com/fedify-dev/fedify/issues/161#issuecomment-2618947880).
@fediversereport@mastodon.social
New: Fediverse Report #101
This week's news:
- @pixelfed continues to grow, adding 100k active users in a week. The platform now has grown from 20k active users a month ago to almost 300k active accounts currently
- The Pixelfed Kickstarter smashed its goals, raising over 100k CAD in funding
- Tumblr recommits to connecting to the #fediverse in the future, using the WordPress #ActivityPub plugin
@fediversereport@mastodon.social
New: Fediverse Report #101
This week's news:
- @pixelfed continues to grow, adding 100k active users in a week. The platform now has grown from 20k active users a month ago to almost 300k active accounts currently
- The Pixelfed Kickstarter smashed its goals, raising over 100k CAD in funding
- Tumblr recommits to connecting to the #fediverse in the future, using the WordPress #ActivityPub plugin
@mastomememakers@det.social
meanwhile #facebook
https://www.techradar.com/pro/facebook-is-blocking-linux-topics-and-channels-with-no-apparent-reason
can the #fediverse cut all ties to #instagram and all other #meta products that try to leech on #activitypub ?
#linux #foss #opensource #zuckerberg #fuckmeta #socialmedia #meme #mamema #memes #pixelfed
@atomicpoet@atomicpoet.org
@sl007@digitalcourage.social
Esteemed #Fediverse
in these dark times, meeting the community physically feels more needed than ever.
Since we organized the official @apconf #ActivityPub Conf all the ActivityPub Events were always officially fun.
#FOSDEM is near
Sat
The Policy Group starts with a waffles breakfast and I'd like to recommend the
Legal and Policy Dev Room
H.1301 (Cornil) starting 10:30
by wonderful @tmarble
then (yay)
Social Web Dev Room
UA2.118 (Henriot)
https://fosdem.org/2025/schedule/track/social-web/
and
https://socialwebfoundation.org/2025/01/04/social-web-after-hours-at-fosdem-2025/
#fosdem25 #OpenProtocols #SocialWeb #Federation #Policy #Legal 💖
@mastomememakers@det.social
meanwhile #facebook
https://www.techradar.com/pro/facebook-is-blocking-linux-topics-and-channels-with-no-apparent-reason
can the #fediverse cut all ties to #instagram and all other #meta products that try to leech on #activitypub ?
#linux #foss #opensource #zuckerberg #fuckmeta #socialmedia #meme #mamema #memes #pixelfed
@fedify@hollo.social
Valtteri Laitinen (@valtlai) managed to get #Fedify running on #Cloudflare Workers!
@valtlai@valtlai.fi · Reply to Valtteri Laitinen's post
@thisismissem @fedify I got this working with the JSR package by adding a Temporal polyfill and stripping import attributes (see https://github.com/fedify-dev/fedify/issues/161#issuecomment-2618947880).
@fediversereport@mastodon.social
New: Fediverse Report #101
This week's news:
- @pixelfed continues to grow, adding 100k active users in a week. The platform now has grown from 20k active users a month ago to almost 300k active accounts currently
- The Pixelfed Kickstarter smashed its goals, raising over 100k CAD in funding
- Tumblr recommits to connecting to the #fediverse in the future, using the WordPress #ActivityPub plugin
@fedify@hollo.social
Valtteri Laitinen (@valtlai) managed to get #Fedify running on #Cloudflare Workers!
@valtlai@valtlai.fi · Reply to Valtteri Laitinen's post
@thisismissem @fedify I got this working with the JSR package by adding a Temporal polyfill and stripping import attributes (see https://github.com/fedify-dev/fedify/issues/161#issuecomment-2618947880).
@fedify@hollo.social
Valtteri Laitinen (@valtlai) managed to get #Fedify running on #Cloudflare Workers!
@valtlai@valtlai.fi · Reply to Valtteri Laitinen's post
@thisismissem @fedify I got this working with the JSR package by adding a Temporal polyfill and stripping import attributes (see https://github.com/fedify-dev/fedify/issues/161#issuecomment-2618947880).
@fedify@hollo.social
Valtteri Laitinen (@valtlai) managed to get #Fedify running on #Cloudflare Workers!
@valtlai@valtlai.fi · Reply to Valtteri Laitinen's post
@thisismissem @fedify I got this working with the JSR package by adding a Temporal polyfill and stripping import attributes (see https://github.com/fedify-dev/fedify/issues/161#issuecomment-2618947880).
@fedify@hollo.social
Valtteri Laitinen (@valtlai) managed to get #Fedify running on #Cloudflare Workers!
@valtlai@valtlai.fi · Reply to Valtteri Laitinen's post
@thisismissem @fedify I got this working with the JSR package by adding a Temporal polyfill and stripping import attributes (see https://github.com/fedify-dev/fedify/issues/161#issuecomment-2618947880).
@fedify@hollo.social
Valtteri Laitinen (@valtlai) managed to get #Fedify running on #Cloudflare Workers!
@valtlai@valtlai.fi · Reply to Valtteri Laitinen's post
@thisismissem @fedify I got this working with the JSR package by adding a Temporal polyfill and stripping import attributes (see https://github.com/fedify-dev/fedify/issues/161#issuecomment-2618947880).
@lonelyboy1977@mastodon.social
Does anyone have any suggestions for how to increase Mastodon's userbase? 🤔 People are finally starting to abandon the toxic cesspool formerly known as Twitter, but they seem to be migrating to Threads and Version 2.0 aka Bluesky.
#ActivityPub #Bluesky #Fediverse #Mastodon #MicroBlogging #Threads #Twitter
@Floppy@mastodon.me.uk
I'm off to #FOSDEM2025 at the end of this week to join the #SocialWeb devroom, and talk about @manyfold on Saturday afternoon!
Looking forward to talking to folks about #ActivityPub federation, #3dPrinting, #WebGL... pretty much anything TBH! And looking forward to a trip on the Eurostar, too 🚅
https://fosdem.org/2025/schedule/event/fosdem-2025-4181-manyfold-federating-3d-models/
@gyptazy@gyptazy.com
#HowTo install & run #snac on #FreeBSD - run your own #ActivityPub instance in the #Fediverse!
In the last days I often got asked about #snac / #snac2 as an alternative to #Mastodon and I can highly recommend it! I few months ago, I already wrote a HowTo about setting snac up on a FreeBSD instance - might be worth to share again :) if you’re using snac, you might also want to use my relay service at https://fedi-relay.gyptazy.com to make your posts more visible in the Fediworld.
#opensource #fediverse #fediworld #alternatives #community #FreeBSD #RUNBSD #BoxyBSD #activitypub #mastodon #relay #community #federated
https://gyptazy.com/install-snac2-on-freebsd-an-activitypub-instance-for-the-fediverse/
@botkit@hollo.social
📢 Important announcement! #BotKit's #GitHub repository has moved to a new home! 🏠
The repository is now located at @fedify-dev/botkit (previously @dahlia/botkit). All future development will continue at the new location.
Don't worry—everything's the same, just a new address! Please update your bookmarks and project references. Thanks for being part of our community!
#Fedify #ActivityPub #fediverse #fedidev
https://hollo.social/@fedify/0194a851-581d-779c-b777-dc39e753ef14
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've just moved the #Fedify project and related repositories to our new GitHub organization account, @fedify-dev! 🎉
Here's what moved:
All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.
Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!
New GitHub organization: https://github.com/fedify-dev.
@botkit@hollo.social
📢 Important announcement! #BotKit's #GitHub repository has moved to a new home! 🏠
The repository is now located at @fedify-dev/botkit (previously @dahlia/botkit). All future development will continue at the new location.
Don't worry—everything's the same, just a new address! Please update your bookmarks and project references. Thanks for being part of our community!
#Fedify #ActivityPub #fediverse #fedidev
https://hollo.social/@fedify/0194a851-581d-779c-b777-dc39e753ef14
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've just moved the #Fedify project and related repositories to our new GitHub organization account, @fedify-dev! 🎉
Here's what moved:
All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.
Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!
New GitHub organization: https://github.com/fedify-dev.
@botkit@hollo.social
📢 Important announcement! #BotKit's #GitHub repository has moved to a new home! 🏠
The repository is now located at @fedify-dev/botkit (previously @dahlia/botkit). All future development will continue at the new location.
Don't worry—everything's the same, just a new address! Please update your bookmarks and project references. Thanks for being part of our community!
#Fedify #ActivityPub #fediverse #fedidev
https://hollo.social/@fedify/0194a851-581d-779c-b777-dc39e753ef14
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've just moved the #Fedify project and related repositories to our new GitHub organization account, @fedify-dev! 🎉
Here's what moved:
All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.
Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!
New GitHub organization: https://github.com/fedify-dev.
@botkit@hollo.social
📢 Important announcement! #BotKit's #GitHub repository has moved to a new home! 🏠
The repository is now located at @fedify-dev/botkit (previously @dahlia/botkit). All future development will continue at the new location.
Don't worry—everything's the same, just a new address! Please update your bookmarks and project references. Thanks for being part of our community!
#Fedify #ActivityPub #fediverse #fedidev
https://hollo.social/@fedify/0194a851-581d-779c-b777-dc39e753ef14
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've just moved the #Fedify project and related repositories to our new GitHub organization account, @fedify-dev! 🎉
Here's what moved:
All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.
Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!
New GitHub organization: https://github.com/fedify-dev.
@botkit@hollo.social
📢 Important announcement! #BotKit's #GitHub repository has moved to a new home! 🏠
The repository is now located at @fedify-dev/botkit (previously @dahlia/botkit). All future development will continue at the new location.
Don't worry—everything's the same, just a new address! Please update your bookmarks and project references. Thanks for being part of our community!
#Fedify #ActivityPub #fediverse #fedidev
https://hollo.social/@fedify/0194a851-581d-779c-b777-dc39e753ef14
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've just moved the #Fedify project and related repositories to our new GitHub organization account, @fedify-dev! 🎉
Here's what moved:
All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.
Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!
New GitHub organization: https://github.com/fedify-dev.
@botkit@hollo.social
📢 Important announcement! #BotKit's #GitHub repository has moved to a new home! 🏠
The repository is now located at @fedify-dev/botkit (previously @dahlia/botkit). All future development will continue at the new location.
Don't worry—everything's the same, just a new address! Please update your bookmarks and project references. Thanks for being part of our community!
#Fedify #ActivityPub #fediverse #fedidev
https://hollo.social/@fedify/0194a851-581d-779c-b777-dc39e753ef14
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
We've just moved the #Fedify project and related repositories to our new GitHub organization account, @fedify-dev! 🎉
Here's what moved:
All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.
Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!
New GitHub organization: https://github.com/fedify-dev.
@valtlai@valtlai.fi
Äh… Halusin koodata oman fediverseinstanssin @fedify-kirjastolla. Alustana olisi Cloudflare (Workers, KV, D1, Queues, R2). Workersin Node.js-yhteensopivuustilasta huolimatta Fedify ei kuitenkaan toimi: palauttaa ainakin syntaksivirheitä. Turhauttaa!
Nyt sitten forkkaan Fedifyn toistaiseksi ja yritän saada sen toimimaan. En nimittäin halua ohjelmoida ActivityPub-palvelinta ilman apukirjastoa, enkä mielelläni vaihtaisi hostausympäristöäkään toiseen.
@taoeffect@crib.social
@FediThing@chinwag.org
Jeepers... looks like WordPress and Mullenweg have gone pro-Trump:
https://mastodon.world/@paulashby/113901997614231946
Anyone got any suggestions for how people with existing Fediverse-connected WordPress blogs could migrate them to alternatives without losing their followers?
Are there any WP forks with ActivityPub compatibility for example? The AP plugin is FOSS so it should be possible in theory?
@valtlai@valtlai.fi
Äh… Halusin koodata oman fediverseinstanssin @fedify-kirjastolla. Alustana olisi Cloudflare (Workers, KV, D1, Queues, R2). Workersin Node.js-yhteensopivuustilasta huolimatta Fedify ei kuitenkaan toimi: palauttaa ainakin syntaksivirheitä. Turhauttaa!
Nyt sitten forkkaan Fedifyn toistaiseksi ja yritän saada sen toimimaan. En nimittäin halua ohjelmoida ActivityPub-palvelinta ilman apukirjastoa, enkä mielelläni vaihtaisi hostausympäristöäkään toiseen.
@gyptazy@gyptazy.com
#HowTo install & run #snac on #FreeBSD - run your own #ActivityPub instance in the #Fediverse!
In the last days I often got asked about #snac / #snac2 as an alternative to #Mastodon and I can highly recommend it! I few months ago, I already wrote a HowTo about setting snac up on a FreeBSD instance - might be worth to share again :) if you’re using snac, you might also want to use my relay service at https://fedi-relay.gyptazy.com to make your posts more visible in the Fediworld.
#opensource #fediverse #fediworld #alternatives #community #FreeBSD #RUNBSD #BoxyBSD #activitypub #mastodon #relay #community #federated
https://gyptazy.com/install-snac2-on-freebsd-an-activitypub-instance-for-the-fediverse/
@mapache@hachyderm.io
I think this would be an excellent idea for the #fediverse and showing what #activitypub can enable.
A social media platform with only voice notes, powered by activitypub.
Thoughts?
@jwildeboer@social.wildeboer.net
You know #ActivityPub from a developer view? You want to have a forge that integrates with the #Fediverse? Then maybe https://codeberg.org/forgejo-contrib/federation is a place for you :) Federation and #Forgejo :)
Roadmap at https://codeberg.org/forgejo-contrib/federation/src/branch/main/FederationRoadmap.md
@botkit@hollo.social
#BotKit's web interface now supports theme customization! 🎨 You can set your preferred color theme using the pages.color
option in createBot()
. Here are some examples showing the same interface in different colors: "violet"
, "pumpkin"
, "azure"
, and "green"
(default).
const bot = createBot<void>({
// ... other options
pages: {
color: "violet" // or "pumpkin", "azure", etc.
}
});
We support all color themes from Pico CSS—including "amber"
, "fuchsia"
, "indigo"
, "jade"
, "lime"
, "pink"
, "sand"
, "slate"
, "yellow"
, "zinc"
, and more! Check out Pico CSS's Colors docs for the full list of available themes.
Which color is your favorite? 🤔
@nibushibu@vivaldi.net
そろそろ #Apple が #Mastodon サーバー立ち上げたりしないかなあ
まあ は
のデザイン哲学的になさそうだけど #ActivityPub
対応の #SocialMedia とか始めたりしてもいいんじゃない!?みたいな気持ちはちょっとある。
まあ #Flash を追いやった #SteveJobs がいた時の のイメージを引きずってるという自覚はある
@_elena@mastodon.social
When I opened up Lemmy this morning I could not believe my eyes. The top story was a headline from Forbes stating:
« ‘Open Source And Ethical’ TikTok, WhatsApp And Instagram Alternatives Could Transform Social Media ».
The article mostly focused on #Pixelfed and did a fairly good job explaining how #ActivityPub works. But they spelled #Mastodon « Mastadon » over and over again with no links to it. Yikes.
B for the effort, but please editors do better!
@naturzukunft@mastodon.social
- max@mastodon.org follows(1) john@example.org (S2S)
- john@example.org accept follows(1) (C2S & S2S)
How does john@example.org tell its server example.org (C2S) that it wants to delete max@mastodon.org from its followers? which activity is this?
#activitypub #activitypubdev #rdf-pub
@BeAware@social.beaware.live
My reaction every time I see someone say "Follow me on Bluesky".
@BeAware@social.beaware.live
This is your reminder that if your post is set to "Public", then anyone can and probably will, do anything they want with your posts.
With over 20,000 Fedi instances and 10m accounts, you have no way to tell who or what is consuming your posts and what they could be doing with them.
Consider your public posts as if you just threw them out on the sidewalk for all to see. There's no expectation of privacy on the sidewalk.
See: Awakari for an example of a service that has been on Fedi for over a year now that sells data based on topics discussed.
How do I know they sell it? There's an option on their site that says "Free first 30 days of access", implying that there's a fee after the 30 days.
Do yourself a favor and don't post publicly if you expect privacy.
@botkit@hollo.social
#BotKit's web interface now supports theme customization! 🎨 You can set your preferred color theme using the pages.color
option in createBot()
. Here are some examples showing the same interface in different colors: "violet"
, "pumpkin"
, "azure"
, and "green"
(default).
const bot = createBot<void>({
// ... other options
pages: {
color: "violet" // or "pumpkin", "azure", etc.
}
});
We support all color themes from Pico CSS—including "amber"
, "fuchsia"
, "indigo"
, "jade"
, "lime"
, "pink"
, "sand"
, "slate"
, "yellow"
, "zinc"
, and more! Check out Pico CSS's Colors docs for the full list of available themes.
Which color is your favorite? 🤔
@botkit@hollo.social
#BotKit's web interface now supports theme customization! 🎨 You can set your preferred color theme using the pages.color
option in createBot()
. Here are some examples showing the same interface in different colors: "violet"
, "pumpkin"
, "azure"
, and "green"
(default).
const bot = createBot<void>({
// ... other options
pages: {
color: "violet" // or "pumpkin", "azure", etc.
}
});
We support all color themes from Pico CSS—including "amber"
, "fuchsia"
, "indigo"
, "jade"
, "lime"
, "pink"
, "sand"
, "slate"
, "yellow"
, "zinc"
, and more! Check out Pico CSS's Colors docs for the full list of available themes.
Which color is your favorite? 🤔
@botkit@hollo.social
#BotKit's web interface now supports theme customization! 🎨 You can set your preferred color theme using the pages.color
option in createBot()
. Here are some examples showing the same interface in different colors: "violet"
, "pumpkin"
, "azure"
, and "green"
(default).
const bot = createBot<void>({
// ... other options
pages: {
color: "violet" // or "pumpkin", "azure", etc.
}
});
We support all color themes from Pico CSS—including "amber"
, "fuchsia"
, "indigo"
, "jade"
, "lime"
, "pink"
, "sand"
, "slate"
, "yellow"
, "zinc"
, and more! Check out Pico CSS's Colors docs for the full list of available themes.
Which color is your favorite? 🤔
@eroc1990@mastodon.parastor.net
EDIT: This has been resolved.
Anyone self hosting pixelfed and ever not been able to log into your instance? I keep getting the error in my screenshot and when I check that against the debugging tool it gives me something about an invalid key.
@eroc1990@mastodon.parastor.net
EDIT: This has been resolved.
Anyone self hosting pixelfed and ever not been able to log into your instance? I keep getting the error in my screenshot and when I check that against the debugging tool it gives me something about an invalid key.
@_elena@mastodon.social
When I opened up Lemmy this morning I could not believe my eyes. The top story was a headline from Forbes stating:
« ‘Open Source And Ethical’ TikTok, WhatsApp And Instagram Alternatives Could Transform Social Media ».
The article mostly focused on #Pixelfed and did a fairly good job explaining how #ActivityPub works. But they spelled #Mastodon « Mastadon » over and over again with no links to it. Yikes.
B for the effort, but please editors do better!
@delta@chaos.social
Preventing enshittification of platforms rests on credible exit for users and devs. #ActivityPub and #SMTP are not perfect but
a) are implemented und understood by many players,
b) enable freedom of choice of servers and clients,
c) implement #RightToMigrate as well as self/community custody
Many #p2p projects promise to remove servers but often promote and depend on a single implementation stack, have no spec and no interop among #p2p islands, and thus struggle to provide credible exit.
@atomicpoet@atomicpoet.org
In light of certain #Fedidrama—which I’ll let other people (not me) explain—it’s important to understand that what #ActivityPub offers is an escape hatch for when you want to leave a service.
Also, the best way to ensure you never have to leave a service is to run your own #Fediverse server.
@delta@chaos.social
Preventing enshittification of platforms rests on credible exit for users and devs. #ActivityPub and #SMTP are not perfect but
a) are implemented und understood by many players,
b) enable freedom of choice of servers and clients,
c) implement #RightToMigrate as well as self/community custody
Many #p2p projects promise to remove servers but often promote and depend on a single implementation stack, have no spec and no interop among #p2p islands, and thus struggle to provide credible exit.
@hongminhee@hollo.social
I'm looking for your opinions from the developers of the fediverse.
A common HTML web page can contain related links via the <link>
tag. I would like to do the same for Activity Streams objects, for example:
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://writings.hongminhee.org/ap/2024/12/a-year-with-the-fediverse.json",
"type": "Article",
"name": "A year with the fediverse",
"content": "2024 was truly a year where I was deeply immersed in the fediverse. …",
"url": "https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/",
"attachment": [
{
"type": "Link",
"rel": "alternate",
"hreflang": "ko",
"href": "https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/index.ko-hang-kr.html",
"mediaType": "text/html"
},
{
"type": "Link",
"rel": "alternate",
"hreflang": "ja",
"href": "https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/index.ja.html",
"mediaType": "text/html"
}
]
}
Do you think this makes sense, and would it be appropriate to put Link
objects in the attachment
?
@botkit@hollo.social
Exciting update on #BotKit: we've introduced a new Repository
abstraction layer that provides cleaner data access. While previously data operations went directly through KvStore
, they now go through Repository
—improving separation of concerns and making the codebase more maintainable. Don't worry though—there are no breaking changes to the public API that BotKit users rely on!
Key benefits:
Check out our docs for the technical details: https://botkit.fedify.dev/concepts/repository.
#ActivityPub #fediverse #fedidev #BotKit
https://hollo.social/@hongminhee/0194a0d4-1d67-7c81-80ba-e7ade212d27a
@hongminhee@hollo.social
I'm refactoring @botkit to add a Repository
interface (aka DAO). I regret that I should have defined the Repository
interface in the first place. 😂
@liaizon@social.wake.st
LOLA: an #ActivityPub data portability initiative spearheaded by @DTinitiative
https://swicg.github.io/activitypub-data-portability/lola
@liaizon@social.wake.st
LOLA: an #ActivityPub data portability initiative spearheaded by @DTinitiative
https://swicg.github.io/activitypub-data-portability/lola
@josemurilo@mato.social
"#Pixelfed, #Loops, & #Sup, #opensource alternatives to Instagram, TikTok, and WhatsApp, respectively, are now raising funds on #Kickstarter to fuel the apps’ further development.
The trio is part of the growing #opensocial web, also known as #thefediverse, powered by the same #ActivityPub protocol used by X alternative Mastodon. The latter saw increased signups and use after Twitter sold to Elon Musk in Oct2022 and during the X exodus that followed the U.S. election."
@botkit@hollo.social
Exciting update on #BotKit: we've introduced a new Repository
abstraction layer that provides cleaner data access. While previously data operations went directly through KvStore
, they now go through Repository
—improving separation of concerns and making the codebase more maintainable. Don't worry though—there are no breaking changes to the public API that BotKit users rely on!
Key benefits:
Check out our docs for the technical details: https://botkit.fedify.dev/concepts/repository.
#ActivityPub #fediverse #fedidev #BotKit
https://hollo.social/@hongminhee/0194a0d4-1d67-7c81-80ba-e7ade212d27a
@hongminhee@hollo.social
I'm refactoring @botkit to add a Repository
interface (aka DAO). I regret that I should have defined the Repository
interface in the first place. 😂
@delta@chaos.social
Preventing enshittification of platforms rests on credible exit for users and devs. #ActivityPub and #SMTP are not perfect but
a) are implemented und understood by many players,
b) enable freedom of choice of servers and clients,
c) implement #RightToMigrate as well as self/community custody
Many #p2p projects promise to remove servers but often promote and depend on a single implementation stack, have no spec and no interop among #p2p islands, and thus struggle to provide credible exit.
@liaizon@social.wake.st
LOLA: an #ActivityPub data portability initiative spearheaded by @DTinitiative
https://swicg.github.io/activitypub-data-portability/lola
@delta@chaos.social
Preventing enshittification of platforms rests on credible exit for users and devs. #ActivityPub and #SMTP are not perfect but
a) are implemented und understood by many players,
b) enable freedom of choice of servers and clients,
c) implement #RightToMigrate as well as self/community custody
Many #p2p projects promise to remove servers but often promote and depend on a single implementation stack, have no spec and no interop among #p2p islands, and thus struggle to provide credible exit.
@hikari@bsd.cafe
I'm just trying to check using #loops servers
https://loops.fediverse.observer/stats
#loopsvideo has 15k users.
But I did not understand
Why can a #closedsource application in fediverse have so many users without connecting to #activitypub ?
@toddalstrom@mastodon.social
Are you following anyone on @threads.net?
I realize that Meta isn't even close to fully federating Threads, but I've yet to find anyone that I know IRL, any breweries, and it seems like very few reputable news sources have turned on fediverse sharing.
But at least we have @theonion
#Fediverse #ActivityPub #Mastodon #Meta #Threads #SocialMedia #beer #news #TheOnion
Option | Voters |
---|---|
Yes | 3 (20%) |
No | 6 (40%) |
I'm blocking the domain | 2 (13%) |
My instance is blocking the domain | 4 (27%) |
@botkit@hollo.social
Exciting update on #BotKit: we've introduced a new Repository
abstraction layer that provides cleaner data access. While previously data operations went directly through KvStore
, they now go through Repository
—improving separation of concerns and making the codebase more maintainable. Don't worry though—there are no breaking changes to the public API that BotKit users rely on!
Key benefits:
Check out our docs for the technical details: https://botkit.fedify.dev/concepts/repository.
#ActivityPub #fediverse #fedidev #BotKit
https://hollo.social/@hongminhee/0194a0d4-1d67-7c81-80ba-e7ade212d27a
@hongminhee@hollo.social
I'm refactoring @botkit to add a Repository
interface (aka DAO). I regret that I should have defined the Repository
interface in the first place. 😂
@botkit@hollo.social
Exciting update on #BotKit: we've introduced a new Repository
abstraction layer that provides cleaner data access. While previously data operations went directly through KvStore
, they now go through Repository
—improving separation of concerns and making the codebase more maintainable. Don't worry though—there are no breaking changes to the public API that BotKit users rely on!
Key benefits:
Check out our docs for the technical details: https://botkit.fedify.dev/concepts/repository.
#ActivityPub #fediverse #fedidev #BotKit
https://hollo.social/@hongminhee/0194a0d4-1d67-7c81-80ba-e7ade212d27a
@hongminhee@hollo.social
I'm refactoring @botkit to add a Repository
interface (aka DAO). I regret that I should have defined the Repository
interface in the first place. 😂
@toddalstrom@mastodon.social
Are you following anyone on @threads.net?
I realize that Meta isn't even close to fully federating Threads, but I've yet to find anyone that I know IRL, any breweries, and it seems like very few reputable news sources have turned on fediverse sharing.
But at least we have @theonion
#Fediverse #ActivityPub #Mastodon #Meta #Threads #SocialMedia #beer #news #TheOnion
Option | Voters |
---|---|
Yes | 3 (20%) |
No | 6 (40%) |
I'm blocking the domain | 2 (13%) |
My instance is blocking the domain | 4 (27%) |
@hongminhee@hollo.social
I'm looking for your opinions from the developers of the fediverse.
A common HTML web page can contain related links via the <link>
tag. I would like to do the same for Activity Streams objects, for example:
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://writings.hongminhee.org/ap/2024/12/a-year-with-the-fediverse.json",
"type": "Article",
"name": "A year with the fediverse",
"content": "2024 was truly a year where I was deeply immersed in the fediverse. …",
"url": "https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/",
"attachment": [
{
"type": "Link",
"rel": "alternate",
"hreflang": "ko",
"href": "https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/index.ko-hang-kr.html",
"mediaType": "text/html"
},
{
"type": "Link",
"rel": "alternate",
"hreflang": "ja",
"href": "https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/index.ja.html",
"mediaType": "text/html"
}
]
}
Do you think this makes sense, and would it be appropriate to put Link
objects in the attachment
?
@bouncepaw@merveilles.town
Does it make sense to roll out an ad-hoc federated bookmark search API? Please convince me I should take a different approach.
@silverpill@mitra.social
FEP-2277: ActivityPub core types (pre-draft)
https://codeberg.org/silverpill/feps/src/branch/main/2277/fep-2277.md
where I make a case for non-overlapping core types and duck typing
@silverpill@mitra.social
FEP-2277: ActivityPub core types (pre-draft)
https://codeberg.org/silverpill/feps/src/branch/main/2277/fep-2277.md
where I make a case for non-overlapping core types and duck typing
@clemensg@digitalcourage.social
Ich möchte verstehen, warum sich gute Leute wie Cory Doctorow zu der 30-Millionen-Dollar-Geldsammlung "Free Our Feeds" zusammengeschlossen haben. Damit wollen sie Bluesky dezentralisieren und deren AT-Protokoll stärken, vor allem aber einen zukünftigen Zugriff und Kontrolle durch reiche Dritte verhindern. Für uns hier im Fediverse mit dem Flaggschiff Mastodon und dem W3C-Protokoll ActivityPub muss es unverständlich sein, warum diese Initiative etwas bei Bluesky erreichen will, was es hier schon längst gibt: Dezentralität und ein offenes Protokoll.
Um das zu verstehen, habe ich mir zwei Artikel von Cory Doctorow angeschaut, die er in den letzten Tagen veröffentlicht hat:
- "Defense (of the internet) (from billionaires) in depth" ( https://pluralistic.net/2025/01/23/defense-in-depth )
- "Enshittification isn't caused by venture capital" ( https://pluralistic.net/2025/01/20/capitalist-unrealism )
(2)
@jsit@social.coop · Reply to Jay 🆘's post
In other words, what’s the best #ActivityPub software for a single-user instance?
@silverpill@mitra.social
FEP-2277: ActivityPub core types (pre-draft)
https://codeberg.org/silverpill/feps/src/branch/main/2277/fep-2277.md
where I make a case for non-overlapping core types and duck typing
@silverpill@mitra.social
FEP-2277: ActivityPub core types (pre-draft)
https://codeberg.org/silverpill/feps/src/branch/main/2277/fep-2277.md
where I make a case for non-overlapping core types and duck typing
@gyptazy@gyptazy.com
Just a few days ago, I lunched my new relay service for the #Fediverse and I'm really happy to see that there're already many ones connected to - more than 50 instances in just a few days!
But what makes me even really happy is to see, that my service [2] also gets linked in the release notes of #snac [1] / #snac2 - and I can recommend the usage of relay services (it doesn't matter which one!) to everyone. It provides more content from connected instances to you, but also brings your posts - from your local instance - up to other ones within the federated network where it can get much easier distributed around other instances.
#snac is the perfect way to host an own fediverse instance. Using the #ActivityPub protocol allows you to connect to all other instances. With the integrated #Mastodon API, you can also use most of your usual clients or web clients. Snac is light, fast, does not require any database and follows the KISS way - which the most of us BSD people are living. With relay services, it's the perfect match for singe-user instances and @grunfink is always open for ideas and to help! It does not always need to be #Mastodon, #GoToSocial etc!
And if you're using any other software, you may still benefit by using relay services. And if you're still looking for a guide, howto setup snac2 on #FreeBSD, my howto [3] might help you out.
[1]: https://codeberg.org/grunfink/snac2
[2]: https://fedi-relay.gyptazy.com
[3]: https://gyptazy.com/install-snac2-on-freebsd-an-activitypub-instance-for-the-fediverse/
#community #opensource #development #coding #c #clang #homelab #hosting #BSD #RUNBSD #Howto
@naturzukunft@mastodon.social
somehow i have the feeling that mastodon has a lot of transient objects without id. too many. And many for which there is even an image url that does not appear to be transient.
or is it just my feeling that an icon of the actor should have an id ?
@lns@fosstodon.org
Does ActivityPub have any "livestreaming" functionality built in / something that could be integrated? I'm exploring the idea of Subjam as part of the Fediverse. Its audio broad facilities (Icecast2 backend which uses HTTP streaming) might need to be a completely separate arm of my infra..
The core of Subjam fits well with the Fedi model. It encompasses multiple individual music communities/scenes around the world.
#ActivityPub #Icecast #livestreaming #broadcasting #Fediverse #Fedi #Subjam
@gyptazy@gyptazy.com
Just a few days ago, I lunched my new relay service for the #Fediverse and I'm really happy to see that there're already many ones connected to - more than 50 instances in just a few days!
But what makes me even really happy is to see, that my service [2] also gets linked in the release notes of #snac [1] / #snac2 - and I can recommend the usage of relay services (it doesn't matter which one!) to everyone. It provides more content from connected instances to you, but also brings your posts - from your local instance - up to other ones within the federated network where it can get much easier distributed around other instances.
#snac is the perfect way to host an own fediverse instance. Using the #ActivityPub protocol allows you to connect to all other instances. With the integrated #Mastodon API, you can also use most of your usual clients or web clients. Snac is light, fast, does not require any database and follows the KISS way - which the most of us BSD people are living. With relay services, it's the perfect match for singe-user instances and @grunfink is always open for ideas and to help! It does not always need to be #Mastodon, #GoToSocial etc!
And if you're using any other software, you may still benefit by using relay services. And if you're still looking for a guide, howto setup snac2 on #FreeBSD, my howto [3] might help you out.
[1]: https://codeberg.org/grunfink/snac2
[2]: https://fedi-relay.gyptazy.com
[3]: https://gyptazy.com/install-snac2-on-freebsd-an-activitypub-instance-for-the-fediverse/
#community #opensource #development #coding #c #clang #homelab #hosting #BSD #RUNBSD #Howto
@lns@fosstodon.org · Reply to marius's post
@mariusor Any tags besides #ActivityPub you recommend?
@lns@fosstodon.org
Any ActivityPub experts out there whose brain I might be able to pick with a few questions?
@box464@mastodon.social
After a long silence, Tumblr confirms it is still planning to join the fediverse.
> The migration is still a work in progress, as we’ve previously detailed here, but we can say for sure that it will include support for WordPress’s existing ActivityPub plugins. We hope this comes as good news.
@jwildeboer@social.wildeboer.net
You know #ActivityPub from a developer view? You want to have a forge that integrates with the #Fediverse? Then maybe https://codeberg.org/forgejo-contrib/federation is a place for you :) Federation and #Forgejo :)
Roadmap at https://codeberg.org/forgejo-contrib/federation/src/branch/main/FederationRoadmap.md
@gyptazy@gyptazy.com
Just a few days ago, I lunched my new relay service for the #Fediverse and I'm really happy to see that there're already many ones connected to - more than 50 instances in just a few days!
But what makes me even really happy is to see, that my service [2] also gets linked in the release notes of #snac [1] / #snac2 - and I can recommend the usage of relay services (it doesn't matter which one!) to everyone. It provides more content from connected instances to you, but also brings your posts - from your local instance - up to other ones within the federated network where it can get much easier distributed around other instances.
#snac is the perfect way to host an own fediverse instance. Using the #ActivityPub protocol allows you to connect to all other instances. With the integrated #Mastodon API, you can also use most of your usual clients or web clients. Snac is light, fast, does not require any database and follows the KISS way - which the most of us BSD people are living. With relay services, it's the perfect match for singe-user instances and @grunfink is always open for ideas and to help! It does not always need to be #Mastodon, #GoToSocial etc!
And if you're using any other software, you may still benefit by using relay services. And if you're still looking for a guide, howto setup snac2 on #FreeBSD, my howto [3] might help you out.
[1]: https://codeberg.org/grunfink/snac2
[2]: https://fedi-relay.gyptazy.com
[3]: https://gyptazy.com/install-snac2-on-freebsd-an-activitypub-instance-for-the-fediverse/
#community #opensource #development #coding #c #clang #homelab #hosting #BSD #RUNBSD #Howto
@jwildeboer@social.wildeboer.net
You know #ActivityPub from a developer view? You want to have a forge that integrates with the #Fediverse? Then maybe https://codeberg.org/forgejo-contrib/federation is a place for you :) Federation and #Forgejo :)
Roadmap at https://codeberg.org/forgejo-contrib/federation/src/branch/main/FederationRoadmap.md
@box464@mastodon.social
After a long silence, Tumblr confirms it is still planning to join the fediverse.
> The migration is still a work in progress, as we’ve previously detailed here, but we can say for sure that it will include support for WordPress’s existing ActivityPub plugins. We hope this comes as good news.
@jwildeboer@social.wildeboer.net
You know #ActivityPub from a developer view? You want to have a forge that integrates with the #Fediverse? Then maybe https://codeberg.org/forgejo-contrib/federation is a place for you :) Federation and #Forgejo :)
Roadmap at https://codeberg.org/forgejo-contrib/federation/src/branch/main/FederationRoadmap.md
@tukine@fedibird.com
WordPressのActivityPubプラグインで、Fediverseからのリアクション(お気に入りやブースト)を表示できるようになったみたい
> リアクションブロックを使うと、マストドンや他のフェディバースプラットフォームからの「いいね」やリポストが、あなたの投稿の最後に自動的に追加されます(サイトエディタを使用している場合)。リアクションがない投稿では、自動的に表示されないように賢く設計されています。
(機械翻訳)
Improving Fediverse Engagement With the Reactions Block
https://wordpress.com/blog/2025/01/16/fediverse-reactions-block/
@tukine@fedibird.com
WordPressのActivityPubプラグインで、Fediverseからのリアクション(お気に入りやブースト)を表示できるようになったみたい
> リアクションブロックを使うと、マストドンや他のフェディバースプラットフォームからの「いいね」やリポストが、あなたの投稿の最後に自動的に追加されます(サイトエディタを使用している場合)。リアクションがない投稿では、自動的に表示されないように賢く設計されています。
(機械翻訳)
Improving Fediverse Engagement With the Reactions Block
https://wordpress.com/blog/2025/01/16/fediverse-reactions-block/
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@box464@mastodon.social
After a long silence, Tumblr confirms it is still planning to join the fediverse.
> The migration is still a work in progress, as we’ve previously detailed here, but we can say for sure that it will include support for WordPress’s existing ActivityPub plugins. We hope this comes as good news.
@hexaheximal@mastodon.social
Quick PSA about https://frequency.app:
1. It's not actually the unique platform it tries to make itself look like. It's a Mastodon fork.
2. *In violation of Mastodon's AGPLv3 license*, Frequency is proprietary, or at the very least does not provide any link to the source code.
3. They paywall signups.
This isn't anything particularly new and interesting. It's just yet another corporate leech on the fediverse...
@box464@mastodon.social
After a long silence, Tumblr confirms it is still planning to join the fediverse.
> The migration is still a work in progress, as we’ve previously detailed here, but we can say for sure that it will include support for WordPress’s existing ActivityPub plugins. We hope this comes as good news.
@box464@mastodon.social
After a long silence, Tumblr confirms it is still planning to join the fediverse.
> The migration is still a work in progress, as we’ve previously detailed here, but we can say for sure that it will include support for WordPress’s existing ActivityPub plugins. We hope this comes as good news.
@box464@mastodon.social
After a long silence, Tumblr confirms it is still planning to join the fediverse.
> The migration is still a work in progress, as we’ve previously detailed here, but we can say for sure that it will include support for WordPress’s existing ActivityPub plugins. We hope this comes as good news.
@treefit@fosstodon.org
I have a #Fediverse #ActivityPub question:
Why doesn't my client ( #mastodon or #pixelfed ) automatically load the comments from the original page so that all comments are visible?
Is there a technical reason?
@liaizon@social.wake.st
Doing some fediverse research and discovered that @tkithrta is attempting to "implement #ActivityPub using 16 different web frameworks" in a project called #StrawberryFields
https://gitlab.com/acefed #fediverse #fedidev
@weekinfediverse@mitra.social
Servers
- Ktistec v2.4.5
- Manyfold v0.96.0
- Hollo v0.4.4
- NodeBB v4.0.0
- Hubzilla v10.0.7
- Smithereen v0.9
- μpub v0.5.0
- snac v2.69
- Mitra v3.15.0
- Owncast v0.2.1
- Gancio v1.22.0
- ActivityPub for WordPress v4.7.3
- NeoDB v0.11.4
- Bandwagon.fm - Testing a New Search Engine
- Lemmy Development Update 2025-01-24
- WordPress - Improving Fediverse Engagement With the Reactions Block
Clients
- Dhaaga v0.14.0
- Pixelix v3.2.1
- Alexandrite v0.8.15
- Voyager v2.23.2
Tools and Plugins
- Bookface Light v4 (Friendica user stylesheet)
- Lemmy Federate: A tool to federate Lemmy/Mbin communities automatically between instances
For developers
- Fedify v1.3.4
- activitypub-federation-rust v0.6.2
- Federails v0.5.0
- ActivityPods - Our roadmap for 2025
Protocol
Articles
- snac2 - frontendin' alien toots
- Owncast Newsletter January 2025
- Comparison between Mastodon, Friendica, Hubzilla and (streams)
- The Challenge of Upward Momentum
- Pixelfed Smashes Kickstarter Campaign Goal on Day One
- Last Week in Fediverse – ep 100
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019475c3-075e-cdd9-3646-8b857403a4dd
@BeAware@social.beaware.live
It seems the "three slightly touching buttholes" symbol ⁂ is making the rounds again as people try to change the Fediverse logo that has nothing wrong with it.
The current Fediverse logo shows diversity and interconnectivity, the main features of Fedi.
The "asterism" is already used in writing to denote a change in time. It's a unicode character similar to how a billionaire asshole changed his companies logo to a unicode character and it was told to him many times why that's a bad idea, yet people want to copy him here?😑
Furthermore, it's all white and not connected at all. Which doesn't embody the values of Fedi at all. Last, but definitely not least, it looks like three slightly touching buttholes.
Don't change what isn't broken.
Thanks.
@weekinfediverse@mitra.social
Servers
- Ktistec v2.4.5
- Manyfold v0.96.0
- Hollo v0.4.4
- NodeBB v4.0.0
- Hubzilla v10.0.7
- Smithereen v0.9
- μpub v0.5.0
- snac v2.69
- Mitra v3.15.0
- Owncast v0.2.1
- Gancio v1.22.0
- ActivityPub for WordPress v4.7.3
- NeoDB v0.11.4
- Bandwagon.fm - Testing a New Search Engine
- Lemmy Development Update 2025-01-24
- WordPress - Improving Fediverse Engagement With the Reactions Block
Clients
- Dhaaga v0.14.0
- Pixelix v3.2.1
- Alexandrite v0.8.15
- Voyager v2.23.2
Tools and Plugins
- Bookface Light v4 (Friendica user stylesheet)
- Lemmy Federate: A tool to federate Lemmy/Mbin communities automatically between instances
For developers
- Fedify v1.3.4
- activitypub-federation-rust v0.6.2
- Federails v0.5.0
- ActivityPods - Our roadmap for 2025
Protocol
Articles
- snac2 - frontendin' alien toots
- Owncast Newsletter January 2025
- Comparison between Mastodon, Friendica, Hubzilla and (streams)
- The Challenge of Upward Momentum
- Pixelfed Smashes Kickstarter Campaign Goal on Day One
- Last Week in Fediverse – ep 100
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019475c3-075e-cdd9-3646-8b857403a4dd
@weekinfediverse@mitra.social
Servers
- Ktistec v2.4.5
- Manyfold v0.96.0
- Hollo v0.4.4
- NodeBB v4.0.0
- Hubzilla v10.0.7
- Smithereen v0.9
- μpub v0.5.0
- snac v2.69
- Mitra v3.15.0
- Owncast v0.2.1
- Gancio v1.22.0
- ActivityPub for WordPress v4.7.3
- NeoDB v0.11.4
- Bandwagon.fm - Testing a New Search Engine
- Lemmy Development Update 2025-01-24
- WordPress - Improving Fediverse Engagement With the Reactions Block
Clients
- Dhaaga v0.14.0
- Pixelix v3.2.1
- Alexandrite v0.8.15
- Voyager v2.23.2
Tools and Plugins
- Bookface Light v4 (Friendica user stylesheet)
- Lemmy Federate: A tool to federate Lemmy/Mbin communities automatically between instances
For developers
- Fedify v1.3.4
- activitypub-federation-rust v0.6.2
- Federails v0.5.0
- ActivityPods - Our roadmap for 2025
Protocol
Articles
- snac2 - frontendin' alien toots
- Owncast Newsletter January 2025
- Comparison between Mastodon, Friendica, Hubzilla and (streams)
- The Challenge of Upward Momentum
- Pixelfed Smashes Kickstarter Campaign Goal on Day One
- Last Week in Fediverse – ep 100
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019475c3-075e-cdd9-3646-8b857403a4dd
@weekinfediverse@mitra.social
Servers
- Ktistec v2.4.5
- Manyfold v0.96.0
- Hollo v0.4.4
- NodeBB v4.0.0
- Hubzilla v10.0.7
- Smithereen v0.9
- μpub v0.5.0
- snac v2.69
- Mitra v3.15.0
- Owncast v0.2.1
- Gancio v1.22.0
- ActivityPub for WordPress v4.7.3
- NeoDB v0.11.4
- Bandwagon.fm - Testing a New Search Engine
- Lemmy Development Update 2025-01-24
- WordPress - Improving Fediverse Engagement With the Reactions Block
Clients
- Dhaaga v0.14.0
- Pixelix v3.2.1
- Alexandrite v0.8.15
- Voyager v2.23.2
Tools and Plugins
- Bookface Light v4 (Friendica user stylesheet)
- Lemmy Federate: A tool to federate Lemmy/Mbin communities automatically between instances
For developers
- Fedify v1.3.4
- activitypub-federation-rust v0.6.2
- Federails v0.5.0
- ActivityPods - Our roadmap for 2025
Protocol
Articles
- snac2 - frontendin' alien toots
- Owncast Newsletter January 2025
- Comparison between Mastodon, Friendica, Hubzilla and (streams)
- The Challenge of Upward Momentum
- Pixelfed Smashes Kickstarter Campaign Goal on Day One
- Last Week in Fediverse – ep 100
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019475c3-075e-cdd9-3646-8b857403a4dd
@darnell@one.darnell.one
So #Tumblr is transitioning to #WordPress in order embrace the #Fediverse (there is still no timetable on when that process will be completed).
Also, despite the popularity of #Bluesky, Tumblr has no plans to embrace the #Atmosphere & will stick with support for #ActivityPub for now.
👉🏾 https://www.tumblr.com/wip/773574776721702912/about-a-year-ago-wordpress-ceo-matt-mullenweg
Ironically, you can easily import your Tumblr blog into WordPress, & then cross post your content upon Tumblr. That’s what I have done.
@weekinfediverse@mitra.social
Servers
- Ktistec v2.4.5
- Manyfold v0.96.0
- Hollo v0.4.4
- NodeBB v4.0.0
- Hubzilla v10.0.7
- Smithereen v0.9
- μpub v0.5.0
- snac v2.69
- Mitra v3.15.0
- Owncast v0.2.1
- Gancio v1.22.0
- ActivityPub for WordPress v4.7.3
- NeoDB v0.11.4
- Bandwagon.fm - Testing a New Search Engine
- Lemmy Development Update 2025-01-24
- WordPress - Improving Fediverse Engagement With the Reactions Block
Clients
- Dhaaga v0.14.0
- Pixelix v3.2.1
- Alexandrite v0.8.15
- Voyager v2.23.2
Tools and Plugins
- Bookface Light v4 (Friendica user stylesheet)
- Lemmy Federate: A tool to federate Lemmy/Mbin communities automatically between instances
For developers
- Fedify v1.3.4
- activitypub-federation-rust v0.6.2
- Federails v0.5.0
- ActivityPods - Our roadmap for 2025
Protocol
Articles
- snac2 - frontendin' alien toots
- Owncast Newsletter January 2025
- Comparison between Mastodon, Friendica, Hubzilla and (streams)
- The Challenge of Upward Momentum
- Pixelfed Smashes Kickstarter Campaign Goal on Day One
- Last Week in Fediverse – ep 100
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019475c3-075e-cdd9-3646-8b857403a4dd
@darnell@one.darnell.one
So #Tumblr is transitioning to #WordPress in order embrace the #Fediverse (there is still no timetable on when that process will be completed).
Also, despite the popularity of #Bluesky, Tumblr has no plans to embrace the #Atmosphere & will stick with support for #ActivityPub for now.
👉🏾 https://www.tumblr.com/wip/773574776721702912/about-a-year-ago-wordpress-ceo-matt-mullenweg
Ironically, you can easily import your Tumblr blog into WordPress, & then cross post your content upon Tumblr. That’s what I have done.
@sl007@digitalcourage.social
In thick traffic jam with a full car,
will miss the
#ActivityPub Issue Triage
in 1 hour.
https://www.w3.org/events/meetings/a8f8abc0-7642-41d2-ba24-6c45abf5f6ca/20250124T120000/
I am deeply ashamed.
@daletrexel@techhub.social
Is there some sort of #ActivityPub / #Fediverse matrix website for comparing features, specs and intercompatibility? Kind of like CanIUse but for the Fediverse?
A recent question about DMs in ActivityPub got me looking, but of course including "matrix" in your query returns mostly Matrix protocol results.
It would be really handy to have comparison matrices for:
- ActivityPub server implementations
- ActivityPub client features
So far I've found neither!
[Gah! Sorry for any edit notices but I don't know how I could have missed that stray 'd'.]
@RobertSE@mastodon.social · Reply to Mastodon's post
@Mastodon Why not connect with #bsky ? They write: "Why not use ActivityPub? ActivityPub is a federated social networking technology popularized by Mastodon. Account portability is a major reason why we chose to build a separate protocol."
atproto.com/guides/faq
Anybody thinking of building bridges between those two protocols?
@arichtman@eigenmagic.net
Movie where an ActivityPub author has retreated to a hermit life in the woods and some organization is trying to get then back
(Author, outside a wood cabin, gardening)
"Hey, I'm here to talk about ActivityPub v3"
"Bring that leaf bin over there will ya"
(Grizzled author fetches it themselves)
"So, would you be open to talking?"
"I need a chock for this here woodsaw table, split one of them logs"
"Is that a no?"
(Author approaches the city slicker, fatigued)
"If they want me to invent protocol extensions, (huff) they gotta send someone better than you"
(City slicker turns as they depart inside)
@Linux_Is_Best@misskey.de
A friendly reminder,
The Fediverse, the social network you're using to avoid Facebook, Twitter, Reddit, or Blue Sky, is managed by real people, and not corporations. These real people, your administrator, pay for hosting so that you may share your thought, feelings, or just randomly sh-t post.
If you're financially able, take a moment to reach out to your administrator, and ask if they need help. Even a little bit can help.
#Mastodon #Misskey #CherryPick #Sharkey #Fediverse #ActivityPub
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 100 (!)
This week's news:
- massive growth for @pixelfed, growing from 20k active users last month to almost 200k active users currently.
- @nodebb has officially launched their #activitypub integration
- Meta will not commit or confirm a timeline for adding account migration to #threads
Thank you to everyone for reading and supporting 100 editions of Last Week in Fediverse!
Read at: https://fediversereport.com/last-week-in-fediverse-ep-100/
@nuekaze@sns.nuemedia.se
I have been trying to figure out how to send a DM using #ActivityPub but I have still not found any clear instructions on what the message should contain for it to be a proper DM.
@atomicpoet@atomicpoet.org
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@atomicpoet@atomicpoet.org
@BeAware@social.beaware.live
@xdydx @anaphorrra @clemensprill this is one thing in Fedi that needs to improve: Feature Parity.
If all Mastodon apps don't even show most of the same options, how the hell can people be expected to explain things correctly?😩
#Fedi #Fediverse #Mastodon #ActivityPub #SocialMedia #iOS #Android
@BeAware@social.beaware.live
@xdydx @anaphorrra @clemensprill this is one thing in Fedi that needs to improve: Feature Parity.
If all Mastodon apps don't even show most of the same options, how the hell can people be expected to explain things correctly?😩
#Fedi #Fediverse #Mastodon #ActivityPub #SocialMedia #iOS #Android
@BeAware@social.beaware.live
It's so cool to see other Fedi advocates being added to lists so people can find easily.
Though I can't help but wonder who's ass I gotta kiss to get on one....
I DO tend to talk about Fedi quite a bit.
Only 70% or so, of my posts, of which I have 17k+🤣🤷♂️
#Fedi #Fediverse #StarterPack #FediverseStarterPacks #ActivityPub #Mastodon
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@BeAware@social.beaware.live
Unfortunately this wave if new people is causing certain hashtags to be filled with irrelevant posts.
Please only use tags that are relevant to the post.
People using the Mastodon or Fediverse tags don't want to see your tits, memes, barbecue, or kids.
Thanks.
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@serge@babka.social
I'm on a mailing list for the official ActivityPub specification and everyone is super keen on this idea that ActivityPub is going to start supporting "facts", ie you either agree with the "truth" or you're wrong.
As much as I can't stand the disinformation campaigns, they're not at all taking seriously the idea that demanding everyone have the same "truth" is not only group-think, but far more dangerous.
It's a degradation of the very foundation of fundamental liberal ideas of difference. The idea that all must adhere to the official "Truth" is a tenement of fascism.
And who will control truth? Why, the same people who control moderation of course, meaning that if you're part of a marginalized group within the network then watch out, because they're coming for you, and now they have the "truth" on their side.
@stefan@stefanbohacek.online · Reply to Stefan Bohacek's post
I've been active in the fediverse for a bit over two years now, and it still blows my mind that people can use an Instagram-like service and just casually interact with folks who are posting on a Reddit-like service or a Twitter-like service. Just like that.
Great stuff.
@stefan@stefanbohacek.online · Reply to Stefan Bohacek's post
I've been active in the fediverse for a bit over two years now, and it still blows my mind that people can use an Instagram-like service and just casually interact with folks who are posting on a Reddit-like service or a Twitter-like service. Just like that.
Great stuff.
@stefan@stefanbohacek.online · Reply to Stefan Bohacek's post
I've been active in the fediverse for a bit over two years now, and it still blows my mind that people can use an Instagram-like service and just casually interact with folks who are posting on a Reddit-like service or a Twitter-like service. Just like that.
Great stuff.
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@0xZogG@hachyderm.io
If there was a #fediverse #activitypub platform for movies and tv shows, what features would you expect from it?
What I have in mind are:
1. Rate (x/y)
2. Write review
3. Currently watching (for tv shows, maybe general status in case abonded, also progress)
3. Watchlist
4. Events to organize events to watch together (seems to be popular on Fedi already)
5. Recommend tv show/movie (to your followers or someone specific?)
Please leave comments with your thoughts/ideas, also if you don't mind to boost 🙏🏼
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@silverpill@mitra.social
@grishka@mastodon.social
#Smithereen 0.9 is out!
Photo albums are, of course, the headline feature of this release. In addition to that, there's the groups newsfeed and redesigned mobile profiles.
Also, Smithereen is now available on Docker Hub: https://hub.docker.com/r/grishkaa/smithereen
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@stefan@stefanbohacek.online
Happy 7th anniversary of becoming an official W3C standard, ActivityPub!
https://www.w3.org/news/2018/activitypub-is-now-a-w3c-recommendation/
We're creating something truly special here with the fediverse, and I am so thankful for everyone who contributes to it, whether with your time, money, or just by sharing your thoughts, your creations, your silly little jokes. Keep it up!
@box464@mastodon.social
A YunoHost type project, but specific to fediverse platforms. Definitely one I’m going to follow more closely.
Fedi Developers take note, there are some grants available to implement your fedi services as packages here!
“The Fediversity Project enables easy hosting for a wide variety of fediverse platforms, all based on NixOS. At the start, the project will support Mastodon, PixelFed,PeerTube...”
@grishka@mastodon.social
#Smithereen 0.9 is out!
Photo albums are, of course, the headline feature of this release. In addition to that, there's the groups newsfeed and redesigned mobile profiles.
Also, Smithereen is now available on Docker Hub: https://hub.docker.com/r/grishkaa/smithereen
@naturzukunft@mastodon.social
is there a json-ld compact "expert" in my bubble ?
@0xZogG@hachyderm.io
If there was a #fediverse #activitypub platform for movies and tv shows, what features would you expect from it?
What I have in mind are:
1. Rate (x/y)
2. Write review
3. Currently watching (for tv shows, maybe general status in case abonded, also progress)
3. Watchlist
4. Events to organize events to watch together (seems to be popular on Fedi already)
5. Recommend tv show/movie (to your followers or someone specific?)
Please leave comments with your thoughts/ideas, also if you don't mind to boost 🙏🏼
@naturzukunft@mastodon.social
is there a json-ld compact "expert" in my bubble ?
@grishka@mastodon.social
#Smithereen 0.9 is out!
Photo albums are, of course, the headline feature of this release. In addition to that, there's the groups newsfeed and redesigned mobile profiles.
Also, Smithereen is now available on Docker Hub: https://hub.docker.com/r/grishkaa/smithereen
@grishka@mastodon.social
#Smithereen 0.9 is out!
Photo albums are, of course, the headline feature of this release. In addition to that, there's the groups newsfeed and redesigned mobile profiles.
Also, Smithereen is now available on Docker Hub: https://hub.docker.com/r/grishkaa/smithereen
@grishka@mastodon.social
#Smithereen 0.9 is out!
Photo albums are, of course, the headline feature of this release. In addition to that, there's the groups newsfeed and redesigned mobile profiles.
Also, Smithereen is now available on Docker Hub: https://hub.docker.com/r/grishkaa/smithereen
@StefanMuenz@vivaldi.net
Wer die potentielle Power hinter #ActivityPub erst mal kapiert, auch fürs eigene Produkt, wird sich gerne assimilieren. Es braucht Zeit, weil die Social-Hype-Priester immer woanders ihre Glöckchen läuten (immer irgendwo bei den Plattformen). Doch es wird - mit der Zeit. Unaufhaltsam.
https://www.heise.de/news/Anbindung-an-Mastodon-Co-Forensoftware-NodeBB-ans-Fediverse-angeschlossen-10251690.html
@fst@mstdn.io
Normally I don't like links with extra url params revealing where i'm coming from, but for links revealing I come from #mastodon #fediverse #activitypub I make exceptions.
@atomicpoet@atomicpoet.org
My argument for #ActivityPub over #ATProtocol is simple: if ATProtocol rules supreme, what will compete against #Bluesky’s firehose?
How many nodes are there on AT Protocol?
How many unique services that don’t resemble Twitter run on AT Protocol?
But above all, what happens if Bluesky gets bought by Musk or Zuckerberg?
With the Fediverse, we got established decentralization. Not theoretical—something that exists in the far off future—but decentralization that is here and now.
@reconbot@toot.cafe
I wonder if you can export your mastodon "inbox" like you can your outbox.
@atomicpoet@atomicpoet.org
My argument for #ActivityPub over #ATProtocol is simple: if ATProtocol rules supreme, what will compete against #Bluesky’s firehose?
How many nodes are there on AT Protocol?
How many unique services that don’t resemble Twitter run on AT Protocol?
But above all, what happens if Bluesky gets bought by Musk or Zuckerberg?
With the Fediverse, we got established decentralization. Not theoretical—something that exists in the far off future—but decentralization that is here and now.
@atomicpoet@atomicpoet.org
My argument for #ActivityPub over #ATProtocol is simple: if ATProtocol rules supreme, what will compete against #Bluesky’s firehose?
How many nodes are there on AT Protocol?
How many unique services that don’t resemble Twitter run on AT Protocol?
But above all, what happens if Bluesky gets bought by Musk or Zuckerberg?
With the Fediverse, we got established decentralization. Not theoretical—something that exists in the far off future—but decentralization that is here and now.
@silverpill@mitra.social
@silverpill@mitra.social
@silverpill@mitra.social
@Linux_Is_Best@misskey.de
A friendly reminder,
The Fediverse, the social network you're using to avoid Facebook, Twitter, Reddit, or Blue Sky, is managed by real people, and not corporations. These real people, your administrator, pay for hosting so that you may share your thought, feelings, or just randomly sh-t post.
If you're financially able, take a moment to reach out to your administrator, and ask if they need help. Even a little bit can help.
#Mastodon #Misskey #CherryPick #Sharkey #Fediverse #ActivityPub
@StefanMuenz@vivaldi.net
Wer die potentielle Power hinter #ActivityPub erst mal kapiert, auch fürs eigene Produkt, wird sich gerne assimilieren. Es braucht Zeit, weil die Social-Hype-Priester immer woanders ihre Glöckchen läuten (immer irgendwo bei den Plattformen). Doch es wird - mit der Zeit. Unaufhaltsam.
https://www.heise.de/news/Anbindung-an-Mastodon-Co-Forensoftware-NodeBB-ans-Fediverse-angeschlossen-10251690.html
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@soapdog@toot.cafe
hey #fediverse what is the current #activitypub server that provides features similar to #mastodon or #pleroma that uses the fewest resources? Is there anything there that is good for single user instances?
I'm aware of GoToSocial and Honk but wondering what else is there.
@soapdog@toot.cafe
hey #fediverse what is the current #activitypub server that provides features similar to #mastodon or #pleroma that uses the fewest resources? Is there anything there that is good for single user instances?
I'm aware of GoToSocial and Honk but wondering what else is there.
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@BeAware@social.beaware.live
Some people just like shooting themselves in the foot and then complaining about the pain...🤦♂️
If you specifically ask how to do something in a specific way, I will tell you how to do it that way, if I know how, even if there's an easier way.
If you ask "How do I interact with Lemmy from Mastodon", I will tell you the VERY janky and frustrating way to do it. However if you ask me "how can I use Lemmy just like reddit", I'll simply tell you to sign up to Lemmy and use it like reddit.
Is this why people are so confused about Fediverse?
Some Fediverse softwares don't play nice together and it's very janky cross platform.
Don't shoot yourself in the foot by trying to do things the hard way.
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@BeAware@social.beaware.live · Reply to 's post
@volkris @wjmaggos @mmasnick.bsky.social except BlueSky owns the relays and controls what you can and can't see and it's financially influenced by it's investors.
@BeAware@social.beaware.live · Reply to 's post
@volkris @wjmaggos @mmasnick.bsky.social except BlueSky owns the relays and controls what you can and can't see and it's financially influenced by it's investors.
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@volkris@qoto.org · Reply to william.maggos's post
@wjmaggos except #ActivityPub DOESN'T give the people total say over what stories go viral.
We see so much consternation over instance owners censoring what people can see, and that's one of the huge criticisms of this platform that needs to be emphasized.
YES, people can shut down hashtags and links here, and I think that's problematic.
We can't address it by denying that it exists, though.
#Bluesky doesn't just retain that resistance to being shut down. With its relays it does a better job of having the features you're promoting here.
BlueSky comes much closer to giving the people total control over what stories go viral. #Fediverse falls short, empowering instances over people.
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
「@fedify」や「@hollo」や「@botkit」の開発を支援したい方は、GitHubでスポンサーになってください!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #フェディバース #Fedify #Hollo #BotKit #スポンサー
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
「@fedify」や「@hollo」や「@botkit」の開発を支援したい方は、GitHubでスポンサーになってください!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #フェディバース #Fedify #Hollo #BotKit #スポンサー
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
「@fedify」や「@hollo」や「@botkit」の開発を支援したい方は、GitHubでスポンサーになってください!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #フェディバース #Fedify #Hollo #BotKit #スポンサー
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
제 프로젝트인 @fedify, @hollo, @botkit 等의 開發을 後援하고 싶으신 분들께서는, GitHub에서 제 스폰서가 되어 주세요!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #페디버스 #聯合宇宙 #연합우주 #Fedify #Hollo #BotKit #스폰서 #후원
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
「@fedify」や「@hollo」や「@botkit」の開発を支援したい方は、GitHubでスポンサーになってください!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #フェディバース #Fedify #Hollo #BotKit #スポンサー
@hongminhee@hollo.social
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
@d1re_w0lf@mastodon.social
I truly hope that they are able to reach the goal. 🤞
@botkit@hollo.social
The #BotKit docs now have Recipes! It contains practical examples for common tasks like:
More recipes are on the way. Check it out now.
@botkit@hollo.social
The #BotKit docs now have Recipes! It contains practical examples for common tasks like:
More recipes are on the way. Check it out now.
@botkit@hollo.social
The #BotKit docs now have Recipes! It contains practical examples for common tasks like:
More recipes are on the way. Check it out now.
@botkit@hollo.social
The #BotKit docs now have Recipes! It contains practical examples for common tasks like:
More recipes are on the way. Check it out now.
@botkit@hollo.social
The #BotKit docs now have Recipes! It contains practical examples for common tasks like:
More recipes are on the way. Check it out now.
@aj@id1.in
I don't want to create a new account for every software / server. Where is the #OAuth thing for #ActivityPub?
#Mastodon #PixelFed #Lemmy
@Jeremiah@alpaca.gold
I voted for Ghost’s support of ActivityPub in the Product Hunt Golden Kitty Awards category of Community & Social.
Help a fellow social web product out by tapping “Choose a different product” and search for “Ghost ActivityPub”.
https://www.producthunt.com/golden-kitty-awards/community-social-5
@d1re_w0lf@mastodon.social
I truly hope that they are able to reach the goal. 🤞
@majorlinux@toot.majorshouse.com
It really sucks that the content that I would like to follow doesn't put out anything on #ActivityPub or any other decentralized platform.
I get reaching the masses but some people have left or want to leave these corporate platforms.
Honestly, Ive lost all desire to be anywhere but here now.
@majorlinux@toot.majorshouse.com
It really sucks that the content that I would like to follow doesn't put out anything on #ActivityPub or any other decentralized platform.
I get reaching the masses but some people have left or want to leave these corporate platforms.
Honestly, Ive lost all desire to be anywhere but here now.
@mapache@hachyderm.io
A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 8 is out!
Follow the site here @blog or check the article here: https://maho.dev/2025/01/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-8/
#fediverse #activitypub #static-sites #hugo #azure #mastodon #web-development #social-web #webfinger #http #azure #azurefunctions
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 100 (!)
This week's news:
- massive growth for @pixelfed, growing from 20k active users last month to almost 200k active users currently.
- @nodebb has officially launched their #activitypub integration
- Meta will not commit or confirm a timeline for adding account migration to #threads
Thank you to everyone for reading and supporting 100 editions of Last Week in Fediverse!
Read at: https://fediversereport.com/last-week-in-fediverse-ep-100/
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 100 (!)
This week's news:
- massive growth for @pixelfed, growing from 20k active users last month to almost 200k active users currently.
- @nodebb has officially launched their #activitypub integration
- Meta will not commit or confirm a timeline for adding account migration to #threads
Thank you to everyone for reading and supporting 100 editions of Last Week in Fediverse!
Read at: https://fediversereport.com/last-week-in-fediverse-ep-100/
@mapache@hachyderm.io
A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 8 is out!
Follow the site here @blog or check the article here: https://maho.dev/2025/01/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-8/
#fediverse #activitypub #static-sites #hugo #azure #mastodon #web-development #social-web #webfinger #http #azure #azurefunctions
@rasterweb@mastodon.social
I finally got around to financially supporting 404 Media because they are doing great work.
"It is possible to build alternatives to Elon Musk’s X, Mark Zuckerberg’s Instagram, and whatever TikTok will become. It is happening, and it is necessary. A different way is possible, if we build it."
➡️ https://www.404media.co/decentralized-social-media-is-the-only-alternative-to-the-tech-oligarchy/
@mapache@hachyderm.io
A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 8 is out!
Follow the site here @blog or check the article here: https://maho.dev/2025/01/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-8/
#fediverse #activitypub #static-sites #hugo #azure #mastodon #web-development #social-web #webfinger #http #azure #azurefunctions
@mapache@hachyderm.io
A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 8 is out!
Follow the site here @blog or check the article here: https://maho.dev/2025/01/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-8/
#fediverse #activitypub #static-sites #hugo #azure #mastodon #web-development #social-web #webfinger #http #azure #azurefunctions
@rasterweb@mastodon.social
I finally got around to financially supporting 404 Media because they are doing great work.
"It is possible to build alternatives to Elon Musk’s X, Mark Zuckerberg’s Instagram, and whatever TikTok will become. It is happening, and it is necessary. A different way is possible, if we build it."
➡️ https://www.404media.co/decentralized-social-media-is-the-only-alternative-to-the-tech-oligarchy/
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 100 (!)
This week's news:
- massive growth for @pixelfed, growing from 20k active users last month to almost 200k active users currently.
- @nodebb has officially launched their #activitypub integration
- Meta will not commit or confirm a timeline for adding account migration to #threads
Thank you to everyone for reading and supporting 100 editions of Last Week in Fediverse!
Read at: https://fediversereport.com/last-week-in-fediverse-ep-100/
@atomicpoet@atomicpoet.org
@atomicpoet@atomicpoet.org
@misskoula@libretooth.gr
Any suggestions for #NodeBB site forum to test new #activitypub features???
@misskoula@libretooth.gr
Any suggestions for #NodeBB site forum to test new #activitypub features???
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 100 (!)
This week's news:
- massive growth for @pixelfed, growing from 20k active users last month to almost 200k active users currently.
- @nodebb has officially launched their #activitypub integration
- Meta will not commit or confirm a timeline for adding account migration to #threads
Thank you to everyone for reading and supporting 100 editions of Last Week in Fediverse!
Read at: https://fediversereport.com/last-week-in-fediverse-ep-100/
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 100 (!)
This week's news:
- massive growth for @pixelfed, growing from 20k active users last month to almost 200k active users currently.
- @nodebb has officially launched their #activitypub integration
- Meta will not commit or confirm a timeline for adding account migration to #threads
Thank you to everyone for reading and supporting 100 editions of Last Week in Fediverse!
Read at: https://fediversereport.com/last-week-in-fediverse-ep-100/
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 100 (!)
This week's news:
- massive growth for @pixelfed, growing from 20k active users last month to almost 200k active users currently.
- @nodebb has officially launched their #activitypub integration
- Meta will not commit or confirm a timeline for adding account migration to #threads
Thank you to everyone for reading and supporting 100 editions of Last Week in Fediverse!
Read at: https://fediversereport.com/last-week-in-fediverse-ep-100/
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 100 (!)
This week's news:
- massive growth for @pixelfed, growing from 20k active users last month to almost 200k active users currently.
- @nodebb has officially launched their #activitypub integration
- Meta will not commit or confirm a timeline for adding account migration to #threads
Thank you to everyone for reading and supporting 100 editions of Last Week in Fediverse!
Read at: https://fediversereport.com/last-week-in-fediverse-ep-100/
@sl007@digitalcourage.social
It does not matter so much if it is #SOLID or #ActivityPub or both or any.
But the Vision matters most in these dark times
„The Vision of a new World“ by @timbl
„That said, there is clearly a massive revolution taking place, and a huge amount of value being created. That value is primarily for individuals who are have obstacles of today;s world they may have taken for granted being removed, and new power to granted. But then immediately individuals use that power to make and work in communities oof all scales, from pairs through groups to nation-sized movements.“
@kubikpixel@chaos.social
«Decentralized Social Media Is the Only Alternative to the Tech Oligarchy
[…] Mastodon’s ActivityPub and Bluesky’s AT.Protocol have provided the base technology layer to make this possible, and have laid important groundwork over the last few years to decorporatize and decentralize the social internet. […]»
I'm critical of Bluesky because their format doesn't decentralize of the effort.
🤨 https://www.404media.co/decentralized-social-media-is-the-only-alternative-to-the-tech-oligarchy/
#tiktok #facebook #instagram #mastodon #activitypub #uspol #bluesky #ATProtocol
@sl007@digitalcourage.social
@1br0wn
@redchrision
@eest9 @rysiek
et al.
Just attended the #ActivityPub Trust & Safety Taskforce Meeting posted before.
We had to make clear the distinction between power-abusing / anti-competitive safety and what they mean by safety.
The chair made clear that Policy will have no role in the new taskforce „We focus on the protocol stuff, not on the Policy stuff“
So, in these dark times, the question arises if we should have another ActivityPub Policy Group Call for a virtual meeting after fosdem?
@lps@mograph.social
Wow! The #fediverse compatible and #selfhosted #podcasting platform #castopod has it's own index which will allow you to follow/comment/be alerted to new episodes from right here:)
*please boost for reach!
https://index.castopod.org/top50.html
Find a show, follow and enter your #mastodon or other fedi account and voila you will be alerted every time they post an episode. Thanks to #activitypub you can also interact! #feditips
https://blog.castopod.org/exploring-podcasting-2-0-made-easy-introducing-castopod-index/
@blainsmith@fosstodon.org
The Limecast podcasting service is coming along well. I got some fairly decent seed data into the database to show the public podcast index and public podcast homepage.
Hoping to get the final version of the RSS feed ironed out this week and then it is onto supporting some of ActivityPub to let anyone follow podcasts from any fediverse account they have to get new episode posts.
#FOSS #OpenSource #RustLang #Limecast #ActivityPub #RSS #Podcasting
@sl007@digitalcourage.social
#ActivityPub Trust and Safety Task Force Meeting in 10 minutes
@BeAware@social.beaware.live
With this wave of migrations comes more people to complain that Fedi is confusing...
I still don't see how.
Email exists and it's not even as simple. You can't "migrate" emails. So the "lock-in" is permanent, where on Fedi, picking an instance is important, however, you CAN migrate fairly easily.
There's some learned behaviors from other social media platforms that needs to be re-learned like following. Following people is how Fediverse goes around. Follow vigorously and follow often.
You can always unfollow.
It takes time to learn. Be patient and ask. Complaining and saying things are confusing won't do any good...
@Goldmaster@mastodon.social
@dansup https://pixelfed.social/supapp Best of luck! You're like the doc brown of #ActivityPub tools.
@josemurilo@mato.social
#NodeBB: "We're not alone in this journey to interoperate with other decentralized services.
#Discourse has a working plugin.
#Ghost is building out in the open.
It's always been a bit of an informal competition between us, and we always checked in on what the others were doing.
The funny thing about #ActivityPub (#TheEqualizer) is that at the end of the day, the overarching goal of seamless communication breaks down any barriers between competing organizations."
@nibushibu@vivaldi.net
そろそろみんな #Fediverse 初めてもいい頃じゃない?
でも
でも
でもいいから…とりあえず Web 標準化の #ActivityPub
という物があるんだからさ、不満もあるかもしれないけど結構人も増えてきたし使ってみようよ、という気持ち
#Mastodon #Pixelfed #Misskey #SocialMedia #SNS #OpenSocialMedia
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@grishka@mastodon.social
New and improved mobile profiles in #Smithereen.
@box464@mastodon.social
Happy to hear some good news. NodeBB officially released their ActivtyPub federated forums. And, for new forums, it’s automatically enabled! 🎉
Congratulations to the team, especially @julian
I’ve enjoyed reading the progress posts for this one. A lot of hard work and good collaborations between groups. They should be proud.
@box464@mastodon.social
Happy to hear some good news. NodeBB officially released their ActivtyPub federated forums. And, for new forums, it’s automatically enabled! 🎉
Congratulations to the team, especially @julian
I’ve enjoyed reading the progress posts for this one. A lot of hard work and good collaborations between groups. They should be proud.
@atomicpoet@atomicpoet.org
#Discourse has an #ActivityPub plugin that federates your posts there to the #Fediverse.
So if you’re running Discourse, you may want to enable that.
@atomicpoet@atomicpoet.org
#Discourse has an #ActivityPub plugin that federates your posts there to the #Fediverse.
So if you’re running Discourse, you may want to enable that.
@fedify@hollo.social
Want to build your own #ActivityPub implementation, but don't know where to start? Read and follow #Fedify's official tutorial, Creating your own federated microblog, and get started!
@wilhelm@fedia.social
Hi @photomatt can you elaborate on the drop of #wordpress instances connected to the #Fediverse:
fedi.wrm.sr/asn/2635
Is there a specific reason why the #ActivityPub plugin was disabled or made opt-in?
@sayunu@mofu.kemo.no
Bridgy Fed を利用して ActivityPub‐圏と Bluesky との間をブリッジする場合の概念図を作りました。こういった表現でいいかな…。
#BridgyFed #Mastodon #Misskey #ActivityPub #Fediverse #Bluesky
@sayunu@mofu.kemo.no
Bridgy Fed を利用して ActivityPub‐圏と Bluesky との間をブリッジする場合の概念図を作りました。こういった表現でいいかな…。
#BridgyFed #Mastodon #Misskey #ActivityPub #Fediverse #Bluesky
@weekinfediverse@mitra.social
Servers
- tootik v0.15.0
- Manyfold v0.95.0
- Ibis v0.2.1
- Owncast v0.2.0
- Mitra v3.14.0
- Mastodon v4.3.3
- ActivityPub for WordPress v4.7.0
- NeoDB v0.11.2
- Mbin v1.7.4
- Lemmy Development Update 2025-01-10
- Trunk & Tidbits, December 2024
- Bandwagon: Social Web for Musicians and Bands
Clients
- Dhaaga v0.13.0
- Voyager v2.23.0
- Tesseract v1.4.29
- Pixelix v3.2.0
- PeerTube Mobile v0.6.0
For developers
Articles
- Owncast v0.2.0: The Self-Hosted Streaming Solution Levels Up
- My year of Fediverse explorations
- Last Week in Fediverse – ep 99
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019451e8-211d-4a09-c76b-4b3a69976dc1
@naturzukunft@mastodon.social
(1/3) hello everyone,
I'm looking for someone to help me build the demo ui for #rdfpub
The application already exists and can be operated with simple things. Create and send note, show inbox/outbox, follow an actor.
I'm not fit for ui, so it looks terrible ;-) And there is still a lot to do.
But there is also a lot to do in the backend and coordination with the community regarding client to server interactions. I can't do that alone.
@BeAware@social.beaware.live · Reply to Dr. Sarah Pohl's post
@LilithElina on Fediverse, only "requested" posts are sent to the instances that requests them, either by having followers on that instance or someone from the instance boosts the post. Also, even if you follow now, the posts won't backfill, you have to copy the link from each post and input it into your instances search bar. Hope that makes sense.👍
If you have any questions, let me know.
@thinkberg@tetrax.de
@ivory Any chance to mix #Mastodon and the other #ActivityPub services, like #PixelFed? I don't want multiple apps for essentially the same thing.
@erlend@writing.exchange
Is there a common practice for how to automatically detect the social icon of a fediverse site-link when adding it to a ‘personal links’ section like in GitHub? We’re trying to implement this for #weirdone
@chris@mstdn.chrisalemany.ca
Just randomly thinking about how I can write a valid HTML page and it will work on any browser, and on any server, on the internet.
It would be really cool if any ActivityPub post I made essentially followed the same expectation, wouldn’t it?
@josh@vickerson.me
Is there a #Fediverse equivalent of #SoundCloud yet? And if not, does anyone want to help me build one?
#AskFedi #AskFediverse #SelfHosting #ActivityPub #FederatedSoftware
@fedify@hollo.social
Want to build your own #ActivityPub implementation, but don't know where to start? Read and follow #Fedify's official tutorial, Creating your own federated microblog, and get started!
@fedify@hollo.social
Want to build your own #ActivityPub implementation, but don't know where to start? Read and follow #Fedify's official tutorial, Creating your own federated microblog, and get started!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
自分だけのActivityPubを作りたいけど、何から始めれば良いのか分からないですか?Fedifyの公式チュートリアル「自分だけのフェディバースのマイクロブログを作ろう!」を読んでみてください!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
자신만의 #ActivityPub 구현을 하고 싶지만, 어디서 시작해야 할지 모르겠나요? #Fedify 공식 튜토리얼인 〈나만의 연합우주 마이크로블로그 만들기〉를 읽고 따라해 보세요!
@fedify@hollo.social
Want to build your own #ActivityPub implementation, but don't know where to start? Read and follow #Fedify's official tutorial, Creating your own federated microblog, and get started!
@fedify@hollo.social
Want to build your own #ActivityPub implementation, but don't know where to start? Read and follow #Fedify's official tutorial, Creating your own federated microblog, and get started!
@weekinfediverse@mitra.social
Servers
- tootik v0.15.0
- Manyfold v0.95.0
- Ibis v0.2.1
- Owncast v0.2.0
- Mitra v3.14.0
- Mastodon v4.3.3
- ActivityPub for WordPress v4.7.0
- NeoDB v0.11.2
- Mbin v1.7.4
- Lemmy Development Update 2025-01-10
- Trunk & Tidbits, December 2024
- Bandwagon: Social Web for Musicians and Bands
Clients
- Dhaaga v0.13.0
- Voyager v2.23.0
- Tesseract v1.4.29
- Pixelix v3.2.0
- PeerTube Mobile v0.6.0
For developers
Articles
- Owncast v0.2.0: The Self-Hosted Streaming Solution Levels Up
- My year of Fediverse explorations
- Last Week in Fediverse – ep 99
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019451e8-211d-4a09-c76b-4b3a69976dc1
@weekinfediverse@mitra.social
Servers
- tootik v0.15.0
- Manyfold v0.95.0
- Ibis v0.2.1
- Owncast v0.2.0
- Mitra v3.14.0
- Mastodon v4.3.3
- ActivityPub for WordPress v4.7.0
- NeoDB v0.11.2
- Mbin v1.7.4
- Lemmy Development Update 2025-01-10
- Trunk & Tidbits, December 2024
- Bandwagon: Social Web for Musicians and Bands
Clients
- Dhaaga v0.13.0
- Voyager v2.23.0
- Tesseract v1.4.29
- Pixelix v3.2.0
- PeerTube Mobile v0.6.0
For developers
Articles
- Owncast v0.2.0: The Self-Hosted Streaming Solution Levels Up
- My year of Fediverse explorations
- Last Week in Fediverse – ep 99
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019451e8-211d-4a09-c76b-4b3a69976dc1
@rolle@mementomori.social
The Web has always been social. It's a network people use and communicate with. When I created my first website in the 90s, it had visitors. I didn't know who they were, except for those who sent me email. There has been forums, BBSs, IRC, since the 1980s.
So from the social perspective it does not really matter where your "instance" is, because it's already a part of a huge network. Your "instance" can be a website, a social media platform, or anything of a sort. It's a presence online.
The ActivityPub protocol that Mastodon, WordPress, Pixelfed and many other platforms online use, actually has endpoints called "inbox" and "outbox". The logic is very similar to email, but more real time.
So for those who criticize Mastodon or Fediverse as "difficult" or something that has no "reach" I want to say that any form of communication online (be it a normal website or Mastodon or whatever) has all the reach potential in the world. You just need to make yourself heard. We're too used to corporate platforms, money making machines and algorithms to do the work for us. It distorts the whole picture.
Centralized platforms have no future, but the social web is eternal.
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@Linux_Is_Best@misskey.de
I joined the Fediverse on May 30, 2023, and throughout my time on the Fedi, I have always believed in transparency. I even published my follow and block list, regularly on GitLab.
Tomorrow, January 20, 2025, Donald Trump will be President, and the future is uncertain. To prevent anyone from possibly becoming a target, I have switched my follow and followers to private. I would suggest others to do the same.
#Fedi #Fediverse #ActivityPub #Mastodon #Misskey #DonaldTrump #Trump #UnitedStates #America #Usa #Project2025
@Linux_Is_Best@misskey.de
I joined the Fediverse on May 30, 2023, and throughout my time on the Fedi, I have always believed in transparency. I even published my follow and block list, regularly on GitLab.
Tomorrow, January 20, 2025, Donald Trump will be President, and the future is uncertain. To prevent anyone from possibly becoming a target, I have switched my follow and followers to private. I would suggest others to do the same.
#Fedi #Fediverse #ActivityPub #Mastodon #Misskey #DonaldTrump #Trump #UnitedStates #America #Usa #Project2025
@stefan@stefanbohacek.online
Nice to see continued progress https://ghost.org is making towards ActivityPub integration.
"Suddenly, we could see a path to your personal website becoming the single source of your identity on the social web."
@BeAware@social.beaware.live
It's been awhile so I figured I'd do an updated #Introduction post:
Hi, I'm BeAware, sometimes I abbreviate it, BA. I am VERY passionate about decentralized systems like #ActivityPub and #Nostr and tend to discuss these topics at length. Especially the nuances of each and try to keep up with all the things regarding them.
I have #ADHD and #Hydrocephalus, which effects various aspects of my day to day life and how I think. I am also on disability because of it.
I am also very #AI-positive because it helps me with every day life. With my brain disorders, I don't think the same way others do, so AI helps me with describing things accurately and to make sure I get my point across in the way I mean to. I also tend to post #AIart from time to time to realize my creativity.
I'm a #Gamer that primarily plays PC games or games that are Cross Platform. Generally I enjoy #MMORPG, #SurvivalGames and such where I can just "zone out" and vibe without much stress.
Sometimes you'll see me discuss #Technology news as well.
If these seem to be within your interests, feel free to follow and if you have similar interests laid out in your bio, chances are good that ill follow back.
I've been here for a year and this is, by far, my favorite social media platform I've ever been on.
Thank for reading and may you be as federated as you wish!
Sincerely,
B.A.
@nogajun@mastodon.social
Pelican用のActivityPubプラグインを作っている人がいた。動かないよと書いているけど、ベースがあるだけでも助かる #python #pelican #activitypub
schtobia/pelican-plugin-activitypub: Experimental readonly ActivityPub endpoint for Pelican - schtobia's Forgejo: https://git.schmidl.dev/schtobia/pelican-plugin-activitypub
@box464@mastodon.social
@naturzukunft@mastodon.social
(1/3) hello everyone,
I'm looking for someone to help me build the demo ui for #rdfpub
The application already exists and can be operated with simple things. Create and send note, show inbox/outbox, follow an actor.
I'm not fit for ui, so it looks terrible ;-) And there is still a lot to do.
But there is also a lot to do in the backend and coordination with the community regarding client to server interactions. I can't do that alone.
@yuliyan@nahe.social
One of the hurdles for new fediverse users is historic discoverability of content. For example, if we view someone's profile from a remote instance, we only see the posts dating back to the first federation with our home instance. If you are on a large instance this might not be a big deal. It is for smaller instances like mine though.
#Mastodon #Fediverse #ActivityPub #Federation… 🧵(1/3)
@rolle@mementomori.social
The Web has always been social. It's a network people use and communicate with. When I created my first website in the 90s, it had visitors. I didn't know who they were, except for those who sent me email. There has been forums, BBSs, IRC, since the 1980s.
So from the social perspective it does not really matter where your "instance" is, because it's already a part of a huge network. Your "instance" can be a website, a social media platform, or anything of a sort. It's a presence online.
The ActivityPub protocol that Mastodon, WordPress, Pixelfed and many other platforms online use, actually has endpoints called "inbox" and "outbox". The logic is very similar to email, but more real time.
So for those who criticize Mastodon or Fediverse as "difficult" or something that has no "reach" I want to say that any form of communication online (be it a normal website or Mastodon or whatever) has all the reach potential in the world. You just need to make yourself heard. We're too used to corporate platforms, money making machines and algorithms to do the work for us. It distorts the whole picture.
Centralized platforms have no future, but the social web is eternal.
@rolle@mementomori.social
The Web has always been social. It's a network people use and communicate with. When I created my first website in the 90s, it had visitors. I didn't know who they were, except for those who sent me email. There has been forums, BBSs, IRC, since the 1980s.
So from the social perspective it does not really matter where your "instance" is, because it's already a part of a huge network. Your "instance" can be a website, a social media platform, or anything of a sort. It's a presence online.
The ActivityPub protocol that Mastodon, WordPress, Pixelfed and many other platforms online use, actually has endpoints called "inbox" and "outbox". The logic is very similar to email, but more real time.
So for those who criticize Mastodon or Fediverse as "difficult" or something that has no "reach" I want to say that any form of communication online (be it a normal website or Mastodon or whatever) has all the reach potential in the world. You just need to make yourself heard. We're too used to corporate platforms, money making machines and algorithms to do the work for us. It distorts the whole picture.
Centralized platforms have no future, but the social web is eternal.
@yuliyan@nahe.social
One of the hurdles for new fediverse users is historic discoverability of content. For example, if we view someone's profile from a remote instance, we only see the posts dating back to the first federation with our home instance. If you are on a large instance this might not be a big deal. It is for smaller instances like mine though.
#Mastodon #Fediverse #ActivityPub #Federation… 🧵(1/3)
@caten@mathstodon.xyz
Is anyone working on #P2P server software compatible with #ActivityPub? It seems natural to be able to donate network resources instead of cash, and would make services even more difficult to censor.
@caten@mathstodon.xyz
Is anyone working on #P2P server software compatible with #ActivityPub? It seems natural to be able to donate network resources instead of cash, and would make services even more difficult to censor.
@Linux_Is_Best@misskey.de
List of service providers outside the United States jurisdiction. 😉
🤫 VPN =
* iVPN, located in Gibraltar, Europe (UK territory)
https://www.ivpn.net
* Mullvad VPN, located in Sweden, Europe
https://mullvad.net
* Goose VPN, located in the Netherlands, Europe
https://goosevpn.com
* Xeovo VPN, located in Finland, Europe
https://xeovo.com
🌐 Managed DNS =
* AdGuard DNS, located in Cyprus, Europe
https://adguard-dns.io
* ClouDNS, located in Bulgaria, Europe
https://www.cloudns.net
* deSEC, located in Germany, Europe
https://desec.io
🌐 Public DNS =
* CIRA Canadian Shield, located in Canada, North America
https://www.cira.ca/en/canadian-shield/configure/
* Mullvad DNS, located in Sweden, Europe
https://mullvad.net/en/help/dns-over-https-and-dns-over-tls
🔏 Privacy focused e-mail =
* Tuta, located in Germany, Europe
https://tuta.com
* Soverin, located in the Netherlands, Europe
https://soverin.com
* Startmail, located in the Netherlands, Europe
https://www.startmail.com
* Mailfence, located in Belgium, Europe
https://mailfence.com
🌍 Domain Registration / Web Hosting =
* Scalewy, located in France, Europe
https://www.scaleway.com
* OVH, located in France, Europe
https://www.ovhcloud.com
* Netcup, located in Germany, Europe
https://www.netcup.com
* Glesys, located in Sweden, Europe
https://glesys.com
🌍 CDN =
* OVH, located in France, Europe
https://www.ovhcloud.com/en/web-hosting/options/cdn/
* Key CDN, located in Switzerland, Europe
https://www.keycdn.com
#Project2025 #DonaldTrump #Trump #Facism #Fedi #Fediverse #ActivityPub #Email #Vpn #Domain #WebHosting #DNS #CDN #Privacy #Security #FreedomOfSpeech #UnitedStates #America #Usa
@UkkariTako@fedibird.com
#Concrnt (コンカレント)なるSNS・・・プロトコル?・・・何って呼べばいいんだろう・・・の説明なんだけど、Mastodonが採用している #ActivityPub 等の説明もあって、結構分かりやすかった。
Activity Pubにうっすらと感じていた「どたどた感」は、ここから来てたんだなあ・・・大して理解もできていない中での印象だったのだけれど、どっすんばったんしている感じがするのです・・・
他方、concrntは、ちっちゃい何かの箱の中に押し込められて、穴から覗いて手探りをやって、そこで触れたものをつかんで来る感があり・・・
Blueskyは、触ってないけど、仕組みを見る限りは、「首根っこ」がある・・・(そこを押さえられると死ぬる系)
各々特徴があって面白い。
ん--ん--ん--、好みとしては、やっぱりActivity Pubになるのかなあ・・・あくまで好みですけどねん
AP > concrnt > Bluesky
こんな感じ~~
個人が小さく作って内輪でわちゃわちゃやるなら、concrntは、悪くない選択肢な気がする(AP連携も可能)。
@VE2UWY@mastodon.radio
So ... The #Fediverse. I get that the Fediverse is not *one* thing but many things that use #ActivityPub. Much as the internet is not *one* thing but many things that use TCP/IP.
Mastodon is still, I think, the largest fraction of the Fediverse but as a Mastodon user, what powers does ActivityPub grant me? Do I magically have a "free account" on a Pixelfed instance? (yes, pretty much everything in the Fediverse is free, but you know what I mean). Does that other service "know" me?
@VE2UWY@mastodon.radio
So ... The #Fediverse. I get that the Fediverse is not *one* thing but many things that use #ActivityPub. Much as the internet is not *one* thing but many things that use TCP/IP.
Mastodon is still, I think, the largest fraction of the Fediverse but as a Mastodon user, what powers does ActivityPub grant me? Do I magically have a "free account" on a Pixelfed instance? (yes, pretty much everything in the Fediverse is free, but you know what I mean). Does that other service "know" me?
@tukine@fedibird.com
とても分かりやすかった。ActivityPub連携できるんだね!後で登録してみよ〜!
新時代の分散型SNS「Concrnt(コンカレント)」を始めよう!|akiRAM
https://note.com/akiram_vr/n/nfe5419e4ba2a
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@rwg@aoir.social
Latest FOSS Academic:
https://fossacademic.tech/2025/01/18/makingAlts.html
In which I talk about how state regulations are affecting the development of ActivityPub and the fediverse, and how trying to make a TOS for Loops by using an online service resulted in a surveillance capitalist-friendly document.
@rwg@aoir.social
Latest FOSS Academic:
https://fossacademic.tech/2025/01/18/makingAlts.html
In which I talk about how state regulations are affecting the development of ActivityPub and the fediverse, and how trying to make a TOS for Loops by using an online service resulted in a surveillance capitalist-friendly document.
@chris@mstdn.chrisalemany.ca
@mosseri@threads.net Adam,
You need to know that the changes in your moderation policy announced by your leadership is putting your relationship with the #Fediverse in serious jeopardy.
From the moment #Meta announced #Threads there was strong debate within the community on whether you could be a trusted actor in this space. I, against my own initial gut reaction (having deleted my FB profile in 2020 and never joined Insta due to family that have been harmed by it), decided to give the benefit of the doubt solely because I thought Thread’s entrance into the #ActivityPub universe gave that effort instant credibility with people and entities that would never have considered it important before.
But now, on the eve of the ascension and return of the most dangerous President the United States has ever produced, at the height of a rise in regressive action and policy that puts people in direct danger, your company has chosen to double down.
No amount of earnest sounding words or tented, pensive, hands can mask what is going on here.
And the majority of the Fediverse is seeing it. Threads.net will reach blocking thresholds by @iftas soon, if it hasn’t already.
You are decidedly part of the problem, and always have been.
And that is why today, after giving you and the handful of people on Threads that I like and follow a chance ( @jakebroe@threads.net @gtconway3@threads.net @karaswisher@threads.net @stonekettle@threads.net @realjuddlegum@threads.net among others) I have to again cut away from Meta not because of them, but because of leaders like yourself who refuse to put the well being of all people ahead of political and ideological ambition.
I believe you and I agree on one thing, the #OpenSocialWeb is the future because it *is* freedom and that will always draw people away from oppressive spaces.
Long live the #Fediverse.
Cheers
Chris
@smallcircles@social.coop
Reminder: AS/AP-based suffers from #BallOfMud based ad-hoc expansion unless we find common practices and stick to them. Collaboration across a commons is essential here. Just coding your app with custom #ActivityPub protocol extension is contributing to #ProtocolDecay and increasing complexity to facilitate broad #interoperability.
The #FEP process and #SocialCG are where collective effort and proactive participation can improve #fedi for all. We need a bottom up standardization process.
@chris@mstdn.chrisalemany.ca
@mosseri@threads.net Adam,
You need to know that the changes in your moderation policy announced by your leadership is putting your relationship with the #Fediverse in serious jeopardy.
From the moment #Meta announced #Threads there was strong debate within the community on whether you could be a trusted actor in this space. I, against my own initial gut reaction (having deleted my FB profile in 2020 and never joined Insta due to family that have been harmed by it), decided to give the benefit of the doubt solely because I thought Thread’s entrance into the #ActivityPub universe gave that effort instant credibility with people and entities that would never have considered it important before.
But now, on the eve of the ascension and return of the most dangerous President the United States has ever produced, at the height of a rise in regressive action and policy that puts people in direct danger, your company has chosen to double down.
No amount of earnest sounding words or tented, pensive, hands can mask what is going on here.
And the majority of the Fediverse is seeing it. Threads.net will reach blocking thresholds by @iftas soon, if it hasn’t already.
You are decidedly part of the problem, and always have been.
And that is why today, after giving you and the handful of people on Threads that I like and follow a chance ( @jakebroe@threads.net @gtconway3@threads.net @karaswisher@threads.net @stonekettle@threads.net @realjuddlegum@threads.net among others) I have to again cut away from Meta not because of them, but because of leaders like yourself who refuse to put the well being of all people ahead of political and ideological ambition.
I believe you and I agree on one thing, the #OpenSocialWeb is the future because it *is* freedom and that will always draw people away from oppressive spaces.
Long live the #Fediverse.
Cheers
Chris
@smallcircles@social.coop
Reminder: AS/AP-based suffers from #BallOfMud based ad-hoc expansion unless we find common practices and stick to them. Collaboration across a commons is essential here. Just coding your app with custom #ActivityPub protocol extension is contributing to #ProtocolDecay and increasing complexity to facilitate broad #interoperability.
The #FEP process and #SocialCG are where collective effort and proactive participation can improve #fedi for all. We need a bottom up standardization process.
@josemurilo@mato.social
My good friend @manualdousuario has a solid case for his rant over #FreeOurFeeds. But given the names involved, I'd slap a question mark on his headline: "$30 million to reinvent the wheel"?
That's because I see opportunity for innovative advancements at the protocol level, even dealing with emerging public payment systems like #PIX.
The wheel is done: #ActivityPub. I am open to hear what those good people can do to help the #opensocial path forward.
https://notes.ghed.in/posts/2025/bluesky-free-our-feeds-mastodon/
@josemurilo@mato.social
My good friend @manualdousuario has a solid case for his rant over #FreeOurFeeds. But given the names involved, I'd slap a question mark on his headline: "$30 million to reinvent the wheel"?
That's because I see opportunity for innovative advancements at the protocol level, even dealing with emerging public payment systems like #PIX.
The wheel is done: #ActivityPub. I am open to hear what those good people can do to help the #opensocial path forward.
https://notes.ghed.in/posts/2025/bluesky-free-our-feeds-mastodon/
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@tukine@fedibird.com
とても分かりやすかった。ActivityPub連携できるんだね!後で登録してみよ〜!
新時代の分散型SNS「Concrnt(コンカレント)」を始めよう!|akiRAM
https://note.com/akiram_vr/n/nfe5419e4ba2a
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@meljoann@topspicy.social
Hey, I’ve been wondering this. How come you can sign in with a #Pixelfed account using a Mastodon app, and not vice versa? Design choice on the Pixelfed app? Or is there a some technical reason?
It’s just the apps themselves deciding whether to support multiple #ActivityPub projects, is it?
@steve@social.technoetic.com
I dream of the day when I'm not forced to choose between decentralization and a good user (or developer) experience. #ActivityPub (P.S. if there are replies to this post, you probably won't see most of them on your instance.)
@tukine@fedibird.com
とても分かりやすかった。ActivityPub連携できるんだね!後で登録してみよ〜!
新時代の分散型SNS「Concrnt(コンカレント)」を始めよう!|akiRAM
https://note.com/akiram_vr/n/nfe5419e4ba2a
@domo@pizza.enby.city
I am trying to figure out where I go to find open issues and discussions about the features for "quote posts" in the ActivityPub spec. Do they have... a git repo where they discuss it? (Is they in this case W3C?)
Is there a doc somewhere? I can't seem to find where they track these discussions publicly, but mastodon said the feature was already proposed upstream in ActivityPub, but that it was still in the works in discussions.
I want to read the discussions to figure out where in the process of implementing the feature we are. Are we still just discussing it? Is there a proposal request somewhere?
@weekinfediverse@mitra.social
Servers
- tootik v0.15.0
- Manyfold v0.95.0
- Ibis v0.2.1
- Owncast v0.2.0
- Mitra v3.14.0
- Mastodon v4.3.3
- ActivityPub for WordPress v4.7.0
- NeoDB v0.11.2
- Mbin v1.7.4
- Lemmy Development Update 2025-01-10
- Trunk & Tidbits, December 2024
- Bandwagon: Social Web for Musicians and Bands
Clients
- Dhaaga v0.13.0
- Voyager v2.23.0
- Tesseract v1.4.29
- Pixelix v3.2.0
- PeerTube Mobile v0.6.0
For developers
Articles
- Owncast v0.2.0: The Self-Hosted Streaming Solution Levels Up
- My year of Fediverse explorations
- Last Week in Fediverse – ep 99
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019451e8-211d-4a09-c76b-4b3a69976dc1
@weekinfediverse@mitra.social
Servers
- tootik v0.15.0
- Manyfold v0.95.0
- Ibis v0.2.1
- Owncast v0.2.0
- Mitra v3.14.0
- Mastodon v4.3.3
- ActivityPub for WordPress v4.7.0
- NeoDB v0.11.2
- Mbin v1.7.4
- Lemmy Development Update 2025-01-10
- Trunk & Tidbits, December 2024
- Bandwagon: Social Web for Musicians and Bands
Clients
- Dhaaga v0.13.0
- Voyager v2.23.0
- Tesseract v1.4.29
- Pixelix v3.2.0
- PeerTube Mobile v0.6.0
For developers
Articles
- Owncast v0.2.0: The Self-Hosted Streaming Solution Levels Up
- My year of Fediverse explorations
- Last Week in Fediverse – ep 99
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019451e8-211d-4a09-c76b-4b3a69976dc1
@weekinfediverse@mitra.social
Servers
- tootik v0.15.0
- Manyfold v0.95.0
- Ibis v0.2.1
- Owncast v0.2.0
- Mitra v3.14.0
- Mastodon v4.3.3
- ActivityPub for WordPress v4.7.0
- NeoDB v0.11.2
- Mbin v1.7.4
- Lemmy Development Update 2025-01-10
- Trunk & Tidbits, December 2024
- Bandwagon: Social Web for Musicians and Bands
Clients
- Dhaaga v0.13.0
- Voyager v2.23.0
- Tesseract v1.4.29
- Pixelix v3.2.0
- PeerTube Mobile v0.6.0
For developers
Articles
- Owncast v0.2.0: The Self-Hosted Streaming Solution Levels Up
- My year of Fediverse explorations
- Last Week in Fediverse – ep 99
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019451e8-211d-4a09-c76b-4b3a69976dc1
@BeAware@social.beaware.live
It's always VERY confusing to me when people try to advocate against Fedi being an open platform. (which is and always was the goal)
If you want a walled garden, there's MANY options for you to choose from, yet you chose the option that is specifically NOT that.
#Fedi #Fediverse #ActivityPub #OpenSocialWeb #SocialWeb #SocialMedia #Mastodon
@domo@pizza.enby.city
I am trying to figure out where I go to find open issues and discussions about the features for "quote posts" in the ActivityPub spec. Do they have... a git repo where they discuss it? (Is they in this case W3C?)
Is there a doc somewhere? I can't seem to find where they track these discussions publicly, but mastodon said the feature was already proposed upstream in ActivityPub, but that it was still in the works in discussions.
I want to read the discussions to figure out where in the process of implementing the feature we are. Are we still just discussing it? Is there a proposal request somewhere?
@phil@fed.bajsicki.com
Of public interest:
At least 15,000 people fully, without limits, irrevocably, licensed their personal information, public image, name and all data that reached loops.video infrastructure... to @dansup@mastodon.social 's loops.video platform.
Had they known they're entirely losing control of everything, would they be using the platform?
Explanation in the renote, and here:
https://bajsicki.com/blog/loops-video-terms/
Is this what we, as a #society, want?
#mastodon #admin #dataprivacy #datasecurity #fediverse #federation #ActivityPub #privacy #security #copyright #consent #instagram #tiktok #pixelfed #loopsvideo
RE: https://fed.bajsicki.com/notes/a349itz9il
@phil@fed.bajsicki.com
How about no?
You're way overstepping with this, poisoning the entire ActivityPub ecosystem.
Let me break this down for you...
https://bajsicki.com/blog/loops-video-terms/
In short: if you really intend to federate, respect your users and their data.
Implementing federation while keeping these terms is a severe breach of trust, and would poison the entirety of the network in an way which will cripple ActivityPub, and undermine the very foundation of what AP stands for with regard to privacy, data ownership, and control over what we post to the network.
Hopefully that's not your intention. Is it?
#mastodon #admin #dataprivacy #datasecurity #fediverse #federation #ActivityPub #privacy #security #copyright #consent #instagram #tiktok #pixelfed #loopsvideo
RE: https://mastodon.social/users/dansup/statuses/113841956808397142
@NickBohle@mastodon.social · Reply to Jill Minor's post
@jillrhudy Hey Jill, thanks for the input. First, can you please explain how that "null." works.
Second - now it gets more complicated - I federate my content with the #ActivityPub-plugin. Captions are not federated on Mastodon, but alt texts are, so I would assume to be accessible in both worlds, screen readers read content on my website twice. And yes, since I started this WordPress version of my website in 2006, I am still not fully accessible.Trying. #wordpress #accessibility #alttext
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@kini@maro.xyz
Hello Fedi nerds,
I ask for your help today,
Is there a #mastodon android client that supports remote posts fetching like Sengi does on desktop?
Please let me know.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@phil@fed.bajsicki.com
How about no?
You're way overstepping with this, poisoning the entire ActivityPub ecosystem.
Let me break this down for you...
https://bajsicki.com/blog/loops-video-terms/
In short: if you really intend to federate, respect your users and their data.
Implementing federation while keeping these terms is a severe breach of trust, and would poison the entirety of the network in an way which will cripple ActivityPub, and undermine the very foundation of what AP stands for with regard to privacy, data ownership, and control over what we post to the network.
Hopefully that's not your intention. Is it?
#mastodon #admin #dataprivacy #datasecurity #fediverse #federation #ActivityPub #privacy #security #copyright #consent #instagram #tiktok #pixelfed #loopsvideo
RE: https://mastodon.social/users/dansup/statuses/113841956808397142
@dansup@mastodon.social
Regardless of what happens with TikTok, I'm still focused on shipping https://loops.video to the world, and open sourcing the entire platform!
History has proven that technology like this is best used when the people have control, and can build their own communities.
@smeikx@graz.social
Is there something like an ActivityPub composer? A fediverse server and/or client that does not specialise on any kind of media or paradigm, but allows you to view and create any kind of activity?
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@smeikx@graz.social
Is there something like an ActivityPub composer? A fediverse server and/or client that does not specialise on any kind of media or paradigm, but allows you to view and create any kind of activity?
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@strypey@mastodon.nzoss.nz
Anyone going to FOSDEM next month?
"The modern-day fediverse is an impressive achievement, but it also leaves many issues to be addressed. Servers can go down, content can disappear and users can lose access to their identity. Authorization mechanisms are under-specified and rich interactions are fairly limited. This talk, by the two primary editors of the ActivityPub specification, explores where we think the fediverse should go ..."
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@fiend_unpleasant@mastodon.social
Does anyone here know how groups on friendica work? If so would you be willing to walk me through it? I am on friendica.world and can't figure it out
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@jaforbes@mastodon.social
"We're at the beginning of a significant shift in the history of the internet in more ways than one, and we're feeling both optimistic and excited for the future. After two decades of restrictive networks and centralized platforms, there are a lot of very motivated people focused on one thing:
Bringing back the open web."
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@genehack@dementedandsadbut.social
Is there a small/minimal #ActivityPub server that supports “post-only” accounts?
My use-case is, I’ve got a local club where I’d like to publish meeting announcements, but I’d prefer if it came from the club’s domain, and I don’t want or need a “full” server, just something that will serve posts to subs
@ridetheory@mastodon.social
I've signed up for #pixelfed. I'll have to figure out how to integrate posts over there with my Mastodon account. I still don't really know how to share my #Bookwyrm stuff over here, either. There's some mysterious #activitypub magic I haven't learned yet...
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
"My Year of Fediverse explorations"
https://blog.elenarossini.com/my-year-of-fediverse-explorations/
with shout-outs to @pixelfed @dansup @pfefferle @gotosocial @yunohost @phanpy
#tech #Fediverse #BigTech #socialmedia #FOSS #FLOSS #blog #Friendica #Pixelfed #Lemmy #GoToSocial #YunoHost #Mastodon #ActivityPub #Wordpress
@lps@mograph.social
Wow! The #fediverse compatible and #selfhosted #podcasting platform #castopod has it's own index which will allow you to follow/comment/be alerted to new episodes from right here:)
*please boost for reach!
https://index.castopod.org/top50.html
Find a show, follow and enter your #mastodon or other fedi account and voila you will be alerted every time they post an episode. Thanks to #activitypub you can also interact! #feditips
https://blog.castopod.org/exploring-podcasting-2-0-made-easy-introducing-castopod-index/
@genehack@dementedandsadbut.social
Is there a small/minimal #ActivityPub server that supports “post-only” accounts?
My use-case is, I’ve got a local club where I’d like to publish meeting announcements, but I’d prefer if it came from the club’s domain, and I don’t want or need a “full” server, just something that will serve posts to subs
@reiver@mastodon.social
Fediverse Labeler update:
I have been working on a site that anyone can use to see Fediverse Labelers in action.
This is what it looks like if the user it looks up doesn't provide an avatar image or a header image.
I.e., this (in the screenshot) shows the default avatar image and header image.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
Although what I mentioned here doesn't resolve the problem with changing ones username.
That problem still exists with this technique.
#acctURL #ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #HTTP
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
For example —
If the "username" is part of it, then there is a straightforward unique ID for this user as an acct-URL:
acct:joeblow@example·com
But there are many ways an HTTP-URL as an ID gets represented. Ex:
• http;//example·com/users/joeblow
• http;//example·com/user/joeblow
• http;//example·com/api/users/joeblow
• http;//example·com/api/user/joeblow
• http;//example·com/~joeblow
• etc
#acctURL #ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #HTTP
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
"My Year of Fediverse explorations"
https://blog.elenarossini.com/my-year-of-fediverse-explorations/
with shout-outs to @pixelfed @dansup @pfefferle @gotosocial @yunohost @phanpy
#tech #Fediverse #BigTech #socialmedia #FOSS #FLOSS #blog #Friendica #Pixelfed #Lemmy #GoToSocial #YunoHost #Mastodon #ActivityPub #Wordpress
@reiver@mastodon.social
1/
If ActivityPub and ActivityStreams used acct-URI rather than HTTP-URL to identify users, then there would less problems with switching between different Fediverse software.
(Different Fediverse software represent users with different style HTTP-URLs — which creates the problem.)
#acctURL #ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #HTTP
@Linux_Is_Best@misskey.de
Tokodon supports services that implement the Mastodon Client API. This includes most popular Fediverse software, such as:
Mastodon (and its forks)
Misskey (and its forks)
Pixelfed
GoToSocial
Pleroma and Akkoma
Other services may work in Tokodon, although keep in mind it's not possible to support every extra feature.
Available on Android, Linux packages, Flathub, and Snap. Developed and hosted by the good folks over at KDE Plasma.
Source: https://invent.kde.org/network/tokodon
#Fedi #Fediverse #ActivityPub #Tokodon #Mastodon #Misskey #Pixelfed #CherryPick #IceShrimp #FireFish #GoToSocial #Pleroma #Akkoma #Android #Linux #Kde
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
"My Year of Fediverse explorations"
https://blog.elenarossini.com/my-year-of-fediverse-explorations/
with shout-outs to @pixelfed @dansup @pfefferle @gotosocial @yunohost @phanpy
#tech #Fediverse #BigTech #socialmedia #FOSS #FLOSS #blog #Friendica #Pixelfed #Lemmy #GoToSocial #YunoHost #Mastodon #ActivityPub #Wordpress
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
"My Year of Fediverse explorations"
https://blog.elenarossini.com/my-year-of-fediverse-explorations/
with shout-outs to @pixelfed @dansup @pfefferle @gotosocial @yunohost @phanpy
#tech #Fediverse #BigTech #socialmedia #FOSS #FLOSS #blog #Friendica #Pixelfed #Lemmy #GoToSocial #YunoHost #Mastodon #ActivityPub #Wordpress
@_elena@mastodon.social
🚀 New on #TheFutureIsFederated 👩🚀
"My Year of Fediverse explorations"
https://blog.elenarossini.com/my-year-of-fediverse-explorations/
with shout-outs to @pixelfed @dansup @pfefferle @gotosocial @yunohost @phanpy
#tech #Fediverse #BigTech #socialmedia #FOSS #FLOSS #blog #Friendica #Pixelfed #Lemmy #GoToSocial #YunoHost #Mastodon #ActivityPub #Wordpress
@hiker@akk.fedcast.ch · Reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖⁂'s post
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
For previous posts on Fediverse Labelers, see:
https://mastodon.social/@reiver/113833886881290289
And:
https://mastodon.social/@reiver/113825206793984884
And:
https://mastodon.social/@reiver/113822862806430217
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social
Fediverse Labeler update:
I have been working on a site that anyone can use to see Fediverse Labelers in action.
This is what it looks like if the user it looks up doesn't provide an avatar image or a header image.
I.e., this (in the screenshot) shows the default avatar image and header image.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
For discussion on some of the technical / programming side of Fediverse Labelers, see:
https://mastodon.social/@reiver/113822893896346873
.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social
1/
More on Fediverse Labelers —
Here is how text-labels from multiple Fediverse Labelers could appear in an application on a person's profile.
...
In this example, the application pulled in 7 labels from 4 different Fediverse Labelers.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
For previous threads on Fediverse Labelers see:
https://mastodon.social/@reiver/113825206793984884
And:
https://mastodon.social/@reiver/113822862806430217
.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@sl007@digitalcourage.social
#facebook #meta #instagram #warcriminal
Facebook censoring #pixelfed is now also covered by 404 Media
https://www.404media.co/meta-is-blocking-links-to-decentralized-instagram-competitor-pixelfed/
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
For previous threads on Fediverse Labelers see:
https://mastodon.social/@reiver/113825206793984884
And:
https://mastodon.social/@reiver/113822862806430217
.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social
Fediverse Labeler update:
I have been working on site that anyone can use to see Fediverse Labelers in action.
I am hoping to get it done soon. (Maybe by the weekend or next week.)
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@sandor@masto.es
Tras una primera inmersión en el #fediverso, estoy pensando en montarme una instancia propia para uso personal (tengo un pequeño servidor Debian en casa). Estoy buscando un servidor compatible con #activitypub ligero y a ser posible multidominio. He descartado #Mastodon por los requerimientos, y ando dudando entre #pleroma , #takahẽ , #GoToSocial o #friendica
Busco algo con una interfaz agradable, sin demasiadas dependencias a cosas raras (estoy acostumbrado a un entorno #LAMP), y que tenga un proyecto mínimamente sólido y con proyección de futuro (soy un señor mayor y estoy en esa fase de no tener que probarlo todo 🙂 ) Ahora mismo tengo cuenta en Mastodon, Pixelfed y Leemy.
¿Alguna recomendación? ¡Gracias!
@TheFederatedPipe@fedia.io · Reply to TheFederatedPipe's post
Wanted to add, I recently tried #pixelix for #pixelfed, and I might actually like this app better that the official.
https://app.pixelix.social/
https://github.com/daniebeler/pixelix
https://play.google.com/store/apps/details?id=com.daniebeler.pfpixelix
The beauty of the #openinternet, #freesoftware, #socialweb and #activitypub
@delta@chaos.social
Hum, are we the only cross-platform messenger project present in 15+ app stores that primarily announces on, and interacts with, the Fediverse while others use X and maybe Bluesky? If you know of others please mention them in the replies :)
In any case, we are pretty happy here, as we are finding meaningful interactions, and organically evolving interest and collaboration with other people and projects. Probably it helps that #email shares several traits with #ActivityPub protocols? Cheers.
@lps@mograph.social
Wow! The #fediverse compatible and #selfhosted #podcasting platform #castopod has it's own index which will allow you to follow/comment/be alerted to new episodes from right here:)
*please boost for reach!
https://index.castopod.org/top50.html
Find a show, follow and enter your #mastodon or other fedi account and voila you will be alerted every time they post an episode. Thanks to #activitypub you can also interact! #feditips
https://blog.castopod.org/exploring-podcasting-2-0-made-easy-introducing-castopod-index/
@_elena@mastodon.social
And it never gets old: the special thrill of seeing your #Pixelfed post show up in your #Mastodon feed because of the magic of #ActivityPub ✨
Interoperability on the Fediverse is just so so cool!
🔗 : https://photos.elenarossini.com/p/ele/785075267840958818
@dansup@mastodon.social
I appreciate all the support, and just wanted to remind you all that I've been preparing for this moment for years.
I tend to excel under stressful conditions, while maintaining a healthy balance by taking every other night off from coding.
I won't waste this opportunity, and remain focused on @pixelfed during this historic moment!
Admins, users and even press are free to mention me, I'm here to serve you!
Remember that ❤️
#pixelfed #loops #fedidb #sup #pubkit #fediverseInfo #activitypub
@TheFederatedPipe@fedia.io · Reply to infinite love ⴳ's post
I was just talking about this here. I think I even mentioned you.
https://fedia.io/m/fediverse@lemmy.world/t/1437745
Is there any future where we could see this being the future of #activitypub?
@WetHat@fosstodon.org
Key Points:
➡️ BotKit enables the creation of standalone ActivityPub bots, free from platform constraints.
➡️ It is user-friendly and written in TypeScript, ensuring type safety.
➡️ BotKit is easy to deploy with minimal dependencies on various virtual servers.
➡️ Powered by #Fedify, a robust #ActivityPub framework.
#ActivityPub #BotKit #Fediverse #TypeScript #Deno #OpenSource #Programming
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
This screen mock-up only shows text-labels.
Other types of labels can exist — image labels of different types, virtual object labels, space-time labels, etc.
And labels can have different use-case (in addition to human-readable text) — more on that later.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
For discussion on some of the technical / programming side of Fediverse Labelers, see:
https://mastodon.social/@reiver/113822893896346873
.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social
1/
More on Fediverse Labelers —
Here is how text-labels from multiple Fediverse Labelers could appear in an application on a person's profile.
...
In this example, the application pulled in 7 labels from 4 different Fediverse Labelers.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@Vivaldi@vivaldi.net
We make good use of Mastodon’s interoperability with WordPress. When we recently moved our Vivaldi Tips (@tips) blog from vivaldi.net to vivaldi.com to start translating the tips, we noticed that things were a little off on the Mastodon side. Luckily we have the amazing @thomasp in our team, who ironed out every single issue we found.
One of the problems we had was the ActivityPub plugin not detecting the language tags our translation plugin (WPML) added to the posts on WordPress. Language tags allow people on Mastodon to subscribe to posts only in the languages they can read and use the translation feature, so this was an important issue for us to solve. Read about the solution Thomas came up with in his blog: https://thomasp.vivaldi.net/2025/01/14/combining-wpml-activitypub/.
#Vivaldi #VivaldiSocial #VivaldiTips #ActivityPub #WordPress #Mastodon
@afterdawn@mementomori.social
Metan toimintaan kyllästyneet käyttäjät ovat löytäneet Instagramin korvaajaksi hajautetun Pixelfedin
Nyt Pixelfedille julkaistiin myös virallinen kännykkäsovellus (Android ja iPhone) ja sovellus nousi sovelluskauppojen ykköseksi mm. Yhdysvalloissa ja Ruotsissa.
https://dawn.fi/uutiset/2025/01/14/pixelfed-instagram-vaihtoehto-mobiilisovellus
#instagram #activitypub #pixelfed #hajautettu #sosiaalinenmedia #uutiset #meta #teknologia #tekniikka
@naturzukunft@mastodon.social
if i search for a user in #activitypub .academy the first time, #mastodon is doing
- a webfinger request
- read outbox-collection request
- read following-collection request
- read followers-collection request
not bad. what do they expect wenn reading the outbox? the objects that was adressed to as_public?
@WetHat@fosstodon.org
Key Points:
➡️ BotKit enables the creation of standalone ActivityPub bots, free from platform constraints.
➡️ It is user-friendly and written in TypeScript, ensuring type safety.
➡️ BotKit is easy to deploy with minimal dependencies on various virtual servers.
➡️ Powered by #Fedify, a robust #ActivityPub framework.
#ActivityPub #BotKit #Fediverse #TypeScript #Deno #OpenSource #Programming
@BeAware@social.beaware.live
The way Fediverse is, makes it very easy to stalk and harass people.
I've only had it happen once or twice, but it's still unsettling to see people I've blocked LONG ago, show up again just cause they made another account on another instance...😒
@galaxy_map@mastodon.social
Interesting claims about ActivityPub over on Bluesky - any response?
@nick@norden.social · Reply to CJ Shearwood :pmgpurple:'s post
@Vivaldi@vivaldi.net
We make good use of Mastodon’s interoperability with WordPress. When we recently moved our Vivaldi Tips (@tips) blog from vivaldi.net to vivaldi.com to start translating the tips, we noticed that things were a little off on the Mastodon side. Luckily we have the amazing @thomasp in our team, who ironed out every single issue we found.
One of the problems we had was the ActivityPub plugin not detecting the language tags our translation plugin (WPML) added to the posts on WordPress. Language tags allow people on Mastodon to subscribe to posts only in the languages they can read and use the translation feature, so this was an important issue for us to solve. Read about the solution Thomas came up with in his blog: https://thomasp.vivaldi.net/2025/01/14/combining-wpml-activitypub/.
#Vivaldi #VivaldiSocial #VivaldiTips #ActivityPub #WordPress #Mastodon
@nick@norden.social · Reply to Gali's post
Bleibt natürlich die Frage, was könnte man aus #ActivityPub und dem #Fediverse machen, wenn dort mal flott ein paar Millionen investiert würden...
... wobei dann natürlich immer die Frage bleibt, was versprechen sich die Investoren.
Und schon sind wir wieder im Dilemma...
@nick@norden.social · Reply to CJ Shearwood :pmgpurple:'s post
@WetHat@fosstodon.org
Key Points:
➡️ BotKit enables the creation of standalone ActivityPub bots, free from platform constraints.
➡️ It is user-friendly and written in TypeScript, ensuring type safety.
➡️ BotKit is easy to deploy with minimal dependencies on various virtual servers.
➡️ Powered by #Fedify, a robust #ActivityPub framework.
#ActivityPub #BotKit #Fediverse #TypeScript #Deno #OpenSource #Programming
@galaxy_map@mastodon.social
Interesting claims about ActivityPub over on Bluesky - any response?
@nick@norden.social · Reply to Gali's post
Du kannst doch via #ActivityPub im #Fediverse unter eigener Domain eine Instanz für Dich betreiben.
Bei #ATproto geht das nicht.
@cybeardjm@masto.ai
J'ai mis du temps, mais je me suis (enfin !) remis à mon Guide d’utilisation de Mastodon en français...
Voici le 3ème chapitre de la 7ème partie : l'utilisation des Hashtags dans Mastodon, ainsi qu'une présentation de la fonctionnalité "groupes".
@nick@norden.social · Reply to heise online's post
Fragt man sich, was die Motivation ist, in das für diese Zwecke weniger geeignete #ATproto zu investieren und nicht z.B. in so etwas Etabliertes wie #ActivityPub.
@muiiio@mst.muiiio.com
Why AT Protocol and not #ActivityPub? I find it strange the #Fediverse isn't mentioned at all
https://www.usermag.co/p/freeourfeeds-a-30m-plan-to-take-back-social-media-from-billionaires
@muiiio@mst.muiiio.com
Why AT Protocol and not #ActivityPub? I find it strange the #Fediverse isn't mentioned at all
https://www.usermag.co/p/freeourfeeds-a-30m-plan-to-take-back-social-media-from-billionaires
@sl007@digitalcourage.social · Reply to Sebastian Lasse's post
Update:
Meanwhile covered in german lead media:
[DE] https://www.heise.de/news/Beispiellos-gewachsen-Facebook-sperrt-Links-zu-Instagram-Alternative-Pixelfed-10237505.html
I will propose a meeting to the Policy SIG.
Esteemed #Fediverse
we will inform the EU Commission about #Facebook censoring links to #pixelfed.
When Musk did the same with mastodon links, we provided the EU with a huge example set, so if you are on Facebook/Instagram or any and links to fedi endpoints are censored, please provide us with a screenshot, link address and the reason as screenshot.
@sl007@digitalcourage.social · Reply to Sebastian Lasse's post
Update:
Meanwhile covered in german lead media:
[DE] https://www.heise.de/news/Beispiellos-gewachsen-Facebook-sperrt-Links-zu-Instagram-Alternative-Pixelfed-10237505.html
I will propose a meeting to the Policy SIG.
Esteemed #Fediverse
we will inform the EU Commission about #Facebook censoring links to #pixelfed.
When Musk did the same with mastodon links, we provided the EU with a huge example set, so if you are on Facebook/Instagram or any and links to fedi endpoints are censored, please provide us with a screenshot, link address and the reason as screenshot.
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
This screen mock-up only shows text-labels.
Other types of labels can exist — image labels of different types, virtual object labels, space-time labels, etc.
And labels can have different use-case (in addition to human-readable text) — more on that later.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
For discussion on some of the technical / programming side of Fediverse Labelers, see:
https://mastodon.social/@reiver/113822893896346873
.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social
1/
More on Fediverse Labelers —
Here is how text-labels from multiple Fediverse Labelers could appear in an application on a person's profile.
...
In this example, the application pulled in 7 labels from 4 different Fediverse Labelers.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #FediverseLabelers #FediverseLabels #JSONLD #OpenWeb #OpenSocial #SocialWeb
@aoetk@fedibird.com
これは面白い動きだな、Blueskyとは別にAT Protoベースのサービスを運営する本格的なやつが出てきそうだ(個人レベルとかでやっている人はいる)。リレーは独自に運営すると言っているな。AppViewはどうするんだろう?今のbsky.socialのPDSにも接続するのかな?
そしてActivityPubとの接続についても先日発足したSocial Web Foundationと協力してサポートしていくと言っているな。
/「億万長者からSNSを救おう」──Free Our Feeds発足 - ITmedia NEWS
https://www.itmedia.co.jp/news/articles/2501/14/news102.html
@Linux_Is_Best@misskey.de
On while the topic of Sharkey, for a development that has nothing to hide, they're doing a lot to hide sh-t.
1st, they recently changed account in the past 24 hours. I suspect because people kept finding post and references they hadn't yet deleted (I still have some links, read on)
Old Account: https://shonk.social/@Sharkey
New Account: https://eepy.moe/@sharkey@sharkey.team
This is the post showing the server they finally got https://shonk.social/notes/9qsw4nie0j3b00aj
They seem to have removed the post thanking everyone and detailing how many people contributed. They have also removed the post asking for more money, so they could form an LLC (not a non-profit, but a business). And they removed the post, where they attempt to troll me in public.
They may be deleting some things via the database, because a few of their old post, remove details and replace it with "nulled" (see screen). I'm guessing someone performed a SQL search and replace.
But I did something no one expected. I made every post I ever made from May 30, 2023, through December 21, 2024, publically downloadable into the public domain, including my interactions with Sharkey. https://kitty.social/notes/a21e0nsgbe9z2mj8
#Sharkey #Shareky #Fedi #Fediverse #ActivityPub #Misskey
@bloodaxe@fosstodon.org · Reply to Eugen Rochko's post
@Gargron I am truly grateful for all the work you've done to increase the usage of the #ActivityPub protocol.
There is no arguing that without your leadership and your dedication, we would not be where we are today. As a society, I believe it is paramount that we take control of the #PublicSquare back to the people in a #Decentralized manner, and #Mastodon has been a MASSIVE push in that direction.
Thank you Eugen, I'm glad you exist and I appreciate your work 😃
@BeAware@social.beaware.live
Assholes in this world have made me very cynical.
I feel that every time I login to Fedi these days, there's yet another scheme to get people to dump money into a project for "the growth of the Fediverse" yet we have yet to see any results and the things they're doing seem shady as fuck to me. Yet people keep parading around like it's the best thing ever.
SWF forms and is funded by major companies like Meta and Auttomatic. Not sure how that could be a good thing. That means SWF will be financially influenced by these companies and there's nothing anybody can do to change that.
Now, Mastodon is being given to a new non-profit. They say this is to "give the power back to the people" but obviously giving ownership to a non-profit doesn't do that...it gives ownership to the non-profit and allows them to hide your donations via shady legalities to enrich themselves.
Money hungry fucks ruin everything. Change my mind.
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
4/
Note that even in this example, that there are different types of labels!
I have some examples of text labels.
But I also have some examples of Icon labels.
(Other types of labels could exist, too.)
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #JSONLD #OpenWeb #OpenSocial #SocialWeb
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
The "describes" field would point to the thing being labelled.
The "attributedTo" field would point to the person or machine that create these label.
And the "attachment" field would be a list of labels.
The (top level) "icon" field would be an icon that would be shown next to the label in the user-interface (UI).
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #JSONLD #OpenWeb #OpenSocial #SocialWeb
@thisismissem@hachyderm.io
With any luck, we now have weekly activity reports from Github to the public-swicg mailing list, as to keep everyone in the loop on the activity on ActivityPub and ActivityStreams:
https://lists.w3.org/Archives/Public/public-swicg/2025Jan/0006.html
There's some sort of delay happening with the test runs of this email, but hopefully they'll show up soon. This should help increase visibility into what's happening.
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
A Fediverse Labeler would output a separate ActivityStreams "Profile" Object for each thing it wants to label.
Each of these should be at a separate URL.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #JSONLD #OpenWeb #OpenSocial #SocialWeb
@thisismissem@hachyderm.io
With any luck, we now have weekly activity reports from Github to the public-swicg mailing list, as to keep everyone in the loop on the activity on ActivityPub and ActivityStreams:
https://lists.w3.org/Archives/Public/public-swicg/2025Jan/0006.html
There's some sort of delay happening with the test runs of this email, but hopefully they'll show up soon. This should help increase visibility into what's happening.
@thisismissem@hachyderm.io
With any luck, we now have weekly activity reports from Github to the public-swicg mailing list, as to keep everyone in the loop on the activity on ActivityPub and ActivityStreams:
https://lists.w3.org/Archives/Public/public-swicg/2025Jan/0006.html
There's some sort of delay happening with the test runs of this email, but hopefully they'll show up soon. This should help increase visibility into what's happening.
@reiver@mastodon.social
1/
This is how a Fediverse Labeler could work.
In particular, This is how a Fediverse Labeler could be represented as ActivityPub / ActivityStreams / JSON-LD data.
#ActivityPub #ActivityStreams #ActivityPubProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #JSONLD #OpenWeb #OpenSocial #SocialWeb
@everton137@vivaldi.net
Save Social Media From Billionaire Capture: freeourfeeds.com?
"But it will take independent funding and governance to turn Bluesky’s underlying tech—the AT Protocol—into something more powerful than a single app."
I see the executive director and president of Mozilla Foundation as their technical advisors, no surprise. But it surprises me to have the executive director of the Social Web Foundation (@swf) there.
Any thoughts, @evan ?
It also surprised me to see Jimmy Wales, Founder of Wikipedia, involved.
#ActivityPub #ATProtocol #BlueSky #SocialWebFoundation #Mozilla #Wikipedia #VentureCapital #SocialMedia
@Linux_Is_Awesome@mastodon.social · Reply to Mastodon's post
@Mastodon You should also consider changing hosting providers, outside the United States.
@cybeardjm@masto.ai
J'ai mis du temps, mais je me suis (enfin !) remis à mon Guide d’utilisation de Mastodon en français...
Voici le 3ème chapitre de la 7ème partie : l'utilisation des Hashtags dans Mastodon, ainsi qu'une présentation de la fonctionnalité "groupes".
@eloquence@social.coop
The https://freeourfeeds.com/ FAQ is missing one question that's actually being asked frequently: How does this approach relate to existing nonprofit, open source, standards-based efforts centered around #ActivityPub?
@elipariser @wearenew_public Can you fix that? It's a bit tone-deaf to promote this effort here without speaking to how it intersects.
@pospi@kolektiva.social · Reply to just small circles 🕊's post
@smallcircles @laprice if you wanna check out some (#ActivityPub based) enabling software to do these sorts of things, I'd definitely recommend @bonfire https://bonfirenetworks.org/
@chrastecky@phpc.social
I created an #ActivityPub library for #PHP which uses modern PHP 8.4 features. Each input is fully validated and fully typed, there's support for Signature header validating / generating and some other sweet stuff.
Note that it's currently in alpha, mainly because it's not tested yet and there are most likely many bugs, but tests are coming soon(ish).
Random fact: 3 bug reports for #PhpStorm were created in the process of creating the package.
@jaforbes@mastodon.social
"We're at the beginning of a significant shift in the history of the internet in more ways than one, and we're feeling both optimistic and excited for the future. After two decades of restrictive networks and centralized platforms, there are a lot of very motivated people focused on one thing:
Bringing back the open web."
@jaforbes@mastodon.social
"We're at the beginning of a significant shift in the history of the internet in more ways than one, and we're feeling both optimistic and excited for the future. After two decades of restrictive networks and centralized platforms, there are a lot of very motivated people focused on one thing:
Bringing back the open web."
@chrastecky@phpc.social
I created an #ActivityPub library for #PHP which uses modern PHP 8.4 features. Each input is fully validated and fully typed, there's support for Signature header validating / generating and some other sweet stuff.
Note that it's currently in alpha, mainly because it's not tested yet and there are most likely many bugs, but tests are coming soon(ish).
Random fact: 3 bug reports for #PhpStorm were created in the process of creating the package.
@reiver@mastodon.social
Is any Fediverse (or other) software using or returning an ActivityStreams 'Profile'?
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-profile
#ActivityPub #ActivityStreams #ActivityStreamsProfile #DeSo #FediDev #FediDevs #Fediverse #FediverseLabeler #JSONLD #OpenWeb #SocialWeb
@mariusor@metalhead.club · Reply to marius's post
It's a painful realization that I come to that no matter how much effort I put into making my #ActivityPub server be fast it's still going to suck if in order to build a meaningful page for a user the client needs to do many requests.
So the #brutalinks link aggregator now makes use of asynchronous collection fetching and then content rendering is being done from local storage.
This decreased the loading times to probably less than half of what they were before.
However I still need to find a good model for aggregating and balancing all the sequential loads with an eventual asynchronous sequential sending of activities.
@johl@mastodon.xyz
Here's an idea:
Combining
• the JSON-LD schema for recipes https://www.schema.org/Recipe
• with #ActivityPub https://www.w3.org/TR/activitypub/
• and #Wikidata entities https://www.wikidata.org/wiki/Wikidata:Data_access#Linked_Data_Interface_(URI)
would give you a Multilingual Cookbook on the Social Web with delicious Linked Data.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@tasket@infosec.exchange
Why are #ActivityPub developers so evasive on the topic of protocol handlers (prefixes)?
@Linux_Is_Best@misskey.de
What is CherryPick?
CherryPick is a fork of Misskey, but with more features than Sharkey, and without all the drama (not developed by scammers and trolls).
https://fedidb.org/software/cherrypick
#Fedi #Fediverse #Misskey #CherryPick #Sharkey #Mastodon #ActivityPub
@Linux_Is_Best@misskey.de
What is CherryPick?
CherryPick is a fork of Misskey, but with more features than Sharkey, and without all the drama (not developed by scammers and trolls).
https://fedidb.org/software/cherrypick
#Fedi #Fediverse #Misskey #CherryPick #Sharkey #Mastodon #ActivityPub
@naturzukunft@mastodon.social · Reply to naturzukunft's post
you will recognize me by my t-shirt, if it is ready in time
😂
@naturzukunft@mastodon.social · Reply to naturzukunft's post
who from the #activitypub community will be at #FOSDEM ?
#activitypubdev
@naturzukunft@mastodon.social · Reply to MaineC's post
@mainec i'll be there my first time. i think i'm most in the #activitypub #fediverse area. but we will see
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.6
- Akkoma v2025.01
- PeerTube v7.0.1
- Manyfold v0.92.0
- snac v2.68
- Castopod v1.13.3
- Ktistec v2.4.4
- tootik v0.14.1
- Untitled Gaming Social: ActivityPub platform that bridges game screenshots and achievements to the fediverse
- “Event Bridge For ActivityPub” plugin released on WordPress.org
Clients
- Mastodon for Android v2.9.4
- Mastodon for iOS v2024.12
- Dhaaga v0.12.0
- PeerTube Mobile v0.5.5
- Tesseract v1.4.28
- RaccoonForFriendica v0.4.0
Tools and Plugins
- Fedinesia v3.3.2
- poduptime v5.4.2
For developers
- BotKit: A framework for creating ActivityPub bots
Articles
- Fediverse tech roadmap 2025
- Last Week in Fediverse – ep 98
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01942e1c-9727-6a7b-ff14-2a50884355ec
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.6
- Akkoma v2025.01
- PeerTube v7.0.1
- Manyfold v0.92.0
- snac v2.68
- Castopod v1.13.3
- Ktistec v2.4.4
- tootik v0.14.1
- Untitled Gaming Social: ActivityPub platform that bridges game screenshots and achievements to the fediverse
- “Event Bridge For ActivityPub” plugin released on WordPress.org
Clients
- Mastodon for Android v2.9.4
- Mastodon for iOS v2024.12
- Dhaaga v0.12.0
- PeerTube Mobile v0.5.5
- Tesseract v1.4.28
- RaccoonForFriendica v0.4.0
Tools and Plugins
- Fedinesia v3.3.2
- poduptime v5.4.2
For developers
- BotKit: A framework for creating ActivityPub bots
Articles
- Fediverse tech roadmap 2025
- Last Week in Fediverse – ep 98
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01942e1c-9727-6a7b-ff14-2a50884355ec
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.6
- Akkoma v2025.01
- PeerTube v7.0.1
- Manyfold v0.92.0
- snac v2.68
- Castopod v1.13.3
- Ktistec v2.4.4
- tootik v0.14.1
- Untitled Gaming Social: ActivityPub platform that bridges game screenshots and achievements to the fediverse
- “Event Bridge For ActivityPub” plugin released on WordPress.org
Clients
- Mastodon for Android v2.9.4
- Mastodon for iOS v2024.12
- Dhaaga v0.12.0
- PeerTube Mobile v0.5.5
- Tesseract v1.4.28
- RaccoonForFriendica v0.4.0
Tools and Plugins
- Fedinesia v3.3.2
- poduptime v5.4.2
For developers
- BotKit: A framework for creating ActivityPub bots
Articles
- Fediverse tech roadmap 2025
- Last Week in Fediverse – ep 98
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01942e1c-9727-6a7b-ff14-2a50884355ec
@rwg@aoir.social
Latest FOSS Academic!
https://fossacademic.tech/2025/01/10/moreThreadsBskyAP.html
In which I talk about my new monitoring of Threads's fediverse blocklist, the @cwebber and Bryan Newbold debate, and the trust and safety work of @thisismissem
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.6
- Akkoma v2025.01
- PeerTube v7.0.1
- Manyfold v0.92.0
- snac v2.68
- Castopod v1.13.3
- Ktistec v2.4.4
- tootik v0.14.1
- Untitled Gaming Social: ActivityPub platform that bridges game screenshots and achievements to the fediverse
- “Event Bridge For ActivityPub” plugin released on WordPress.org
Clients
- Mastodon for Android v2.9.4
- Mastodon for iOS v2024.12
- Dhaaga v0.12.0
- PeerTube Mobile v0.5.5
- Tesseract v1.4.28
- RaccoonForFriendica v0.4.0
Tools and Plugins
- Fedinesia v3.3.2
- poduptime v5.4.2
For developers
- BotKit: A framework for creating ActivityPub bots
Articles
- Fediverse tech roadmap 2025
- Last Week in Fediverse – ep 98
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01942e1c-9727-6a7b-ff14-2a50884355ec
@rwg@aoir.social
Latest FOSS Academic!
https://fossacademic.tech/2025/01/10/moreThreadsBskyAP.html
In which I talk about my new monitoring of Threads's fediverse blocklist, the @cwebber and Bryan Newbold debate, and the trust and safety work of @thisismissem
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@jon@henshaw.social
With @bsky.brid.gy, @Flipboard, and @threads posts along with all of the other posts from @Mastodon and the other platforms that support #ActivityPub, I’m having zero issues keeping up with It’s nice to finally have my social media world (de)centralized and 100% in my control and using my own domain.
@jon@henshaw.social
With @bsky.brid.gy, @Flipboard, and @threads posts along with all of the other posts from @Mastodon and the other platforms that support #ActivityPub, I’m having zero issues keeping up with It’s nice to finally have my social media world (de)centralized and 100% in my control and using my own domain.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@naturzukunft@mastodon.social
Is there anybody out there, who is able/wants to discuss about reading Collections via C2S api ?
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@trwnh@mastodon.social
#activitypub thonk: delivering to a Collection is nonsensical because a Collection could be an actor. but so can a Group
basically you have implicit behavior "the Collection needs to be expanded to its items which are assumed to all be actors" just like a Group might expand to all its members (except the assumption there is a bit stronger, you can generally expect a Group's members to all be individuals?)
whereas something like WAC makes a distinction between agent, agentGroup, agentClass
@lps@mograph.social
If you prefer a more #instagram presentation when following #photography or #art accounts, it's easy!
Create a #pixelfed account like you did for #mastodon https://pixelfed.org/servers
Then, if you find an artist that you want to follow from there, due to the nicer layout for that type of content, just copy and paste their account
ex. @nicetriangle into the search bar and voila ... you're following from there (where you can also comment)
@sl007@digitalcourage.social
Todays #ActivityPub #geosocial TaskForce meeting was fun, here are some preliminary notes:
https://hedgedoc.socialweb.coop/s/D7yKLjJQs#
et.al
please attend the upcoming events https://www.w3.org/groups/cg/socialcg/calendar/
@sl007@digitalcourage.social
Hello @herebox
thanks for your note re. https://github.com/w3c/activitystreams/issues/582#issuecomment-2557475815
Attending todays Geosocial Taskforce Meeting :)
@grishka@mastodon.social
Added type filters to the feed in #Smithereen.
@Shinra@imaginair.es
est-ce que l'un·e d'entre-vous a ouvert une instance chez masto.host ?
si ça ne vous gêne pas, je suis preneur d'une info : quel est son coût mensuel, et avec quels critères / usages ?
n'hésitez pas à passer en md
@Shinra@imaginair.es
est-ce que l'un·e d'entre-vous a ouvert une instance chez masto.host ?
si ça ne vous gêne pas, je suis preneur d'une info : quel est son coût mensuel, et avec quels critères / usages ?
n'hésitez pas à passer en md
@erlend@writing.exchange
We would like to run an #activitypub instance as part of the #weirdone platform, same as the excellent #omglol by @prami
This instance will be operated as a paid extension of Weird, costing $10/yr ($20/yr after beta).
All member subscriptions will go entirely to the AP instance hosters, which should be a team of at least 2-3 sysadmins & moderators tending to the instance part-time. This is expected to be a fairly low-volume instance since all members are paid (to begin with).
@Flipboard@flipboard.social · Reply to Flipboard's post
Check out all episodes of DotSocial here, which include conversations with open social web leaders like @johnonolan, @jay.bsky.team, @kissane and more.
https://flipboard.video/c/dot_social/videos?s=1
#Flipboard #Federation #Fediverse #ActivityPub #DotSocial #SocialWeb #OpenSocialWeb
@box464@mastodon.social
The good thing with federation is that I as an individual can make decisions about who I federate with - be it an individual or an entire instance. There's even some middle ground to customize your choice (silence vs block).
And now, the "federated islands" concept is kicking up, which is really cool. We have many choices - the decision is not mandated for us.
https://writer.oliphant.social/oliphant/islands-an-opt-in-federated-network
@box464@mastodon.social
The good thing with federation is that I as an individual can make decisions about who I federate with - be it an individual or an entire instance. There's even some middle ground to customize your choice (silence vs block).
And now, the "federated islands" concept is kicking up, which is really cool. We have many choices - the decision is not mandated for us.
https://writer.oliphant.social/oliphant/islands-an-opt-in-federated-network
@box464@mastodon.social
The good thing with federation is that I as an individual can make decisions about who I federate with - be it an individual or an entire instance. There's even some middle ground to customize your choice (silence vs block).
And now, the "federated islands" concept is kicking up, which is really cool. We have many choices - the decision is not mandated for us.
https://writer.oliphant.social/oliphant/islands-an-opt-in-federated-network
@andrewhinton@jawns.club
Ok #ActivityPub people … is there a decentralized community-server sort of tool with IRC-like functionality like Slack or Discord?
@mariusor@metalhead.club
After what seems like a thousand years I have started replacing some synchronous client to server #ActivityPub fetch requests with loading the same information from an indexed cache in my link aggregator.
I think I've started the work on inbox/outbox async fetch and indexing around 3-4 months ago, and only now I am able to make proper use of it.
I guess I should have used a real RDBMS instead of reinventing the wheel on every turn. :D
@mariusor@metalhead.club
After what seems like a thousand years I have started replacing some synchronous client to server #ActivityPub fetch requests with loading the same information from an indexed cache in my link aggregator.
I think I've started the work on inbox/outbox async fetch and indexing around 3-4 months ago, and only now I am able to make proper use of it.
I guess I should have used a real RDBMS instead of reinventing the wheel on every turn. :D
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@linos@graz.social
Do not try setting up an #ActivityPub server using a #wildcard SSL/TLS certificate.
@grishka@mastodon.social
#Smithereen updates:
- Profile pictures are now photos. There's a new flow for updating your profile picture. After you're done selecting thumbnails, it gets saved into a special album and a "{user} updated their profile picture" post is created.
- Photo tags are finished and federate between Smithereen servers. You can tag just names, but if you pick another user, they have to approve the tag.
- You can rotate photos after upload. Including profile pictures!
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@meneer@social.iamforum.space
My #fediverse server is running the #Sharkey software platform, a fork of #Misskey, to post messages via the #activitypub protocol. You can see my post, even though you may use another platform to participate in the fediverse, like #Mastodon or #Pleroma. So, without using the same platform, we can share messages because we use the same protocol. We have to move from platform-based networking to protocol-based networking. Get rid of the lock-ins, be self-sovereign!
@julian@fietkau.social
The last "big" code thing I need to get done before the alpha test of my current @fedify project is the task queue - make sure routine data updates happen, consider individual importance and urgency, respect external API rate limits, etc.
But that's super intimidating so I'm currently procrastinating by making it a cute lil home page instead. 🙃
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@cv_k@misskey.dev
Mastodon,Misskey,Pleroma みたいな主要ActivtyPub対応ソフトウェアでもうまく連合できなかったりするのブラウザと同じようなものでChrome,Firefox,Safariが皆同じ動作及び表示にはなかなかならないようなものなのでは?と思う。それぞれに思想の違いはある訳だし。。 #ActivityPub
@cv_k@misskey.dev
Mastodon,Misskey,Pleroma みたいな主要ActivtyPub対応ソフトウェアでもうまく連合できなかったりするのブラウザと同じようなものでChrome,Firefox,Safariが皆同じ動作及び表示にはなかなかならないようなものなのでは?と思う。それぞれに思想の違いはある訳だし。。 #ActivityPub
@cv_k@misskey.dev
Mastodon,Misskey,Pleroma みたいな主要ActivtyPub対応ソフトウェアでもうまく連合できなかったりするのブラウザと同じようなものでChrome,Firefox,Safariが皆同じ動作及び表示にはなかなかならないようなものなのでは?と思う。それぞれに思想の違いはある訳だし。。 #ActivityPub
@tom@tomkahe.com
Wrote a blog post about a small ActivityPub project I'm working on that bridges my Steam screenshots to the social web
@julian@fietkau.social
The last "big" code thing I need to get done before the alpha test of my current @fedify project is the task queue - make sure routine data updates happen, consider individual importance and urgency, respect external API rate limits, etc.
But that's super intimidating so I'm currently procrastinating by making it a cute lil home page instead. 🙃
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@julian@fietkau.social
The last "big" code thing I need to get done before the alpha test of my current @fedify project is the task queue - make sure routine data updates happen, consider individual importance and urgency, respect external API rate limits, etc.
But that's super intimidating so I'm currently procrastinating by making it a cute lil home page instead. 🙃
@julian@fietkau.social
The last "big" code thing I need to get done before the alpha test of my current @fedify project is the task queue - make sure routine data updates happen, consider individual importance and urgency, respect external API rate limits, etc.
But that's super intimidating so I'm currently procrastinating by making it a cute lil home page instead. 🙃
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@vocalcat@mastodon.social
We really enjoyed the discussions from @404mediaco and @mike
There is a bright future for the web.
#fediverse #mastodon #activitypub
https://open.spotify.com/episode/1q2SNDvphz8vGOwaapqR6x?si=gguO_leqRsC32LpA6gVj2A
@vocalcat@mastodon.social
We really enjoyed the discussions from @404mediaco and @mike
There is a bright future for the web.
#fediverse #mastodon #activitypub
https://open.spotify.com/episode/1q2SNDvphz8vGOwaapqR6x?si=gguO_leqRsC32LpA6gVj2A
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@silverpill@mitra.social
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key
. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
@grishka@mastodon.social
Added type filters to the feed in #Smithereen.
@julian@fietkau.social
The last "big" code thing I need to get done before the alpha test of my current @fedify project is the task queue - make sure routine data updates happen, consider individual importance and urgency, respect external API rate limits, etc.
But that's super intimidating so I'm currently procrastinating by making it a cute lil home page instead. 🙃
@grishka@mastodon.social
Added type filters to the feed in #Smithereen.
@WetHat@fosstodon.org
Flipboard is embracing the Fediverse to become a "Fediverse browser." This shift aims to provide users with more content and creators with greater independence from major social media platforms. By integrating ActivityPub, Flipboard intends to enhance content discovery and curation, offering a more open and equitable social media experience.
https://thelettertwo.com/2024/12/15/behind-flipboard-fediverse-embrace-mike-mccue-interview/
#Flipboard #Fediverse #ActivityPub #SocialMedia #SocialNetworking
@nogajun@mastodon.social · Reply to nogajun🍉's post
#activitypub の動作確認は難しそう
動作確認 - ActivityPubまとめwiki: https://scrapbox.io/activitypub/%E5%8B%95%E4%BD%9C%E7%A2%BA%E8%AA%8D
@nogajun@mastodon.social
MastodonなどFediverseで見えるようにするための最低限の #activitypub 実装方法。わかりやすい。Pythonのrequestsとか使うとあっという間にできそう
おひとり様ActivityPubサーバーの自作実装::On Golden Pond: https://www.doncha.net/activitypub.html
@lo48576@mastodon.cardina1.red
ActivityPub サーバとクライアントの特殊化のミスマッチ - waf_thread
https://waf.nopth.ink/articles/0194335c-4be7-7f03-97be-e132bf56fdb2/
書いた
@lo48576@mastodon.cardina1.red
ActivityPub サーバとクライアントの特殊化のミスマッチ - waf_thread
https://waf.nopth.ink/articles/0194335c-4be7-7f03-97be-e132bf56fdb2/
書いた
@lo48576@mastodon.cardina1.red
ActivityPub サーバとクライアントの特殊化のミスマッチ - waf_thread
https://waf.nopth.ink/articles/0194335c-4be7-7f03-97be-e132bf56fdb2/
書いた
@drahardja@sfba.social
I’ve just stumbled into another annoyance in the #Fediverse architecture: thread continuity is broken when an item in the chain is broken.
Suppose there is this thread of posts/replies, made by three users, and I wrote the last reply (C).
A → B → C
Suppose I wanted to find post A. Sadly, I don’t remember what post A contained (or A’s post is not searchable), but I do remember what I wrote in response in C. I look for my reply and find it, but much to my dismay, the poster of B has deleted their post. So now I have:
A → ✵ → C
Since B is missing, I can no longer find A.
I was under the assumption that ActivityPub provides for a tombstone in place of B, which allows the reply chain to continue to be traversed, but I don’t think that’s the case—the tombstone contains no reference to A at all.
This is particularly annoying because the longer the thread, the more likely this is to happen. I wonder if anyone is already looking at this issue?
Edit: issue filed: https://github.com/mastodon/mastodon/issues/33456
@reiver@mastodon.social
I think using "live" URIs for JSON-LD contexts (that parsers are expected to download from) — are probably a bad idea.
Maybe even a security-hole.
#ActivityPub #ActivitStreams #DeSo #FediDevs #Fediverse #JSONLD
@reiver@mastodon.social
What is the motivation for encouraging LitePub implementors to "supply a locally hosted version of the LitePub JSON-LD Context"?
Is it just for people using full-out JSON-LD parsers?
Won't this create problems for people using parsers that do NOT go download and interpret context-URIs? And instead just hard-code the vocabulary in their code?
#ActivityPub #ActivityStreams #DeSo #FediDevs #Fediverse #JSONLD #LitePub
@WetHat@fosstodon.org
Flipboard is embracing the Fediverse to become a "Fediverse browser." This shift aims to provide users with more content and creators with greater independence from major social media platforms. By integrating ActivityPub, Flipboard intends to enhance content discovery and curation, offering a more open and equitable social media experience.
https://thelettertwo.com/2024/12/15/behind-flipboard-fediverse-embrace-mike-mccue-interview/
#Flipboard #Fediverse #ActivityPub #SocialMedia #SocialNetworking
@tom@tomkahe.com
Wrote a blog post about a small ActivityPub project I'm working on that bridges my Steam screenshots to the social web
@sl007@digitalcourage.social
#ActivityPub #Place
reminder :)
Geosocial Task Force Call
https://www.w3.org/events/meetings/ed630a3d-7581-4053-9978-75949ad42f2a/20250109T130000/
Meeting Jan 9th
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@tom@tomkahe.com
Wrote a blog post about a small ActivityPub project I'm working on that bridges my Steam screenshots to the social web
@tom@tomkahe.com
Wrote a blog post about a small ActivityPub project I'm working on that bridges my Steam screenshots to the social web
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@ayo@social.ayco.io
🎉 Tech Bsky ↔ Fedi
Celebrating bsky folks who bridged their accounts to the fediverse!
👉 https://ayo.ayco.io/tech-bsky-fedi
My handpicked tech Bsky accounts that are currently bridged to the Fedi.
#webdev #frontend #hobbyprojects #bsky #fediverse #activitypub #mastodon
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@weekinfediverse@mitra.social
Servers
- Hollo v0.4.0
- Mitra v3.13.0
- Ktistec v2.4.3
- Hubzilla v10.0.5
- Sharkey v2024.11.1
- Friendica v2024.12
- Epicyon v1.6.0
- Castopod v1.13.2
- Vidzy v0.2.0
- NeoDB v0.11.0
- Hatsu v0.3.2
- The first 12 plugins of Castopod
- PieFed development update Dec 2024
Clients
- SubwayTooter v5.547
- Pachli v2.9.1
- Tesseract v1.4.25
- Relatica v0.15.0
Tools and Plugins
For developers
Protocol
- Public Key Directory Server Specification v0.1
Articles
- Posty for Pixelfed: What Fresh Hell...
- The Future of Calendaring
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0194094b-415b-6213-1c3e-a28d90730723
@tom@tomkahe.com
Wrote a blog post about a small ActivityPub project I'm working on that bridges my Steam screenshots to the social web
@Linkshaender@bildung.social
Was für eine geniale Idee: der Wetterbericht und die Vorhersage für eure Stadt (oder andere) im Fediverse! https://de.fedimeteo.com — Ihr könnt einfach einer Stadt mit einem Fediverse-Client folgen und bekommt das Wetter in Eure Timeline. @stefano verdient ein dickes „Dankeschön“ IMHO.
#Fediverse #ActivityPub #Weather #FediMeteo
@tom@tomkahe.com
Wrote a blog post about a small ActivityPub project I'm working on that bridges my Steam screenshots to the social web
@mariusor@metalhead.club
Well, a #friendica instance is slamming some of my #activitypub servers. Does anyone have clue about what might be wrong?
Since ~3 days it keeps requesting the same URL over and over at a pretty high RPS.
@mariusor@metalhead.club
Well, a #friendica instance is slamming some of my #activitypub servers. Does anyone have clue about what might be wrong?
Since ~3 days it keeps requesting the same URL over and over at a pretty high RPS.
@elena@aseachange.com
Good morning Fedi friends!
This is day 3 of posting from my self-hosted instance, powered by the amazing #GoToSocial (a fast, lightweight #ActivityPub social server written in #Golang). More info here:
🔗: https://docs.gotosocial.org/en/latest/
The number 1 thing that attracted me to GtS is its granular reply controls.
For example, this is an unlisted post and I selected in settings that only people I follow and my followers can reply to the post. Ditto for boosting it. (FYI on the other hand, I selected that anyone can reply to my public posts).
The dropdown menu for replies to unlisted posts gives you the options of:
- anyone [can reply]
- anyone (approval required)
- just me
- something else (the granular controls I mentioned before)
Isn't this amazing?
For the purposes of this test, if you follow my account or I follow you, can you try to reply?
Thanks!
Wishing you all a lovely day
@grishka@mastodon.social
#Smithereen updates:
- Profile pictures are now photos. There's a new flow for updating your profile picture. After you're done selecting thumbnails, it gets saved into a special album and a "{user} updated their profile picture" post is created.
- Photo tags are finished and federate between Smithereen servers. You can tag just names, but if you pick another user, they have to approve the tag.
- You can rotate photos after upload. Including profile pictures!
@grishka@mastodon.social
#Smithereen updates:
- Profile pictures are now photos. There's a new flow for updating your profile picture. After you're done selecting thumbnails, it gets saved into a special album and a "{user} updated their profile picture" post is created.
- Photo tags are finished and federate between Smithereen servers. You can tag just names, but if you pick another user, they have to approve the tag.
- You can rotate photos after upload. Including profile pictures!
@grishka@mastodon.social
#Smithereen updates:
- Profile pictures are now photos. There's a new flow for updating your profile picture. After you're done selecting thumbnails, it gets saved into a special album and a "{user} updated their profile picture" post is created.
- Photo tags are finished and federate between Smithereen servers. You can tag just names, but if you pick another user, they have to approve the tag.
- You can rotate photos after upload. Including profile pictures!
@elena@aseachange.com
Hello #Fediverse and Happy New Year!
I'd like to mark the start of 2025 with the first message from my self-hosted instance. You may already know me as @_elena@mastodon.social. Well, now I also run my own #ActivityPub microblogging server, thanks to the magic of #YunoHost and #GoToSocial (and #Phanpy, which I'm using to compose this).
I registered this domain – aseachange.com – a looooong time ago but never did anything with it. It was the very first domain name I ever bought, even before securing elenarossini.com (!!!). It was so long ago, but I remember I was inspired by Beck's album Sea Change. seachange[dot]com was taken, so I grabbed Aseachange.
I absolutely love its meaning of profound transformation and I think it's PERFECT for my self-hosted #Fediverse instance and what it represents: independence, empowerment and digital sovereignty.
Ever since setting it up, I've been feeling joyful and hopeful. Everytime I look at myself in the mirror, I think: I'm in control of my own social media platform. And it feels SOOO GOOD.
What do I have in store for 2025? I plan to use this account to post messages about #selfhosting, learning #Linux, privacy and digital sovereignty.
I will also keep posting from my Mastodon account because you don't give a Lamborghini to someone who just passed their driver's license. I barely know what I'm doing here, so I feel a lot safer (for now) keeping my mastodon.social account as well... In case anything goes wrong here. Better safe than sorry!
So, this is my #Introduction and if you've read as far as here I just want to thank the Fediverse for being so amazing and allowing me to connect with people on my own terms. And thank you Fedi people for being so generous and supportive with your superb advice and kind words.
This is a really magical, special place.
Happy New Year, everyone!
@box464@mastodon.social
NLNet announces newly funded projects, including quite a few related to ActivityPub.
@node9 automated deployments for streams and hubzilla
@raffomania for the linkblocks federated link sharing platform
@manyfold - federated 3d model sharing
@mobilizon for their federated event sharing platform
@activitypods is a storage solution for federated data
@spritely and their Oaken project (fedi adjacent and happy for them)
https://nlnet.nl/news/2025/20250101-announcing-grantees-June-call.html
@Blort@social.tchncs.de · Reply to Blort™ 🐀Ⓥ🥋☣️'s post
4. Spritely Oaken
The @spritely Institute, headed up by @cwebber (OG #ActivityPub / #Fediverse cofounder) is working on making the next generation of FOSS, decentralized internet (beyond the web). Oaken is a vision to help make running untrusted code on this new frontier safe, opening up far more possibilities. It doesn't exist yet... but now there's funding to build it!
https://spritelyproject.org/#oaken
🧵 3/6
@box464@mastodon.social
NLNet announces newly funded projects, including quite a few related to ActivityPub.
@node9 automated deployments for streams and hubzilla
@raffomania for the linkblocks federated link sharing platform
@manyfold - federated 3d model sharing
@mobilizon for their federated event sharing platform
@activitypods is a storage solution for federated data
@spritely and their Oaken project (fedi adjacent and happy for them)
https://nlnet.nl/news/2025/20250101-announcing-grantees-June-call.html
@Flipboard@flipboard.social
For us, 2024 was a year of building on the social web.
✔️ Expanded federation in the U.S., Brazil, Canada, Germany, and the U.K.
✔️ Enabled following accounts from the social web in the Flipboard app.
✔️ Announced @surf, a new browser for the social web.
✔️ Produced new episodes of Dot Social, the fediverse podcast hosted by @mike
Thanks for being on this journey with us! 🚀
Did you do cool stuff in the fediverse this year? Tell us all about it in the comments, where we'll also link to the Dot Social PeerTube account and our Surf signup page.
#Flipboard #Federation #Fediverse #Surf #ActivityPub #DotSocial #SocialWeb #OpenSocialWeb
@box464@mastodon.social
NLNet announces newly funded projects, including quite a few related to ActivityPub.
@node9 automated deployments for streams and hubzilla
@raffomania for the linkblocks federated link sharing platform
@manyfold - federated 3d model sharing
@mobilizon for their federated event sharing platform
@activitypods is a storage solution for federated data
@spritely and their Oaken project (fedi adjacent and happy for them)
https://nlnet.nl/news/2025/20250101-announcing-grantees-June-call.html
@Flipboard@flipboard.social · Reply to Flipboard's post
Check out all episodes of DotSocial here, which include conversations with open social web leaders like @johnonolan, @jay.bsky.team, @kissane and more.
https://flipboard.video/c/dot_social/videos?s=1
#Flipboard #Federation #Fediverse #ActivityPub #DotSocial #SocialWeb #OpenSocialWeb
@Flipboard@flipboard.social
For us, 2024 was a year of building on the social web.
✔️ Expanded federation in the U.S., Brazil, Canada, Germany, and the U.K.
✔️ Enabled following accounts from the social web in the Flipboard app.
✔️ Announced @surf, a new browser for the social web.
✔️ Produced new episodes of Dot Social, the fediverse podcast hosted by @mike
Thanks for being on this journey with us! 🚀
Did you do cool stuff in the fediverse this year? Tell us all about it in the comments, where we'll also link to the Dot Social PeerTube account and our Surf signup page.
#Flipboard #Federation #Fediverse #Surf #ActivityPub #DotSocial #SocialWeb #OpenSocialWeb
@iftas@mastodon.iftas.org
Agency staff that wish to advocate for using the Open Social Web to take better control of social media messaging can use the following high level talking points to begin the conversation:
#ActivityPub is the accepted global Web standard for open social networking. It is published by the World Wide Web Consortium, the non-profit body that oversees Web standards.
🧵1/3
@sl007@digitalcourage.social
Hey @hongminhee
currently blasting random thoughts about #ActivityPub to fedi which are important at least to me at the first workday of the shiny Year of the Fediverse.
About
https://community.nodebb.org/topic/51fbaabb-7f67-4021-8fdf-06109242df69/null?_=1735825467776
Do you think this makes sense?
Perfectly yes !!!
It is exactly the way we use it in redaktor and I can invite you in github that you can see which relations we use.
Would it be appropriate to put Link objects in the attachment?
Well, it would be "appropriate" if they
"identify a resource attached or related to an object that potentially requires special handling." or are "at least semantically similar to attachments in email." -
it feels bad and the reason that [poor, non-conformant but] big solutions are not supporting "multiple values" feels essentially wrong. I am deeply sorry :)
🧵 1/x
@box464@mastodon.social
NLNet announces newly funded projects, including quite a few related to ActivityPub.
@node9 automated deployments for streams and hubzilla
@raffomania for the linkblocks federated link sharing platform
@manyfold - federated 3d model sharing
@mobilizon for their federated event sharing platform
@activitypods is a storage solution for federated data
@spritely and their Oaken project (fedi adjacent and happy for them)
https://nlnet.nl/news/2025/20250101-announcing-grantees-June-call.html
@box464@mastodon.social
NLNet announces newly funded projects, including quite a few related to ActivityPub.
@node9 automated deployments for streams and hubzilla
@raffomania for the linkblocks federated link sharing platform
@manyfold - federated 3d model sharing
@mobilizon for their federated event sharing platform
@activitypods is a storage solution for federated data
@spritely and their Oaken project (fedi adjacent and happy for them)
https://nlnet.nl/news/2025/20250101-announcing-grantees-June-call.html
@sl007@digitalcourage.social
recently I stumbled upon https://github.com/w3c/activitystreams/issues/616#issuecomment-2498990563 and (apart from this concrete issue) it make me think about how _new_ users to the protocol understand the use of multiple languages
The problem why the #ActivityPub #Specification has a deep learning curve:
In order to understand the use of multiple languages, you need to read at least 4 specifications.
Any user of the software can say: I speak language X in quality Y.
It might not be obvious to new users that it is the according
- HTTP "accept-language" header
like e.g. "de,en-US;q=0.7,en;q=0.3"
The default language is defined in the
- JSON-LD spec. as described in above issue
The primer to read about how to use it is in the
- AS Core specs.
https://www.w3.org/TR/activitystreams-core/#naturalLanguageValues
while the properties are described in the
- Vocabulary specs.
e.g. https://www.w3.org/TR/activitystreams-vocabulary/#dfn-name
While this is understandable and fine for me, it might be confusing to new or non-tech-implementors …
#i18n #language #specs #html #jsonld #as
/ @evan
@Blort@social.tchncs.de · Reply to Blort™ 🐀Ⓥ🥋☣️'s post
4. Spritely Oaken
The @spritely Institute, headed up by @cwebber (OG #ActivityPub / #Fediverse cofounder) is working on making the next generation of FOSS, decentralized internet (beyond the web). Oaken is a vision to help make running untrusted code on this new frontier safe, opening up far more possibilities. It doesn't exist yet... but now there's funding to build it!
https://spritelyproject.org/#oaken
🧵 3/6
@elena@aseachange.com
Hello #Fediverse and Happy New Year!
I'd like to mark the start of 2025 with the first message from my self-hosted instance. You may already know me as @_elena@mastodon.social. Well, now I also run my own #ActivityPub microblogging server, thanks to the magic of #YunoHost and #GoToSocial (and #Phanpy, which I'm using to compose this).
I registered this domain – aseachange.com – a looooong time ago but never did anything with it. It was the very first domain name I ever bought, even before securing elenarossini.com (!!!). It was so long ago, but I remember I was inspired by Beck's album Sea Change. seachange[dot]com was taken, so I grabbed Aseachange.
I absolutely love its meaning of profound transformation and I think it's PERFECT for my self-hosted #Fediverse instance and what it represents: independence, empowerment and digital sovereignty.
Ever since setting it up, I've been feeling joyful and hopeful. Everytime I look at myself in the mirror, I think: I'm in control of my own social media platform. And it feels SOOO GOOD.
What do I have in store for 2025? I plan to use this account to post messages about #selfhosting, learning #Linux, privacy and digital sovereignty.
I will also keep posting from my Mastodon account because you don't give a Lamborghini to someone who just passed their driver's license. I barely know what I'm doing here, so I feel a lot safer (for now) keeping my mastodon.social account as well... In case anything goes wrong here. Better safe than sorry!
So, this is my #Introduction and if you've read as far as here I just want to thank the Fediverse for being so amazing and allowing me to connect with people on my own terms. And thank you Fedi people for being so generous and supportive with your superb advice and kind words.
This is a really magical, special place.
Happy New Year, everyone!
@silverpill@mitra.social
In order to understand why FEP-fe34: Origin-based security model is true, we need to derive it from the first principles. Let's try.
#ActivityPub objects are JSON documents with a special id
property. This property is an URI indicating the location of a document, and we can authenticate a document by fetching its id
. If the document exists at the specified location, and has the same ID, we conclude that it is valid.
This has several important corollaries:
1. The server of origin is the only authority. Other servers must not be trusted.
2. ActivityPub is fundamentally a "pull" protocol, not "push".
3. The type of a document is not relevant for authentication. Actor documents are not special.
However, fetching documents is not always practical, and developers may want to push data to other nodes. How documents can be authenticated without making an HTTP request? Digital signatures.
The server publishes a JSON document containing a public key, and then starts signing other documents with a corresponding secret key.
Upon receiving a signed document (such as activity), we determine the ID of a public key document, retrieve the document and verify the signature. If the public key document has the same server of origin as the signed document, and the signature is valid, we conclude that the signed document is valid too, because a chain of trust has been established: received document -> public key document -> server.
The public key document doesn't change often, so now we can verify many signed documents without re-fetching the public key.
This also has important corollaries:
1. Once again, the type of a signed document is not relevant for authentication.
2. Public keys do not need to be attached to actor documents.
3. One key per server is enough.
Developers are constantly being told that ActivityPub is an actor-centric "push" protocol, and that each actor must have its own key. But those ideas are wrong and it is time to put them to rest.
@silverpill@mitra.social
In order to understand why FEP-fe34: Origin-based security model is true, we need to derive it from the first principles. Let's try.
#ActivityPub objects are JSON documents with a special id
property. This property is an URI indicating the location of a document, and we can authenticate a document by fetching its id
. If the document exists at the specified location, and has the same ID, we conclude that it is valid.
This has several important corollaries:
1. The server of origin is the only authority. Other servers must not be trusted.
2. ActivityPub is fundamentally a "pull" protocol, not "push".
3. The type of a document is not relevant for authentication. Actor documents are not special.
However, fetching documents is not always practical, and developers may want to push data to other nodes. How documents can be authenticated without making an HTTP request? Digital signatures.
The server publishes a JSON document containing a public key, and then starts signing other documents with a corresponding secret key.
Upon receiving a signed document (such as activity), we determine the ID of a public key document, retrieve the document and verify the signature. If the public key document has the same server of origin as the signed document, and the signature is valid, we conclude that the signed document is valid too, because a chain of trust has been established: received document -> public key document -> server.
The public key document doesn't change often, so now we can verify many signed documents without re-fetching the public key.
This also has important corollaries:
1. Once again, the type of a signed document is not relevant for authentication.
2. Public keys do not need to be attached to actor documents.
3. One key per server is enough.
Developers are constantly being told that ActivityPub is an actor-centric "push" protocol, and that each actor must have its own key. But those ideas are wrong and it is time to put them to rest.
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hollo@hollo.social
Did you know? #Hollo supports #Misskey/#Pleroma-style #quotes. You can quote another post by adding a link to it. If a post contains any link to an #ActivityPub object of Article
/Note
/Question
, Hollo quotes it in the post.
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hollo@hollo.social
Did you know? #Hollo supports #Misskey/#Pleroma-style #quotes. You can quote another post by adding a link to it. If a post contains any link to an #ActivityPub object of Article
/Note
/Question
, Hollo quotes it in the post.
@hollo@hollo.social
Did you know? #Hollo supports #Misskey/#Pleroma-style #quotes. You can quote another post by adding a link to it. If a post contains any link to an #ActivityPub object of Article
/Note
/Question
, Hollo quotes it in the post.
@hollo@hollo.social
Did you know? #Hollo supports #Misskey/#Pleroma-style #quotes. You can quote another post by adding a link to it. If a post contains any link to an #ActivityPub object of Article
/Note
/Question
, Hollo quotes it in the post.
@reiver@mastodon.social
I wish Mastodon handled ActivityStreams "type":"Video" as well as "type":"Note" with a Video attachment.
They could be rendered the same. But they (currently) aren't.
#ActivityPub #ActivityStreams #DeSo #FediDevs #Fediverse #Mastodon
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
I wrote a blog post to wrap up the year 2024: A year with the fediverse.
https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/index.en.html
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
I wrote a blog post to wrap up the year 2024: A year with the fediverse.
https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/index.en.html
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@moira@mastodon.murkworks.net
I rather like the recent addition of likes/reposts on Federated wordpress blogs.
Before this add, you couldn't directly see how many likes/reblogs you had in the web interface. You had to dig. Now you don't, and it's quite nice.
@moira@mastodon.murkworks.net
I rather like the recent addition of likes/reposts on Federated wordpress blogs.
Before this add, you couldn't directly see how many likes/reblogs you had in the web interface. You had to dig. Now you don't, and it's quite nice.
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hollo@hollo.social
Hollo 0.4.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Hollo is now powered by Node.js 23+ instead of Bun for more efficient memory usage.
Added an experimental feature flag TIMELINE_INBOXES
to store all posts visible to your timeline in the database, rather than filtering them in real-time as they are displayed. This is useful for relatively larger instances with many incoming posts, but as of now it may have several bugs. It is expected to be the default behavior in the future after it is stabilized.
Now you can import and export your data from the administration dashboard in CSV format: follows, lists, accounts you muted, accounts you blocked, and bookmarks.
You can now make your profile discoverable
.
The profile page now shows an account's cover image if it has one.
Many bug fixes.
For the details, see also the full changelog.
You can upgrade to Hollo 0.4.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.4.0
or simply latest
!
To manual installers:
Install Node.js 23 or higher.
Fetch the stable
branch and switch over to it.
Run pnpm install
.
Run pnpm run prod
to start the Hollo server.
@hollo@hollo.social
#Hollo is currently testing #Node.js instead of #Bun. (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.
The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!
Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290
!
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@hongminhee@hollo.social
I'm currently brainstorming a framework for creating fediverse bots called #BotKit, based on #Fedify. It's less flexible than Fedify, but the goal is to make it possible to create simple fediverse bots with much less code. What do you think?
@miscosicas@mastodon.social · Reply to BeAware :fediverse:'s post
@BeAware this is not about our posts, he is making clones of our accounts without explicit consent; which I understand is illegal in Europe ( and european servers).
He could just implement #ActivityPub and forget about the bridge, but here we are.
@moira@mastodon.murkworks.net
I rather like the recent addition of likes/reposts on Federated wordpress blogs.
Before this add, you couldn't directly see how many likes/reblogs you had in the web interface. You had to dig. Now you don't, and it's quite nice.
@BeAware@social.beaware.live
To people complaining about the Nostr bridge today, (the one that's been here for years now) you DO know that there's no way to tell what anyone is doing with your public posts, right?
There's even a RSS feed that cannot be turned off for EVERY Mastodon account that anyone can read and you'd never even know...
If you want privacy, post privately. If you're posting publicly, you have no expectation of privacy.
#Fedi #Fediverse #ActivityPub #Mastodon #Nostr #Mostr #SocialMedia
@spujb@spujb.masto.host
It's funny how some people can use #Meta, #x and all other manner of enshittified social media without a care in the world, but when you ask them about the #fediverse they suddenly know what servers are and that the biggest one has a big bad no good moderation problem tisk tisk.
#socialmedia #activitypub #mastodon #Facebook #twitter #enshittification
@spujb@spujb.masto.host
It's funny how some people can use #Meta, #x and all other manner of enshittified social media without a care in the world, but when you ask them about the #fediverse they suddenly know what servers are and that the biggest one has a big bad no good moderation problem tisk tisk.
#socialmedia #activitypub #mastodon #Facebook #twitter #enshittification
@box464@mastodon.social
If you're curious how ActivityPub works exactly (like me) this site does a great job of show and tell.
On the surface it looks like any other Mastodon instance, but on closer inspection, provides you insight into the ActivityPub back and forth going on behind the scenes!
Check out the great work by @crepels
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@janboddez@indieweb.social
The little “ActivityPub conversation,” including a nested reply or two, that I had with myself earlier, 🤓 made it back to my blog okay. https://jan.boddez.net/notes/47deb8af37
And to mastodon.social. https://mastodon.social/@jan@jan.boddez.net/113726027375210450 And a couple other instances.
I used to use WordPress + the #ActivityPub plugin to do this exact sort of thing. Switched to a custom, #Laravel-based implementation a week or so ago. Most (actor, inbox, outbox, etc.) URLs changed in the process. Doesn’t seem to matter much.
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.0
- snac v2.67
- tootik v0.14.0
- activity-pub-relay v0.8.0
- Mastodon: Annual Report 2023
- μpub: micro social network, federated
Clients
- Tusky v27.0
- Tuba v0.9.1
- Pixelix v3.0.0
- Voyager v2.22.0
- Tesseract v1.4.21
Tools and Plugins
- FediAM v0.2
- Threativore v0.7.0
- Posty: This is How You Take Your Posts With You
For developers
Articles
- botsin.space postmortem
- How much does the fediverse cost?
- Building a Better Social Web
- Surf is a “Social Browser” App From Flipboard
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0193e565-a77c-3eb7-5957-9d3d3367f05d
@janboddez@indieweb.social
The little “ActivityPub conversation,” including a nested reply or two, that I had with myself earlier, 🤓 made it back to my blog okay. https://jan.boddez.net/notes/47deb8af37
And to mastodon.social. https://mastodon.social/@jan@jan.boddez.net/113726027375210450 And a couple other instances.
I used to use WordPress + the #ActivityPub plugin to do this exact sort of thing. Switched to a custom, #Laravel-based implementation a week or so ago. Most (actor, inbox, outbox, etc.) URLs changed in the process. Doesn’t seem to matter much.
@BeAware@social.beaware.live
Fedi Dev Tip:
Develop features that you say you would for some time instead of implementing crap nobody wants or asked for.
Any Fedi Dev that implements privacy ruining age verification crap will not succeed. I promise.
Do better.
Looking at you, Sharkey...😒
By the way, where's that "Mastodon API" feature that you've advertised for the past year?🤨
#Fedi #Fediverse #Privacy #SocialMedia #Mastodon #ActivityPub #Sharkey
@BeAware@social.beaware.live
After a year and a half of being on Fedi, I'm still seeing people on an open communication platform recommending others block open communication across platforms (bridges).
Do you know what the Fediverse IS?!?!🤦♂️
#Fedi #Fediverse #ActivityPub #Mastodon #SocialMedia #Bridge #BlueSky #BridgyFed #Nostr
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.0
- snac v2.67
- tootik v0.14.0
- activity-pub-relay v0.8.0
- Mastodon: Annual Report 2023
- μpub: micro social network, federated
Clients
- Tusky v27.0
- Tuba v0.9.1
- Pixelix v3.0.0
- Voyager v2.22.0
- Tesseract v1.4.21
Tools and Plugins
- FediAM v0.2
- Threativore v0.7.0
- Posty: This is How You Take Your Posts With You
For developers
Articles
- botsin.space postmortem
- How much does the fediverse cost?
- Building a Better Social Web
- Surf is a “Social Browser” App From Flipboard
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0193e565-a77c-3eb7-5957-9d3d3367f05d
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.0
- snac v2.67
- tootik v0.14.0
- activity-pub-relay v0.8.0
- Mastodon: Annual Report 2023
- μpub: micro social network, federated
Clients
- Tusky v27.0
- Tuba v0.9.1
- Pixelix v3.0.0
- Voyager v2.22.0
- Tesseract v1.4.21
Tools and Plugins
- FediAM v0.2
- Threativore v0.7.0
- Posty: This is How You Take Your Posts With You
For developers
Articles
- botsin.space postmortem
- How much does the fediverse cost?
- Building a Better Social Web
- Surf is a “Social Browser” App From Flipboard
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0193e565-a77c-3eb7-5957-9d3d3367f05d
@weekinfediverse@mitra.social
Servers
- Hubzilla v10.0.0
- snac v2.67
- tootik v0.14.0
- activity-pub-relay v0.8.0
- Mastodon: Annual Report 2023
- μpub: micro social network, federated
Clients
- Tusky v27.0
- Tuba v0.9.1
- Pixelix v3.0.0
- Voyager v2.22.0
- Tesseract v1.4.21
Tools and Plugins
- FediAM v0.2
- Threativore v0.7.0
- Posty: This is How You Take Your Posts With You
For developers
Articles
- botsin.space postmortem
- How much does the fediverse cost?
- Building a Better Social Web
- Surf is a “Social Browser” App From Flipboard
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0193e565-a77c-3eb7-5957-9d3d3367f05d
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@bouncepaw@merveilles.town
Does it make sense to roll out an ad-hoc federated bookmark search API? Please convince me I should take a different approach.
@rolle@mementomori.social
I love how Ghost is making an argument in favor of ActivityPub on their landing page https://activitypub.ghost.org
@rolle@mementomori.social
I love how Ghost is making an argument in favor of ActivityPub on their landing page https://activitypub.ghost.org
@rolle@mementomori.social
I love how Ghost is making an argument in favor of ActivityPub on their landing page https://activitypub.ghost.org
@sl007@digitalcourage.social · Reply to Sebastian Lasse's post
^ [all photos by me]
/ addendum:
Today we are merely building #ActivityPub software (see pinned talk [EN] or Berlin Fediday Talk [DE]).
This includes patterns which can be helpful for disasters too – like federated geocoding, wikidata, wikibase and OSM integration.
If it feels like you can help or are interested, let me know.
@bouncepaw@merveilles.town
Does it make sense to roll out an ad-hoc federated bookmark search API? Please convince me I should take a different approach.
@nibushibu@vivaldi.net
#ActivityPub に対応していないものをもう #SNS とは認めてない( #Fediverse
過激派原理主義 )ので、それらのことは便宜上、会員サイトと呼ぼう
@elgg@indieweb.social · Reply to Tim Chambers's post
@tchambers
▶ We will finally complete the #ActivityPub integration to #Elgg
@reiver@mastodon.social
Interesting. PeerTube content (in their "application/activity+json") can be Markdown.
(Reference: curl -H 'Accept: application/activity+json' https://tube.archworks.co/videos/watch/7d1d5c2f-6d13-48d0-addd-ea99e9e9c967 )
#ActivityPub #ActivityStreams #DeSo #FediDevs #Fediverse #JSONLD #MarkDown #PeerTube
@reiver@mastodon.social
It seems to be common now to put JSON-LD in the HTML source code.
ActivityPub and ActivityStreams files (application/activity+json) are JSON-LD files.
You could put ActivityPub and ActivityStreams in the HTML source code.
#ActivityPub #ActivityStreams #DeSo #FediDevs #Fediverse #HTML #JSONLD
@reiver@mastodon.social
I wish Mastodon handled ActivityStreams "type":"Video" as well as "type":"Note" with a Video attachment.
They could be rendered the same. But they (currently) aren't.
#ActivityPub #ActivityStreams #DeSo #FediDevs #Fediverse #Mastodon
@hongminhee@hollo.social
I'm looking for your opinions from the developers of the fediverse.
A common HTML web page can contain related links via the <link>
tag. I would like to do the same for Activity Streams objects, for example:
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://writings.hongminhee.org/ap/2024/12/a-year-with-the-fediverse.json",
"type": "Article",
"name": "A year with the fediverse",
"content": "2024 was truly a year where I was deeply immersed in the fediverse. …",
"url": "https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/",
"attachment": [
{
"type": "Link",
"rel": "alternate",
"hreflang": "ko",
"href": "https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/index.ko-hang-kr.html",
"mediaType": "text/html"
},
{
"type": "Link",
"rel": "alternate",
"hreflang": "ja",
"href": "https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/index.ja.html",
"mediaType": "text/html"
}
]
}
Do you think this makes sense, and would it be appropriate to put Link
objects in the attachment
?
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
I wrote a blog post to wrap up the year 2024: A year with the fediverse.
https://writings.hongminhee.org/2024/12/a-year-with-the-fediverse/index.en.html
@fedify@hollo.social
Looking for a side project to do over the holidays? Why not create your own #ActivityPub server with #Fedify?
@naturzukunft@mastodon.social · Reply to naturzukunft's post
Wow, the following thing is becoming increasingly complex.
I started a new topic
@naturzukunft@mastodon.social
C2S Challenge
If I get an Ignore activity from a client that has as object a URL of an object on another server. Then I have to read this object to determine the UseCase.
But what if the other server is currently unavailable?
Phew, I see 2 possibilities:
1) try it later (async)
2) cache external objects (somehow a bad idea)
But also 1) makes trouble, if the other server is down forever!
@mariusor@metalhead.club · Reply to marius's post
The experiment of using roaring bitmaps as the foundation for indexing #ActivityPub objects is half successful and half not.
The good news is that soon I'll be able to replace the #brutalinks client access to it's activitypub backend with something that's built on top of local storage that makes use of the indexes, therefore being much, much faster.
The bad news is that adding indexing to the storage backends themselves didn't result in too much performance gains, but I just suspect I'm doing something wrong.
@weekinfediverse@mitra.social
Servers
- Ibis v0.2.0
- PeerTube v7.0.0
- Mitra v3.12.0
- Pleroma v2.8.0
- ActivityPub for WordPress v4.6.0
- activity-pub-relay v0.7.0
- flohmarkt v0.6.1
- Manyfold v0.91.3
Clients
- Tuba v0.9.0
- PeerTube Mobile v0.5.2
- Relatica v0.14.0
- RaccoonForFriendica v0.3.2
Tools and Plugins
For developers
- FediTest v0.5
- fediverse-pasture-inputs v0.1.12
Articles
- The 2024 IFTAS Needs Assessment Report is Here!
- Integrating ActivityPub within Solid specs
- Sharkey: a Fediverse project that is beautiful inside & out
- Last Week in Fediverse – ep 97
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0193c19e-7bc6-495c-46e6-099a402b25e6
@evan@cosocial.ca
The #SocialCG issue triage is going to start about 15 minutes late; my previous meeting is running overtime. #ActivityPub
@sl007@digitalcourage.social
Next #ActivityPub Issue Triage starts soon:
https://www.w3.org/groups/cg/socialcg/calendar/
btw: recently commented https://github.com/w3c/activitystreams/issues/582 - seeking #Place feedback :)
@chris@socialbc.ca
We are at $902 of $2500 for the #SocialBC launch fundraiser!! THANK YOU!! ❤️❤️ We're 1/3rd of the way there!
Please help our socialbc.ca regional instance launch, Jan 1 2025 and support the expansion of the community-based #OpenSocialWeb by donating!
Go here: https://www.paypal.com/donate?campaign_id=NYQ8LSFB5GP6N
Or Interac e-Transfer: help@socialbc.org
or get in touch if there is another way you'd like to donate!
Shout out for some support and reach from #Mastodon #ActivityPub #Fediverse movers!
@Gargron
@mike
@evan
@zeab@fosstodon.org
I keep looking more into #bluesky, from #atproto, to see what can be learned and adapted. Nothing is perfect.
Still. #ActivityPub does feel like the correct way. We need many relays to make smaller communities function. Luckily, the fediverse has that in excess. 😎
@feditest@mastodon.social
FediTest 0.5 is out. This is primarily a bug fix release and additional documentation.
It also incorporates feedback from users, and feedback from an accessibility review and a security review.
https://feditest.org/release-notes/0.5/
Happy testing! #fediverse #activitypub #testing
@vitriolix@mastodon.social
the @bsky.brid.gy guy has a new non-profit (anew.social) focused on open source social networking tools, largely around ATProtocol and ActivityPub
https://www.theverge.com/2024/12/17/24322908/a-new-social-non-profit-bridge-platforms
@juergen@bruckner.email · Reply to dansup's post
@dansup@mastodon.social
Loops + NLnet
We are thrilled to announce that @nlnet and @loops have signed a MoU for a grant funded through the NGI0 Core Fund!
@kyu3a@vivaldi.net
ThreadsやBlueskyの投稿をテーマ別に串刺し表示できる「Surf」β公開 - ITmedia NEWS
https://www.itmedia.co.jp/news/articles/2412/19/news122.html
『#Surf は、分散型ソーシャルネットワークプロトコルの「#ActivityPub」と「#ATProtocol」、#RSS をベースに構築されており、関心のある事柄を中心に人物、動画、記事、画像、ポッドキャストを整理したカスタムフィードを構築し、閲覧できるアプリ。
β段階では、「#Threads」「#Bluesky」「#YouTube」「#Mastodon」…などの投稿を、テーマや#(ハッシュタグ)でカスタムフィードにできる』
@nibushibu@vivaldi.net
「#SNS が増えすぎてつらい… 」
そんな、あなたに。
#ActivityPub で #SNS 同士でフォローし合える #Fediverse
@nibushibu@vivaldi.net
#Flipboard が新たにリリースする #Surf というアプリ、 #ActivityPub と #ATProtocol と #RSS をまとめて購読できるみたいなアプリということなのかな。
#Flipboard の #OpenSocialWeb への本気度が伝わってくるな
@LukaszHorodecki@pol.social
Wtyczka #ActivityPub dla #WordPress dorobiła się nowego bloku pokazującego podbicia i polubienia z #fediwersum.
@j12t@j12t.social
Came across this proposal for standardizing cryptographic event logs, e.g. for social media including #Bluesky and #ActivityPub.
@gme@bofh.social
@FediTips@social.growyourown.services
You can't assume that when you mark a #post for #deletion that it will be #deleted across the #fediverse. Whether a post gets deleted on a remote #server is entirely up to that server.
I guarantee you there are organizations and individuals here on the Fediverse right now that are running their own #ActivityPub servers and are #archiving and #cataloging every post, and they are #ignoring any #Delete #requests.
Because when you mark a post for deletion, that's all you're doing. You're requesting the remote server to delete the post from its #database.
And nobody is required to do that.
(Though the vast majority of ActivityPub servers do.)
#FediTips
RE: https://social.growyourown.services/users/FediTips/statuses/113669267720362794
@FediTips@social.growyourown.services
If you accidentally post something sensitive that you want to keep private, don't edit the post, just use "delete" or "delete & re-draft" instead.
Editing has a safety feature to prevent bait & switch abuse tactics: when a post is edited, people will still be able to browse all previous versions of it by clicking on the "edited" label.
⚠️ Deleting a post breaks all its replies, boosts, direct links etc, so only use deletion if there is a privacy issue. Editing is better otherwise.
@hadsn@mstdn.nere9.help
Tweets.zipをインポートできる #ActivityPub 実装がほしいです #最悪
@nibushibu@vivaldi.net · Reply to GENKI's post
やっぱり #ActivityPub というオープンなプロトコルで繋がる #Fediverse
というものが存在することを知ってしまうと、 #TheOpenSocialWeb の夢を見てしまう
https://werd.io/2024/the-open-social-web-is-the-future-of-the-internet
@erlend@writing.exchange
We would like to run an #activitypub instance as part of the #weirdone platform, same as the excellent #omglol by @prami
This instance will be operated as a paid extension of Weird, costing $10/yr ($20/yr after beta).
All member subscriptions will go entirely to the AP instance hosters, which should be a team of at least 2-3 sysadmins & moderators tending to the instance part-time. This is expected to be a fairly low-volume instance since all members are paid (to begin with).
@JRepin@mstdn.io
If one is to get into blogging these days and would like to use a blogging system with Fediverse/ActivityPub integration (including commenting via Mastodon account for example)…
Which one do people currently recommended to use?
I have found Plume, which looks nicest and has quite a few instances available. but is currently not developed very actively.
There is also WriteFreely, which is similar but lacks in public instances.
Maybe Lemmy?
@aikencz@f.cz
Občas by stálo za to mít možnost přidat k příspěvku (tootu) geografické #souřadnice. Ale pokud vím, ani protokol #ActivityPub, ani #Mastodon tohle nepodporují a není to ani v plánu. Co s tím?
(Prosím o boost ankety.)
Option | Voters |
---|---|
Souřadnice vůbec nepoužívat | 2 (18%) |
Vkládat je jako holý text | 0 (0%) |
Vkládat je jako odkaz na OpenStreetMap | 9 (82%) |
Něco jiného (prosím o komentář) | 0 (0%) |
@damon@social.wedistribute.org
What I’m curious and disappointed about is the lack of the conversation regarding decentralisation when it’s #ActivityPub compared to #Nostr the #Fediverse powerbrokers always dismiss it by bringing up a part of its culture but never want to discuss the technical aspects #ATproto #Bluesky
@mayor@banjo.town
It's hard to conceptualize the possibilities of #activityPub beyond the prevailing "build a platform like the awful big corpo ones, but arguably not as bad" approach
@weekinfediverse@mitra.social
Servers
- snac v2.66
- Lemmy v0.19.8
- ActivityPub for WordPress v4.4.0
- Mobilizon v5.1.0
- activity-pub-relay v0.6.0
- NeoDB v0.10.5
- Trunk & Tidbits, November 2024
Clients
- Husky v1.6.1
- AndStatus v62.01
- Voyager v2.21.0
- PeerTube mobile app : discover videos while caring for your attention
- tinmop: An opinionated client for Gemini, gopher, kami and Mastodon/Pleroma
Tools and Plugins
- Mastodon Bird UI v2.0.6
- PeerTube plugin livechat v12.0.2
- Fediseer v0.25.0
- notectl: A maintenance CLI tool for Misskey
For developers
Protocol
- Nomad Protocol and Nomadic Identity in the Fediverse
- FEP-1311: Media Attachments
Articles
- Alt Text Health Check image accessibility report #2
- PeerTube, a network of independent, self-managed and interconnectable platforms
- Why is Meta adding fediverse interoperability to Threads?
- Creating a generic "Log-in with Mastodon" service
- Last Week in Fediverse – ep 96
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01939db2-df57-8fe0-d681-88a30070e9a1
@reiver@mastodon.social
1/
I like the Actor-Model.
A friend who is a Scala programmer introduced it to me.
I used it when programming in — Erlang and Scala. Later, I implemented the Actor-Model in Go. I even implemented Erlang's supervision-tree in Go.
ActivityPub is maybe better understood through the lens of the Actor-Model — rather than a HTTP REST API.
However —
#ActivityPub #ActivityStreams #ActorModel #DeSo #Fediverse #FediDevs
@maddyunderstars@aus.social
Hi all,
For the past year I've been working on an activitypub federated instant messenger called Shoot.
I haven't had time to work on it for a while because of my job, so I'm making it public to see if anyone would be interested in helping out.
You can find the server repo here: https://github.com/MaddyUnderStars/shoot
and the client repo here: https://github.com/MaddyUnderStars/shoot-client
Featureset currently includes:
- Dm channels
- Friends/relationships
- Guilds
- Guild channels
- Guild invites
- Voice calls (not yet federated)
- Mostly working federation with itself
- Iffy federation with other platforms
There's no official instance yet, but I could host one if there is interest.
What I need help with most is:
- Frontend development. The client code is very hacky and gross, let alone the UI haha
- Safety features
- Probably general architecture stuff
Thanks all
@rolle@mementomori.social
The Fediverse is vast. It's like a space with planets and keeps on expanding. Here's the thing, even if it would stop expanding and all the planets and stars and other magnificent things were to disappear, I'd still be happy on my own piece of rock, shouting to the void.
@mariusor@metalhead.club
I hope Pleroma devs have seen this pseudo bug report from Rachel Kroll:
@Flipboard@flipboard.social
The fediverse has no central authority — which brings both challenges and opportunities for how it's governed. For Dot Social, @mike spoke with @kissane and @darius, two of the smartest people working on this, about the impact of the 2024 U.S. Presidential election on fediverse work, the "Xodus," what needs to be done next, and how to fund and sustain better networks for humans.
Read more about it in this blogpost.
https://about.flipboard.com/fediverse/erin-kissane-and-darius-kazemi/
Listen to the conversation on https://flipboard.video/c/dot_social/videos or wherever you get your podcasts.
#DotSocial #Podcast #Fediverse #Flipboard #OpenSocialWeb #SocialMedia #Tech #SocialWeb #Governance #Federation #Bluesky #ActivityPub #ATProtocol #SocialNetworks
@faraiwe@beige.party
A de-centralized, federated network, using a common, NON-COMMERCIAL, #FOSS protocol, such as the #fediverse can actually save lives and fight the onslaught of dezinformatsiya.
#Meshtastic #GMRS devices were used to keep people connected, sending messages through #ActivityPub based clients, during catastrophic weather events which knocked standard comms networks down.
#DTBO socmedia (such as #BlueSky, #Threads, #Telegram, etc) were actively used to disseminate #dezinformatsiya, during those catastrophic events, and other emergencies.
Taking the internet back from walled-garden, corporate, proprietary networks can mean the difference between life or death for many.
Government should not be owned, operated or focused on corporations, but be by People, for People.
@ricardo@bsd.cafe
So ActivityPub doesn't implement the option to keep a sync'ed/fallback instance? 🤔
@dansup@mastodon.social
https://loops.video will federate before Christmas, starting with the first 1000 users next week ✨
@Linux@kitty.social
Although, only speculation, I notice this individual seems less like a prospecting journalist, and more like an advertising placeholder.
They made a similar post two (2) months ago, even starting it as their introduction to the Fediverse (see screenshot).
I am not a journalist, or inspiring blogger, but I would presume in two (2) months time, the article would have enough shared options to go to story. I also find it odd that they praise Sharkey in both post, as oppose to giving no opinion, and just asking people what they think.
That said, when I was confronting Sharkey, while still hanging out in their Discord Server, I learned they do use alternative accounts to help paint their narrative.
Again, my theory is only speculation, based on my experience and dealings with Sharkey. It just seems to fit their track record. And if in this instance, I am wrong, I apologize, but would again, point out that this is something they (Sharkey Development) have done in the past.
#Sharkey #Fediverse #Fedi #ActivityPub #Blogging #Journalism #Ethics
@reiver@mastodon.social
As I mentioned before — I think the Fediverse version of Follow-Packs / Starter-Packs should be some type of ActivityPub / ActivityStreams object.
It could look a lot like the "following" and "followers" URLs look.
RE: https://mastodon.social/@reiver/113629444566451650
#ActivityPub #ActivityStreams #DeSo #FediDevs #Fediverse #FollowPack #FollowPacks #JSONLD #StarterPack #StarterPacks
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@reiver@mastodon.social
1/
There are now multiple efforts to create a Fediverse version of Follow-Packs / Starter-Packs.
❦
A starter-pack gives you a collection of people and other users to follow
They help new users find people to follow — so they don't have an empty home-feed. But they also help existing users find more people to follow.
🧵
#ActivityPub #ActivityStreams #ATmosphere #ATProto #ATProtocol #Bluesky #DeSo #FediDevs #Fediverse #FollowPack #FollowPacks #JONSLD #SocialMedia #StarterPack #StarterPacks
@timbl@w3c.social · Reply to Flipboard's post
@Flipboard @mike
You could interview @jeswr - Jesse is now running #Solid community support at @ODIHQ - we need to merge the energies of #Solid with the rest of the #Fediverse #DotSocial #Federation #ActivityPub #OpenSocial #OpenSocialWeb #SocialWeb #Threads #Bluesky #Solid cc: #RSS blogs and podcasts #Matrix #ActivitPods
@developerjustin@mastodon.social
I’m doing a training next month on decentralized social media, #fediverse, etc. for a group that isn’t entirely tech-focused. Some tech, some creative, some finance, etc.
What are the best #Mastodon and #ActivityPub explainers or resources you’ve seen on the web?
If you could hand someone a single resource to explain the idea of federation to someone who is not technical and has no prior knowledge, what would it be?
@hongminhee@fosstodon.org
Besides WordPress and Ghost, are there any other #ActivityPub implementations that send out an Article type rather than a Note?
@neil@mastodon.neilzone.co.uk
New blogpost: I think fedizens should be able to disable replies to some or all of their posts
tl;dr: Reply Guys gonna reply.
Why? It’s a safety feature, and a key part of a consensual community.
Perhaps I’m biased in that I mostly see women and non-binary people asking for this feature, and most see men arguing against it.
Not all posts need a reply.
...
Not all posts are an invitation for a debate.
@Sibshops@mastodon.online · Reply to BeAware :fediverse:'s post
@BeAware Sometimes I sit to pee.
@weekinfediverse@mitra.social
Servers
- flohmarkt v0.6.0
- Hollo v0.3.0
- Manyfold v0.91.0
- Mastodon v4.3.2
- Mitra v3.11.0
- Castopod v1.13.1
- WordPress v4.3.0
- Gancio v1.21.0
- Hatsu v0.3.1
- NeoDB v0.10.4.15
- NodeBB v4 RC1
- Lemmy Development Update 2024-12-06
- Enigmatick End-to-End Encryption Design
Clients
- Mastodon for iOS v2024.11
- PixelDroid v1.0.beta39
- Voyager v2.20.0
Tools and Plugins
- FediFetcher v7.1.13
- PeerTube plugin livechat v12.0.0
- TangerineUI for Mastodon v2.3
- MARL: Mastodon Archive Reader Lite
- Mastodon starter packs
For developers
Protocol
- FEP-6606: ActivityPub client to server collections addressing conventions
Articles
- Mastodon’s weaknesses and how to fix them
- Can This Platform Survive? Governance Challenges for the Fediverse
- Threads Beta Feature Enables Fediverse Profiles
- Last Week in Fediverse – ep 95
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01937965-7d9d-84d4-ca55-f889525cf355
@BeAware@social.beaware.live
I wish there was a way to filter out posts that use tags that are unrelated to their post.
There's WAY too much random bullshit in all the Fediverse related tags.
Barely anyone actually talking about the Fediverse itself.😒🙄
@silverpill@mitra.social
FEP-171b update: https://codeberg.org/fediverse/fep/pulls/454
Some clarifications, and an explanation of why FEP-fe34 authentication is important:
>The processing of unauthenticated embedded activities is strongly discouraged. If such activities are not rejected by the consumer, a malicious conversation owner may be able to perform a cache poisoning attack and overwrite any actor or a post in consumer's local cache by sending a forged Update(Actor) or Update(Object) wrapped in an Add activity.
This is not difficult to do. Someone makes a post and says "hey everyone, join my new @group about <popular_topic>". People join and the next day Gargron is messaging them and asking to fund Mastodon's new Trust & Safety initiative by donating bitcoins.
Similar attacks might be possible against FEP-1b12 implementations that don't authenticate announced activities.
@cryptadamist@universeodon.com
Ω⚙️Ω
New features for #FediAlgo, the customizable #algorithm for your Mastodon timeline:
🪓 Live filtering based on #hashtag (inclusive and exclusive)
#️⃣ Seed your timeline with toots from anywhere in the Fediverse that contain trending tags (#SouthKorea and #UnitedHealth have been big lately)
🔥 Icons to inform you whether a toot is from an account you follow, a hashtag you follow, or is trending (and if so, why it's trending)
⚖️ Weight based on retoots, replies, age, etc.
国 Filter on language
I kind of find it hard to look at Mastodon without it at this point. The installable demo can be found here: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
Also available as a NodeJS package built on #Masto.
Here's a video of the demo app:
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource #MastoAdmin #SocialWeb #Feed #timeline #algorithmicFeed #node
@tom@tomkahe.com
Ha, figured out out to bridge my Threads account to Bluesky. Not that I'll use it, but it is possible #threads
@BeAware@social.beaware.live
Threads is mocking AP users at this point.😒
Threads users can now "follow" Fediverse users that have replied to a post already existing on threads.
-Cant search for Fediverse users and follow them normally.
-Cant see Fediverse posts if they're not a reply, even if you follow.
-Cant reply or mention a Fediverse user
WHAT DOES THIS EVEN DO?!?!?
@shellsharks@shellsharks.social
Woah, just followed my #Fediverse account from #threads . They actually did it 😅
@chris_hayes@fosstodon.org
I was looking at the properties on the Person #ActivityPub object implemented by #fedify, and wasn't expecting this one, haha!
I'm presuming this is #Misskey related? The quirks of having to implement many different versions of a spec!
@mariusor@metalhead.club
I've finally got off my ass and created a Codeberg account in order to submit my first PR to the #FEP repository.
I'm not very familiar with the FEP submission etiquette so any pointers from more experienced people would be helpful.
The PR: https://codeberg.org/fediverse/fep/pulls/452
Mailing list thread for feedback: https://lists.sr.ht/~mariusor/go-activitypub-discuss/%3Cwecobrezdaeqzfsukst42hncuuimomii5oeixonirrksrvs4md@4l76dr4obisi%3E
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
6/
Issue №4:
Having to make one HTTP to WebFinger to resolve a Fediverse ID (such as "@joeblow@example·com"), and then make another HTTP request to get the activity document ("application/activity+json") — adds an extra HTTP request.
Using a well-known path to resolve the Fediverse ID and get the activity document ("application/activity+json") — in one HTTP request would be better.
...
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
5/
Issue №3:
If we are going to use Internet domain-names, maybe host-meta could be replaced by a DNS TXT or DNS SRV record — that is used to specify what host to connect to to resolved a Fediverse ID like "@joeblow@example·com" to an activity document ("application/activity+json").
...
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
4/
Issue №2:
host-meta is in XML (where everything else is in JSON).
I am NOT saying I am a fan of JSON, but — I think it would be easier for developers if only JSON xor XML was used (but not both).
(host-meta is used to specify where WebFinger is. It does not necessarily have to be at "/.well-known/webfinger". And doesn't have to be on the same host.)
...
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
3/
Issue №1:
host-meta is yet another format to write encoders and decoders for.
(host-meta is used to specify where WebFinger is. It does not necessarily have to be at "/.well-known/webfinger". And doesn't have to be on the same host.)
...
@reiver@mastodon.social · Reply to @reiver ⊼ (Charles) :batman:'s post
2/
Their reason (for wanting to replace WebFinger):
“While useful, Webfinger is not part of the ActivityPub specification”
Why does that matter?
Having said that, (I do think) there some issues with WebFinger that could motivate one to replace it.
But that would mean that — any replacement MUST address these issues.
...
@reiver@mastodon.social
1/
It seems like someone wants everyone on the Fedivese to stop using WebFinger.
https://github.com/mastodon/mastodon/issues/17030
(WebFinger is used to resolve a Fediverse ID like "@joeblow@example·com" to an activity document ("application/activity+json").)
...
@kuketzblog@social.tchncs.de
Wir haben das Fediverse-Schaubild noch einmal überarbeitet. Ein herzliches Dankeschön an @imke für die Aktualisierung und die wertvolle Unterstützung. Hier ist die neueste Version des Fediverse-Schaubilds – schaut es euch an! 👇
Gerne teilen!
#fediverse #schaubild #mastodon #pleroma #misskey #hubzilla #diaspora #lemmy #kbin #friendica #bookworm #funkwhale #peertube #pixelfed #activitypub
@reiver@mastodon.social
Someone created a list of all the JSON-LD properties used in the Fediverse:
(I haven't tried confirming the accuracy of this list. But, it is interesting.)
@reiver@mastodon.social
GoToSocial has a JSON-LD namespace:
@hongminhee@fosstodon.org
If you update an account profile in the fediverse, who should you send the Update(Person) activity to?
Option | Voters |
---|---|
Every follower | 18 (78%) |
Every peer actor you've encountered so far | 5 (22%) |
@boz@mastodon.uno
Countries by #Mastodon and #Peertube (#ActivityPub) social networks from the perspective of #Wikidata · #dataviz
ActivityPub top 6:
🥇 #Germany: 1000+
🥈 #USA: 225+
🥉 #France: 120+
🎖️ #UK: 110+
🎖️ #Netherlands: 80+
🎖️ #Switzerland: 40+
Query bubble chart:
https://w.wiki/CGYX
Query dataset:
https://w.wiki/CGYe
We lack data! Edit Wikidata! 🌈
@reiver@mastodon.social
How much Fediverse software can read the expanded form of JSON-LD?
Or are they making hard-coded assumptions about what the JSON names will be?
I.e.,:
"indexable" : true
Versus:
"http;//joinmastodon·org/ns#indexable" : true
@reiver@mastodon.social
In some ways, I think it might have been "better" if the Fediverse didn't use JSON-LD and instead just used URLs as key names.
I.e., if it didn't use the "@context" stuff.
"@context" adds a certain type of complexity.
@stefan@stefanbohacek.online
The Website League shared their December update, with some exciting news about ongoing projects, which include forks of GoToSocial and Akkoma, a "cohost-inspired frontend", and a "best practices for moderation" guide.
https://buttondown.com/websiteleague/archive/website-league-update-for-december/
More about the League: https://websiteleague.org
@BeAware@social.beaware.live
Well...30 more days till I'll have to defederate from Threads for not fulfilling their promise of fully federating by the end of the year.
Will they pull it off? Doesn't seem likely at this point.😒🤦♂️
Proving us all right in the end, it seems.
@reiver@mastodon.social
The Fediverse's usage of rel-self in WebFinger, to point to an ActivityPub Activity file (application/activity+json), seem different than how Atom feeds uses rel-self.
The semantics seem different.
(I am assuming ActivityPub borrowed rel-self from Atom feeds.)
@hollo@hollo.social
Hollo 0.3.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
DRIVE_DISK=fs
and FS_ASSET_PATH
to store media files in the local filesystem. For users who've used S3, no further action is required—but, it's recommended to configure DRIVE_DISK=s3
as DRIVE_DISK
will be required in the future releases.SENTRY_DSN
.You can upgrade to Hollo 0.3.0 using the following ways:
ghcr.io/dahlia/hollo:0.3.0
or simply latest
!stable
branch and switch over to it!@evan@cosocial.ca
We are a little more than 24 hours away from the deadline for FOSDEM 2025 proposals. If you work on Free and Open Source software for the Fediverse, especially #ActivityPub servers and #Mastodon clients, please consider proposing a talk:
https://socialwebfoundation.org/2024/11/01/fosdem-2025-social-web-devroom-call-for-participation/
@andypiper@macaw.social
Finally got done listening to the For A Better Web #podcast with @brucelawson and @evan - really good episode talking about the importance of #ActivityPub and the standards and practical work going into the #Fediverse right now. 👏🏻 https://vivaldi.com/blog/better-web/evan-prodromou-social-web-foundation-for-a-better-web/
@mpj17@mastodon.nz
Oh! Is the #fediverse the reason I see posts that are longer than the #mastodon character limit? Am I seeing posts from other systems that implement #ActivityPub or do I misunderstand what is happening?
@weekinfediverse@mitra.social
Servers
- Manyfold v0.90.0
- Pleroma v2.7.1
- Akkoma v3.13.3
- snac v2.65
- Sharkey v2024.9.4
- Mbin v1.7.3
Clients
- Sengi v1.7.1
- toot v0.47.1
- Pachli v2.9.0
- RaccoonForFriendica v0.3.1
For developers
- Bovine v0.5.14
- Fedify v1.3.0
- Federails v0.3.0
Protocol
- FEP-171b: Conversation Containers
Articles
- Last Week in Fediverse – ep 94
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0193553b-c77c-7bff-9394-60b52cd166c6
@fedify@hollo.social
The version 1.3.0 of #Fedify, an #ActivityPub server framework, released! The key changes include:
MessageQueue
s for incoming and outgoing activities.Activity
to the corresponding inbox listener. It is useful for invoking an inbox listener for an Activity
enclosed by another Activity
.Context.sendActivity()
and InboxContext.forwardActivity()
methods now reject when they fail to enqueue the task.User-Agent
header, e.g., User-Agent: Fedify/1.3.0 (Deno/2.1.2)
.For details, see the full changelog as well!
@ortegacmanuel@mastodon.social
How #ActivityPub works? Let's use #EventModeling to shed some light on this topic and make it accessible for a wider audience beyond programmers used to dig in to specification docs and explore the trenches of implementation code.
@BeAware@social.beaware.live
Anyone know if Sharkey has properly implemented the Mastodon API yet so that apps like Ivory and IceCubesApp can be properly used?
I tried back in May and despite their advertising of the feature, it was basically non-existent and I haven't been keeping up with development.
@sayunu@mofu.kemo.no
Bridgy Fed を利用して ActivityPub‐圏と Bluesky との間をブリッジする場合の概念図を作りました。こういった表現でいいかな…。
#BridgyFed #Mastodon #Misskey #ActivityPub #Fediverse #Bluesky
@folkerschamel@mastodon.social · Reply to Erlend Sogge Heggen's post
@erlend Yes, protocols are a technical tool, not an end in themselves.
@sl007@digitalcourage.social
Dear #activitypub devs,
moin.
We need some feedback of how to #Place – please :)
@cryptadamist@universeodon.com
i added the ability to weight toots containing hashtags you follow to the customizable timeline #algorithm for Mastodon in #FediAlgo.
find it here: https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
#FediTools #FediTips #Fediverse #Mastodon #activitypub #mastohelp #Fedi #foss #nodejs #opensource
@kuketzblog@social.tchncs.de
Wir haben das Fediverse-Schaubild erneut aktualisiert! Ein herzliches Dankeschön an @imke für die Überarbeitung und die wertvolle Unterstützung. Hier ist die neueste Version des Fediverse-Schaubilds – schaut es euch an! 👇
Gerne teilen!
#fediverse #schaubild #mastodon #pleroma #misskey #hubzilla #diaspora #lemmy #kbin #friendica #bookworm #funkwhale #peertube #pixelfed #activitypub
@reillypascal@hachyderm.io
"The Bluesky features we covet are almost always built on structures that were designed in anticipation of eventually treating the network’s users as a resource to be mined for profit. The question we should ask before incorporating any given feature is not: Can we do that here? but rather: Can it be done without replicating the exploitative structures it’s built on there?"
@muimota@tldr.nettime.org
#Threads blocks #EU residents from posting using #activitypub / #mastodon protocol.
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
그 證據로, AUTHORIZED_FETCH를 要求하는 #ActivityPub 오브젝트는 `fedify lookup -a` 커맨드로 아주 쉽게 照會할 수 있다.
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
As proof, #ActivityPub objects that require #AUTHORIZED_FETCH can be easily looked up with the `fedify lookup -a` command.
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
所信發言: #ActivityPub 소프트웨어들이 #AUTHORIZED_FETCH, 이른바 시큐어 모드(secure mode)를 갖추는 것은 이름과 달리 정말로 시큐리티가 나아지게 하지 않으며, 오히려 安全하다는 錯覺(false sense of security)을 주기 때문에 나쁘다고 생각한다.
https://swicg.github.io/activitypub-http-signature/#authorized-fetch
@hongminhee@fosstodon.org
Hot take: It is bad that #ActivityPub software implements #AUTHORIZED_FETCH, also known as secure mode, because, contrary to its name, it does not actually contribute to security and instead gives a false sense of security.
https://swicg.github.io/activitypub-http-signature/#authorized-fetch
@kunev@kitty.social
#Debugging #activitypub implementations seems to be quite hard. I've got a pretty simple server set up that for now only serves information for one Actor
of type Service
. My goal at some point is to have this be a working bot that does things. But for the time being I'm still struggling to get other servers to actually consume that actor from my server. I've got #webfinger working I believe correctly (here) and the ID it returns responds with what seems to me like a valid Actor
json-id (here). However the several instances I've tried accessing it from all seem to not be able to consume that for any reason. Misskeys end up with an An error has occurred
message, mastodons just say they're not finding anything.
With the misskeys at least I see a request coming in to /.well-known/webfinger
, but mastodon instances don't seem to attempt to make any call, even if I search directly for the URL of the actor object. Meanwhile fedify lookup
seems to be fine with what it gets from the webfinger request since it then proceeds to hit the actor URL as well and prints out the json-ld it gets from it.
There don't seem to be any tools that I can point at a resource and have them tell me what it is I haven't implemented properly which is a bit frustrating.
@mariusor@metalhead.club
Well, @Mastodon has started closing stale bugs on their tracker telling me to reproduce on a newer version and resubmit, even though the ticket invites them to a theoretical discussion rather than being a technical problem. It's clear to me that the dude that closed it hasn't even read the issue.
A good time to link Drew's wisdom about bug tickets: https://drewdevault.com/2021/10/26/stalebot.html
> ...a different way of thinking about issues:
> a place for motivated users to collaborate on narrowing down the problem and planning a potential fix.
> A space for the community to work, rather than an action item for you to deal with personally.
@silverpill@mitra.social
"FEP-171b: Conversation Containers" finally has been published:
https://codeberg.org/fediverse/fep/src/branch/main/fep/171b/fep-171b.md
Conversation Containers are conceptually very similar to FEP-1b12: activities are sent to a conversation owner, who manages the conversation and synchronizes it between participants. Differences are mostly superficial and may disappear in the future.
@damon@social.wedistribute.org
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
#ActivityPub 서버 만들 때 디버깅하기 어려우신가요? #Fedify CLI의 숨은 피처들을 소개합니다!
• authorized fetch가 걸린 API도 쉽게 테스트
• 받은 액티비티의 디테일 보기
• NodeInfo 데이터 비주얼라이제이션
• 로컬 서버 터널링
https://velog.io/@hongminhee/hidden-gems-of-the-fedify-cli-tips-tricks-you-might-have-missed
@Eliot_L@social.coop · Reply to soaproot's post
@soaproot Also as part of my effort to learn more about #Bluesky, I've found a few resources I'm trying to digest.
This talk by Dan Abramov, an engineer I greatly respect, has been great so far but I only had time to watch the first half this morning: https://youtu.be/F1sJW6nTP6E
On the other side, this is also an incredible thread/blog post about #ATProto vs. #ActivityPub, decentralization, and how both Bluesky and the #Fediverse can improve (by one of the authors of AP): https://social.coop/@cwebber/113527462572885698
@cryptadamist@universeodon.com
Ω⚠️🐘⚠️Ω
I did some hacking at @pkreissel's implementation of a customizable algorithm for your Mastodon feed. I fixed some bugs and added a few features but maybe most importantly I streamlined the process of installing and running the demo app so you can experience the magic of his invention reshaping your Mastodon timeline for yourself with ease.
Seriously everything about having an algorithm adjust my feed to make sure I see stuff I might otherwise have missed has made my Mastodon experience like 1,000x better. The fact that it's (extremely) granularly customizable is the icing on the cake.
Setup should be trivial for anyone vaguely familiar with the command line. Even if you're scared of the command line you should be able to copy/paste the 3 commands listed in the installation instructions, all of which are in the GitHub repo:
https://github.com/michelcrypt4d4mus/fedialgo_demo_app_foryoufeed
#Fediverse #feditips #Mastodon #FOSS #opensource #nodejs #node #Feditools #activitypub #mastohelp #algorithm #Fedi #socialmedia
@zicklag@mastodon.social
Slowly while working on our #leafprotocol we've realized that it shares a lot of similarities with both #activitypub and #atproto.
We just finished a blog post that explains how Leaf compares with its alternatives:
@weekinfediverse@mitra.social
Servers
- tootik v0.13.0
- Manyfold v0.89.0
- Mitra v3.10.0
- flohmarkt v0.4.0
- snac v2.64
- Hollo v0.2.3
- ActivityPub for WordPress v4.2.1
- Ktistec v2.4.2
- Activity-Relay v2.0.7
- Misskey v2024.11.0
- Iceshrimp v2023.12.11
- Sharkey v2024.9.3
- neodb v0.10.4.11
Clients
For developers
- Fedify v1.2.7
- ActivityPods v2.0.4
- birchbot: An easy to use bot framework for Owncast
Protocol
Articles
- Fedi Moderation Tooling Research
- My Thoughts on GoToSocial
- Mastodon Follow Pack FAQ 1.0
- Last Week in Fediverse – ep 93
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019330d7-6146-f490-7c7e-f0fdd8202d92
@rauschma@fosstodon.org
I asked an #ActivityPub question: “Posts and profiles—how to fix the disconnect between local and remote data?"
https://socialhub.activitypub.rocks/t/newbie-question-posts-profiles-how-to-fix-the-disconnect-between-local-and-remote-data/4765
@hongminhee@fosstodon.org
Did you know the #Fedify CLI can help debug #ActivityPub federation?
Learn about hidden features like:
• Smart object lookup with content negotiation
• Interactive inbox testing with a web UI
• NodeInfo visualization
• Local development tunneling
• And more!
https://dev.to/hongminhee/hidden-gems-of-the-fedify-cli-tips-tricks-you-might-have-missed-54af
@Flipboard@flipboard.social · Reply to Flipboard's post
Who do you think @mike should interview next year? We're all ears 👂
#Fediverse #DotSocial #Federation #ActivityPub #Podcast #OpenSocial #OpenSocialWeb #SocialWeb #WalledGardens #Threads #Bluesky
@Flipboard@flipboard.social · Reply to Flipboard's post
We also cut up some YouTube Shorts for newbies: Here's a playlist that includes @Gargron, @jay.bsky.team, @johnonolan, @molly0xfff and @ben.
https://www.youtube.com/watch?v=GxOZLwweDAo&list=PLtZ3QXAltC7wdAaUkwlLqvZkVELsJ2fdq
#Fediverse #DotSocial #Federation #ActivityPub #Podcast #OpenSocial #OpenSocialWeb #WalledGardens #Threads #Bluesky #YouTubeShorts
@Flipboard@flipboard.social
Our podcast about the fediverse, Dot Social, is one today! 🎉 It’s been such an honor to host the builders of the social web on this show and to learn from them. We have one more episode coming up in 2024 (read the blogpost to find out who @mike will be chatting with) then rest, then back at it in 2025.
https://about.flipboard.com/fediverse/dot-social-podcast-about-the-fediverse/
#Fediverse #DotSocial #Federation #ActivityPub #Podcast #OpenSocial #OpenSocialWeb #WalledGardens #Threads #Bluesky
@taye@mastodon.social
Hi folks! Would you benefit from image and video editing built into Fediverse Web apps like Mastodon, GoToSocial and Pixelfed?
I'm a Web developer working on media editing tools with funding from @NGIZero, and I'm looking for feedback.
#OpenSource #NGI0 #ActivityPub #Mastodon #GoToSocial #Pixelfed
Option | Voters |
---|---|
I never edit images or videos before posting | 10 (8%) |
I prefer to use a separate app for editing | 30 (23%) |
I want just simple crop, trim, rotate | 77 (58%) |
I want text, stickers and fancier stuff | 15 (11%) |
@al1r4d@pegelinux.top
My question is pretty simple. I want to create my own social media based on activitypub for learning purposes.
I usually prefer C or Python for programming languages, even though I'm not an expert.
The question is, would someone create a list or to-do list? What should I do?
@fediversereport@mastodon.social
New: Last Week in #fediverse - ep 93
This week's news
- With Bluesky the main topic of conversations, people are experimenting with Starter Packs on the fediverse as well
- @subclub can now turn any RSS feed into a paywalled #activitypub newsfeed
- Pixelfed will not pursue an #atproto integration following negative feedback from the community
Read at:
https://fediversereport.com/last-week-in-fediverse-ep-93/
@nibushibu@vivaldi.net · Reply to GENKI's post
ちょっと追記、
この観点でいうと、自分から見ると #BlueSky は結局「#BlueSky へおいでよ」にしか見えないんだよな…
その点、 #Mastodon は 「
においでよ」とは言ってない。
あ、いや、言ってるかもしれないけど、それだけじゃない。
別に じゃなくてもいい、#Misskey
でも #Pixelfed
でも #Threads が #ActivityPub
に完全対応すれば #Threads だっていい。
「#X から #BlueSky に大移動!これからは #BlueSky の時代!」とか「いまこそ #Threads でインフルエンサーになっておくべき!」みたいな「どこの #SocialMedia にいくべき」みたいな語り口をみると、たとえるなら「いつまでメールのプロバイダーはどこがいい、みたいな話するつもりなのか。全部メールなんだからメールでいいじゃん。」みたいな気持ちになる…
この「メール」という上位の言葉にあたるのが #Fediverse なのであって、いまは便宜上それに対応しているサービスとしてないサービスがあるから #Fediverse って呼んでるだけで、つまりは汎用的な相互に連携できる #SocialMedia のことだし、しかもその仕様は ちゃんと #W3C で #ActivityPub という形で標準化もされてるわけで、さらに実際にそれで連携したいろんなサービスやソフトウェアが存在している(#BlueSky の #ATProtocol とはちがって)んだから、これからはそういう「標準化されたソーシャルメディア」の時代にしようぜ!という気持ちのほうが強い。
全然追記がちょっとじゃなかった…
@nibushibu@vivaldi.net
やっぱり「#X から引っ越す」ということになると #BlueSky が選ばれやすいんだろうなー
分散型といいつつ実際には 1 つのサーバーに集中してるし、そうなってることで #X から引っ越してくるユーザーにとっては分散型がどうとかプロトコルがどうとかそういう #Twitter 時代にはなかった概念を覚える必要もなく使えるし、なおかつ UI も #Twitter にかなり寄せてある。
リアルな引っ越しでも、言葉とか習慣が違う慣れない土地より、土地勘のある場所のほうが気楽だろうし。
#BlueSky にいまひとが増えてるというのもまた「人が多いところにだったら行ってもいい」みたいな、誰もが持ってる「群にはついていきたい」という気持ちが背中を押すところもあるんだろうな…
そう考えると、自分は #Fediverse という夢をみているのかもしれない。その夢を重ねてこの場所を見ているから素敵な場所に見えているのかもしれない。
でも #Fediverse は夢としてはなかなか悪くない夢だし、実際のところ現実に今存在する
というこの場所は、なかなか良い場所なんだよ、少なくとも自分にとっては。
たとえ人が集まらなくたっていい、なぜなら #ActivityPub でほかのサーバーとも繋がれるんだから!というのは、なんというか、すごく肩の荷が降りる世界観なんだよな…
もう、どの #SocialMedia に登録してる・してないということを気にしなくていいんだ… みたいな気持ちになるんだよ。
それこそ、#X にいこうが #BlueSky にいこうが #Threads にいこうが、それぞれにいるアカウントはどこからでもフォローできるんだ、という世界観。
分散型がどうとかプロトコルがどうとか、本当は自分もそういう話をしたいわけじゃなくて(そもそも自分もそんなに詳しくないし)、そういう #SocialMedia 同士の壁が無くなる世界観の話がしたいんだよな、きっと。
@kini@maro.xyz
Hello Fedi nerds,
I ask for your help today,
Is there a #mastodon android client that supports remote posts fetching like Sengi does on desktop?
Please let me know.
@naturzukunft@mastodon.social · Reply to naturzukunft's post
3/3
AND:
Suppose max changes his name to @maximilian@dev.rdf-pub. And @min@dev.rdf-pub notices this and is happy that max is finally free and changes his name to @max@dev.rdf-pub.
Now @martin@mastodon.example.org sends a note to @max@dev.rdf-pub and since the profile is cached, the wrong max now gets a create note activity, right?
So somehow this is either not quite right yet, or there is a knot in my head.
@naturzukunft@mastodon.social · Reply to naturzukunft's post
2/3
And then there's a huge crash, because some instances cache max's profile and therefore have old URLs.
Now there are claims that (if you work properly) you send a delete activity before deleting the DB.
OK, yes I could understand that somehow. But where do I send this delete activity (or update activity if the inbox URL changes, for example? Because I get a lot of delete activities from whoever).
@naturzukunft@mastodon.social
1/3
At the moment I'm questioning the whole webfinger story.
I use uuid internally to identify actors.
and with webfinger you can currently find an actor URL using the preferredUsername.
here some verifiers are already complaining that the URL doesn't match the requested name. <- I really question that.
But now I'm so cheeky and sometimes delete my dev database. So @max@dev.rdf-pub gets a new uuid!
@juergen_hubert@thefolklore.cafe · Reply to mekka okereke :verified:'s post
@mekkaokereke @stooovie @Remittancegirl
While #Mastodon is the giant of the #Fediverse , I am curious if any of the other projects have made better strides with onboarding, moderation, UX and so forth.
How is #Friendica on these issues? Or #Misskey ? Ideally we should have a number of _different_ #ActivityPub -based systems which all compete to make their user experiences better. I mean, isn't tying ourselves too closely to any single platform how we got ourselves into this mess in the first place?
@nilesh@fosstodon.org
It's time #Mastodon supported multiple domain names per instance, allowing the users to use their own domain name for identity.
The issue has been open for 7+ years now: https://github.com/mastodon/mastodon/issues/2668
@damon@social.wedistribute.org
I’m curious about a couple of things and answers to this question will surely provide insights. What is decentralisation as defined by a social protocol and social network(s)? #fediverse #ActivityPub #Socialweb #Mastodon #Askfedi
@misterdave@tilde.zone · Reply to Mister Dave's post
if you want to understand what's wrong with #mastodon, listen to some black people. listen to some women. listen to some queer people. I'll post some links in a bit for those who don't know, but I'm not here to convince mastodon apologists. I'm interested in joining the conversation on how (if?) #ActivityPub can be used in a way that overcomes mastodon's problems.
@misterdave@tilde.zone
What does a safe, inclusive microposting protocol on top of #ActivityPub look like? #mastodon is very clearly not it; there are flaws baked in, and the questionably-BDFL is not interested in feedback from marginalized people.
Which just means that we'll have to build it ourselves, without him.
@dansup@mastodon.social
ActivityPub Starter Kits update:
I'm making exceptional progress and am wrapping up a few things before I prepare to launch this exciting new service!
ICYMI: I'm building an open source/self-hostable Starter Kit service that will allow fediverse users to safely build kits and share/use them with ease.
@Raccoon@techhub.social
#Moderator Issues.
New #report comes in.
No description.
Posts are all part of a thread criticizing the Mainstream Media, with focus on slanted reporting of the Israeli Palestinian conflict.
Nothing advocating any violence, nothing racist, nothing that seems like blatant misinformation.
No description.
Report was from another server so can't ask for one.
Forced to move on because there's no information about what is being reported.
Perhaps some ability to send internal messages in response to #reports, regardless of server, should be added to #ActivityPub? I know I've seen people talk about adding the ability to share moderator notes, and it would really help with moderation between servers on the #fediverse to be able to ask these questions and see what other #moderators are thinking...
@nibushibu@vivaldi.net
#ActivityPub でボクと握手!
@nibushibu@vivaldi.net · Reply to sublimer@あすてろいどん鯖管's post
@sublimer あ、やっぱり #Mastodon 独自の機能なんですね〜 💦
おっしゃる通り、より汎用的な仕様として、例えば #Fediverse #ActivityPub 側で同様の機能を取りこんでもらうとか、そもそも使う人が増えてくれると良いですよね
@caesar@indieweb.social
Here's a few things you can expect when there's a #Fediverse outage:
- oh wait, there's no such thing, the Fediverse is actually federated
- there are over 30k totally independent servers
- if one of them goes down the rest of the Fediverse works just fine
RE: https://bsky.app/profile/did:plc:ragtjsm2j2vknwkz3zp4oxrd/post/3lawdqryaws2q
@evan@cosocial.ca
The first draft of the #ActivityPub HTML Discovery report is available.
@nibushibu@vivaldi.net · Reply to GENKI's post
実際のところ、日本での SNS マーケティングという文脈で #Fediverse とか #ActivityPub
が話題に上がることなんてほぼないんだろうな…
@nibushibu@vivaldi.net
SNS エキスパートという肩書があるのか…
オレは絶対にそんな肩書き背負えないなあという感想と、
* 「SNS」の「エキスパート」なら、#ActivityPub とか #Fediverse についても詳しいのか!?
とか、言葉狩りのようなツッコミをつい心の中でしてしまったけど、
まあ実際の世の中にいるとそういうことが仕事になることも…あるよね…と、勝手に自分で自分の溜飲を下げながらお皿を洗っている 🍽️ 🧽
@nibushibu@vivaldi.net · Reply to GENKI's post
というか、自分にとっては #Fediverse が眩しすぎて、#BlueSky とか霞んでよく見えない、みたいな感じかもなー
#BlueSky の界隈の盛り上がりはよく知らないけど、#Fediverse は #ActivityPub
がすでに標準技術としてあって複数のソフトウェアとそれを使ったサーバーが建っている(実際に分散運用されている)というだけじゃなく、最近は
* いろんなクライアントがある(#PhanpySocial 推し
* #Flipboard みたいなメディアも #Fediverse に積極的にコミットしてる
* 企業がサーバー立てる例もふえつつある(一方で #Mozilla とかは閉じちゃったりもしてるけど)
* テック系のアカウント(特に英語圏)は結構いる
* 推しの #Vivaldi もサーバー建ててる
みたいに、#Mastodon の中の人だけじゃなく、いろんな人や企業が参加・コミットし始めてて、そこに広告的メリット以上の何か(そもそも #Fediverse は広告的なメリットは既存の SocialMedia に比べれば大きくない)意義を見出して関わっている感じがあって、そこに自分の理想みたいなものを重ねて応援している部分もあるので、あんまり他の場所に興味を持ててない。
そういう意味では全然フラットじゃなくて #Fediverse 贔屓な意見だし、そういう自覚もある。
それくらいには
を応援していますという宣言を、ここに置いておこう…(そっ
@nibushibu@vivaldi.net
#Bluesky は、分散型を謳うからには実際に分散して、あと標準化団体がちゃんと標準化した技術であるところの #ActivityPub に対応してから出直しておいで…と、2億年前から思っている。
横目で応援はしてるけど、not for me という感じ
@docpop@mastodon.social
The ActivityPub for WordPress plugin now allows you to preview how your post will appear in the Fediverse. Great work, @pfefferle! #ActivityPub #WordPress
@weekinfediverse@mitra.social
Servers
- Pixelfed v0.12.4
- snac v2.63
- Lemmy v0.19.7
- Ktistec v2.4.1
- ActivityPub for WordPress v4.2.0
- PieFed development update Oct/Nov 2024
- Trunk & Tidbits, October 2024
- ActivityBot: A Simple ActivityPub Bot Server in a Single PHP File
- Letterbook: Sustainable federated social media built for open correspondence
Clients
- toot v0.47.0
- Mastodon for Android v2.9.0
- Mangane v1.13.2
- RaccoonForFriendica v0.1.0
- Voyager v2.19.0
Tools and Plugins
For developers
- Fedify v1.2.5
- activitypub-federation-rust v0.6.0
Protocol
- FEP-fe34: Origin-based security model
Articles
- A bare-minimum ActivityPub server from scratch
- Last Week in Fediverse – ep 92
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01930d04-d0b2-a2a2-9b84-90a91046a329
@silverpill@mitra.social
FEP-fe34: Origin-based security model has been published. It supersedes FEP-c7d3: Ownership and describes authentication of ActivityPub objects in simpler terms.
I think ownership is still useful for authorization and access control, so that part was copied from FEP-c7d3.
@hongminhee@fosstodon.org
I have a question about signature handling in #ActivityPub relays. As I understand it, relays forward activities between instances that aren't directly connected. Let's say we have this flow: foo.com (source) → bar.com (relay) → baz.com (destination). The activity created by foo.com includes HTTP Signatures, but when bar.com forwards it to baz.com, wouldn't the original signature become invalid since the Host header needs to change? How do relay implementations handle this issue?
@rolle@mementomori.social
Microblogging social media before:
Microblogging social media today:
- Threads
- Bluesky
- Mastodon
- Nostr
The SOCIAL WEB in the future (I want to believe):
- It doesn't matter, they all connect to each other, use whatever service you prefer.
#Fediverse #SocialWeb #SocialMedia #ActivityPub #Bluesky #Nostr #Mastodon #Threads
@Edent@mastodon.social · Reply to Terence Eden's post
Can someone who is better at #ActivityPub syntax tell me what I've done wrong?
My bot @colours has a list of all its followers at
https://colours.bots.edent.tel/followers
But they're not being picked up by Mastodon.
The MIME type is correct, the JSON is valid, the pagination works, it responds to signed requests.
What super-obvious thing am I missing here?
@tsyesika@mastodon.nu
Jag tänker göra en sån #introduktion / #introduction (igen, jag kommer inte ihåg om jag gjorde det förut faktiskt).
Hej 👋 Jag heter Jessica Tallon, och jag jobbar med peer-to-peer-teknologi och hjälpte till som medförfattare på #activitypub. Jag jobbar på Spritely Institute, där vi försöker bygga och standardisera framtidens sociala medier (bland annat).
När jag inte är vid datorn tycker jag om att vandra, plocka svamp, odla och läsa lite.
Jag flyttade kontot hit från @tsyesika@octodon.social
@grishka@mastodon.social
I finally translated my #ActivityPub tutorial to English: https://grishka.me/blog/activitypub-from-scratch/
(several people at this year's FOSDEM asked me about this)
@pfefferle@mastodon.social
have you already tested the "fediverse preview" in #WordPress 6.7?
@Flipboard@flipboard.social · Reply to Flipboard's post
Big thanks to the people who went on camera first — like @quillmatiq, a writer and builder, who explains how it finally allows us to own our online relationships. 🙌🏻
https://www.tiktok.com/@fedi.curious/video/7434314336350326058
#Flipboard #WalledGardens #ActivityPub
#OpenSocialWeb #Federation #Fediverse
@Flipboard@flipboard.social
We love hearing your lightbulb moments when it comes to the #fediverse! In our new short video series, we want the unconverted* to see its tremendous power through your stories. (*Which is why we’re posting these clips to “walled gardens” like TikTok.)
https://www.tiktok.com/@fedi.curious
#Flipboard #WalledGardens #ActivityPub #OpenSocialWeb #Fediverse #Federation
@hrefna@hachyderm.io
With respect to #ActivityPub:
Simply, having now seen more into the guts of the process and how it is managed both historically and today, and understanding how the w3c works, I have no faith in their ability to define a clear consensus way forward out of the current set of problems.
Not "no faith in <timeline>" but no faith in the ability to define a clear way forward here.
This doesn't mean that someone outside of w3c couldn't define a better way forward, even one using AP, but w3c won't.
@stefan@stefanbohacek.online
Do I remember correctly that there was some conversation around #Bluesky considering a native #ActivityPub support?
@nibushibu@vivaldi.net
@JProl@mastodon.online
«As you may have read, #BotsIn.Space is closing down, I have lots of automated #bot accounts living on the #Fediverse - and I want them to continue posting. Installing and maintaining an entire Mastodon instance sounds like hard work.
»I write my own #ActivityPub server? Why, yes! Yes I did!
»I took the code and stripped it down to the bare essentials. All you need to do is upload two files- index.php and .htaccess - fill in your details, and you're done.»
https://shkspr.mobi/blog/2024/11/introducing-activitybot-the-simplest-way-to-build-mastodon-bots/
@csarven@w3c.social
🔔 Check out this 15-second screencast showcasing dokieli's decentralised annotations and activities:
https://dokie.li/media/video/dokieli-notifications.webm
It shows how you can view interactions like comments, annotations, and bookmarks in a side panel. Play around with it and share your feedback!
More details:
* https://lists.w3.org/Archives/Public/public-swicg/2024Nov/0037.html
Website: https://dokie.li/
Source code: https://git.dokie.li/
@Edent@mastodon.social
🆕 blog! “Introducing ActivityBot - the simplest way to build Mastodon Bots”
As you may have read, BotsIn.Space is closing down, I have lots of automated bot accounts living on the Fediverse - and I want them to continue posting. Installing and maintaining an entire Mastodon instance sounds like hard work. Paying people to host my stuff feels …
👀 Read more: https://shkspr.mobi/blog/2024/11/introducing-activitybot-the-simplest-way-to-build-mastodon-bots/
⸻
#ActivityPub #bot #fediverse
@Sh4d0w_H34rt@cyberpunk.lol · Reply to g7kse's post
@g7kse trying to get the hardware together to build this particular project. Want to see if I can link it to the web and federate with #activitypub .
@steve@social.technoetic.com
Is this valid in #ActivityPub / AS2 ?
{
"@context": "https://www.w3.org/ns/activitystreams",
...
"tag": [
{
"type": "Hashtag",
"name": "example",
"href": "https://example.com/tag/example"
}
}
Note that "Hashtag" is not a term in the normative AP/AS2 context. It seems to break linked data processing, but it also seems to pass the JSON-LD compaction requirements of AS2 (based on the JSON-LD Playground). If true, this means you can use extended types without extending the context. 🤷♂️
@weekinfediverse@mitra.social
Servers
- Hollo v0.2.0
- Sharkey v2024.9.1
- GoToSocial v0.17.2
- Hubzilla v9.4.4
- Manyfold v0.87.0
- snac v2.62
- Mitra v3.9.0
- Lemmy v0.19.6
- Ktistec v2.4.0
- Gancio v1.20.0
Clients
- Mastodon for Android v2.8.0
- Tesseract v1.4.20
Tools and Plugins
For developers
- Bovine v0.5.13
- Fedify v1.2.3
- ActivityPods v2.0.3
Protocol
Articles
- ManyFold: A Decentralized, Open Source Platform for 3D Model Distribution
- Mastodon’s Account Recommendations Explained
- Fediverse Migrations: A Study of User Account Portability on the Mastodon Social Network
- Last Week in Fediverse – ep 91
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0192e941-03f3-61de-e8f7-7c7cf62ddaf1
@Flipboard@flipboard.social
People who’ve figured out the fediverse understand its power. Hear from early adopters who explain their lightbulb moments in our new short video series. The use cases and potential of the system are awesome, and these stories are just the beginning. Tell us: what's your favorite thing about the fediverse? We're listening and looking for more people to feature.
https://about.flipboard.com/fediverse/best-thing-about-the-fediverse-short-videos/
@pfefferle@mastodon.social
We just released version 4.1.0 of the #ActivityPub Plugin for #WordPress https://wordpress.org/plugins/activitypub/
Some handpicked features:
* Custom Preview for “Fediverse” (needs WordPress 6.7)
* Support `comment_previously_approved` setting
* Add title to content if post is a `Note` (cc @davew )
* Fallback to blog-user if specific user is disabled (cc @cdevroe )
Happy federated blogging!
The version on WordPress.com will also be updated soon!
@nilesh@fosstodon.org · Reply to nilesh's post
How is AT / #Bluesky different from #ActivityPub : https://bsky.app/profile/danabra.mov/post/3l7oxg72zd22t
@Edent@mastodon.social · Reply to Terence Eden's post
I *think* I've got this #ActivityPub syntax correct.
http://colours.bots.edent.tel/followers
That should be paginated followers, but I can't see the followers in any Mastodon client.
@Razemix@mamutovo.cz
Trochu jsem zabředl do toho, jak vlastně funguje #BlueSky, konkrétně jejich #ATProto protokol, na kterým to celý stojí. Některý věci jsou fajn, např. jednodušší oddělení identity (klidně na vlastní doméně) od dat (a jednodušší přenos účtu, kterej je možnej i v případě, že server zanikne). Z toho by si #ActivityPub (AP) protokol (pohání #Fediverse/#Mastodon) mohl vzít příklad. Problém AP je taky to, že se uživateli kolikrát nezobrazej všechny komentáře, lajky apod. Na BlueSky tohle funguje. Proč?
@Floppy@mastodon.me.uk
If anyone wants to see a talk I did on #ActivityPub, @manyfold and #Federails, here's the one I did at #LRUG in October (and also at #OggCamp the day before):
https://makertube.net/videos/watch/425d9267-2bb9-48bf-ac60-eeecfb78ab5d
@Edent@mastodon.social · Reply to Terence Eden's post
Alrighty! Next silly #ActivityPub question.
Why can't Mastodon see my followers?
https://socialhub.activitypub.rocks/t/list-of-followers-isnt-available-to-mastodon/4717
@Edent@mastodon.social · Reply to Terence Eden's post
OK. What is going on here?
A bunch of people can see the posts sent out by @colours - but lots of people can't.
As far as I can see, Mastodon.social isn't sending me back an HTTP response when I send to a shared inbox. But other Mastodon-based servers happily accept it.
Here are the headers
https://gist.github.com/edent/1f41d1b2a50ab497e5d5f8d9e851caf1
Any help #ActivityPub friends?
@ChristianKrebel@ohai.social
I like the idea of providing paid content on the Fediverse (even though I do not pay for such anywhere currently). https://sub.club/ implements it via premium accounts and DMs but I wonder if we could (and should) enhance the protocol to allow for payment.
At the start only two clients will support it natively because of that.
@aud@fire.asta.lgbt · Reply to Asta [AMP]'s post
It's true that a lot of servers in the fediverse are probably run by cool people, but remember that everything you say is copied many, many times over to many, many different databases. For example, my single user instance here federates with like, 11,000 fucking instances, I am not joking. That means this little post could be copied into 11,000 databases, give or take, depending on the nature of the instances I'm federated with.
So in theory, let's say I posted something, like, I dunno, "fuck dtolnay". Any one of those servers could take offense with that and be shitty to me about it. And I don't control their retention policies.
So! While we don't have to worry about Mark "My Cold Dead Eyes Are The Mark of the Beast" or Elon "I fucked my own cybertruck and liked it" being shitty about our stuff here, it's not a bad idea to consider the nature of the fediverse when writing spicy things that could be prone to misinterpretation.
#activityPub #fediverse
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
모두들 스스로만의 #ActivityPub 소프트웨어을 만들어 봅시다! #Fedify 프레임워크를 쓰면 쉽게 할 수 있습니다!
@hongminhee@fosstodon.org
Let's all build your own #ActivityPub implementation! #Fedify makes it easy!
@tchambers@indieweb.social · Reply to Olivier Simard-Casanova's post
@o_simardcasanova @haubles @pluralistic @Mastodon
Well, to be fair, you CAN download and upload your posts here and not lose them on Mastodon, but point taken that the migration is still getting there, but #ActivityPub is working that out for future version.
I'm still confused how BlueSky migration of social graphs would work IF there were another non-BlueSky entirely other ATproto service overall - and how that would work in terms of interoperablity with those users on the BlueSKy service.
@fediversereport@mastodon.social
New: A Conceptual Model of ATProto and ActivityPub
You might want to know a little bit more about how #Bluesky and #atproto works, without needing to know all the technical details. This is a high level overview of how to think about how atproto works, and how it differs from #ActivityPub.
It is also a reflection on the concepts of decentralisation and federation, and what they bring to both the #fediverse and the #atmosphere
Read at: https://fediversereport.com/a-conceptual-model-of-atproto-and-activitypub/
@profoundlynerdy@bitbang.social
Is the #Diaspora social network still alive?
Some people list it as part of the #Fediverse but others do not. I'm not sure if it has an #ActivityPub protocol plugin or not, which tends to be the litmus test for being part of the Fediverse.
@glyph@mastodon.social
The Fediverse MUST grow to encompass all websites and apps that want a future without centralized gatekeepers that are soft targets for authoritarian takeovers.
The protocols are TOOLS for doing this they are not ends in themselves, and they MUST be SECONDARY to the goal of an interconnected, open social web. To do that, we need to find ways to work together and stop yelling at each other so much.
We'd better, or we are all screwed.
https://blog.glyph.im/2024/11/the-federation-deathmatch.html
@mariusor@metalhead.club · Reply to marius's post
The full(working) example can be found here: https://pkg.go.dev/github.com/go-ap/filters#example-SearchIndex
@hollo@hollo.social
Hollo 0.2.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
The key changes of this release include:
Thanks to @thisismissem, now you can report remote accounts and posts.
Added two-factor authentication support.
Thanks again to @thisismissem, Hollo improved alignment on Mastodon API changes about OAuth and apps.
Thanks again to @thisismissem, RFC 8414 for OAuth Authorization Server metadata endpoint. It will improve interoperability between Hollo and Mastodon-compatible client apps.
Renamed the Data menu from the administration dashboard to Federation, and:
Custom emojis now can be deleted from the administration dashboard.
Thanks to @helge, PORT
and ALLOW_PRIVATE_ADDRESS
environment variables are introduced.
Added a favicon.
Dropped support for Redis, which was an optional dependency.
You can upgrade to Hollo 0.2.0 using the following ways:
To Railway users: Just redeploy the Hollo service!
To Docker users: Switch your Hollo image to ghcr.io/dahlia/hollo:0.2.0
or simply latest
!
To manual installers: Fetch the stable
branch and switch over to it!
@eblu@wetdry.world
it's like this
@fedify@hollo.social
Have you heard of Val Town? Val Town is a kind of code pastebin + serverless function.
Actually, #Fedify works just fine with Val Town. Here's a piece of ActivityPub software, implemented in about 170 lines of code, running on Val Town. Of course, it's built with Fedify!
Give it a follow @demo, and it will follow you back.
Curious to see how it was implemented? Check out the source code!
@mariusor@metalhead.club · Reply to marius's post
I'm sure I made plenty of mistakes, but I have to admit I find it surprisingly satisfying to be able to operate on a data type that I can overlay on top of the existing #FedBOX storage engines and get native and *fast* querying for them.
The indexes are quite chunky despite being built on top of roaring bitmaps because there's so many "indexable" elements in an #ActivityPub object. (Currently I'm indexing the type, the content, summary, name, preferredUsername, the recipients, the actor and the object)
As I explore some more, I hope I streamline some of these issues, and make the whole thing more robust.
@weekinfediverse@mitra.social
Week in Fediverse 2024-11-01
Servers
- PeerTube v6.3.3
- Hatsu v0.3.0
- ActivityPub for WordPress v4.0.2
- ActivityPods v2.0.2
- NeoDB v0.10.4.9
Clients
Tools and Plugins
For developers
- Fedify v1.2.0
- pl-api: A JavaScript library for interacting with Mastodon API-compatible servers, focused on support for projects extending the official Mastodon API
- WebFinger Split-Domain Canary
Protocol
- FEP-7952: Roadmap For Actor and Object Portability
Articles
- One year after X: Embracing open science on Mastodon
- Request for Comments: The Fediverse Schema Observatory
- Diving Into the World of Lemmy
- Setting up my federated fleamarket with flohmarkt
- Last Week in Fediverse – ep 90
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0192c4f8-a18b-911e-3605-83248ab4737b
@fedify@hollo.social
What are your thoughts on Fedify's docs?
Option | Voters |
---|---|
Comprehensive and easy to understand | 4 (67%) |
Comprehensive but hard to understand | 0 (0%) |
Limited but easy to understand | 1 (17%) |
Limited and hard to understand | 1 (17%) |
@webmink@meshed.cloud
I've been testing a federated classified ads server, flohmarkt ("Flea Market") which I think is a promising idea for promoting a circular economy among friends. Details on my hub.
It raises quite a few questions for me though - it's going to need more trust & safety features than other #Activitypub applications for example.
https://codeberg.org/flohmarkt
#OpenSource #FreeSoftware #Fediverse #SelfHosting #CircularEconomy #Yunohost
@importantimport@fosstodon.org
Hatsu v0.3.0 "Strobe Nights" has been released!
https://github.com/importantimport/hatsu/releases/tag/v0.3.0
#Hatsu is a self-hosted bridge that interacts with Fediverse on behalf of your static site, written in #Rust .
@fedify@hollo.social
Visualize your server in the fediverse with the fedify node
command and share it with us using the #FedifyNode hashtag!
(See also how to install the fedify
command.)
@fedify@hollo.social
The version 1.2.0 of #Fedify, an #ActivityPub server framework, released! The key changes include:
Added InboxContext.recipient
property. It's useful for determining whether it is a shared inbox or a personal inbox, and whose personal inbox is invoked.
Added getNodeInfo()
function, a NodeInfo client.
Added followedMessage
property, which corresponds to _misskey_followedMessage
, to Actor
type in Activity Vocabulary API.
Log messages now can be traced using LogTape's implicit contexts, which means you can filter log messages by requestId
(an HTTP request identifier) or messageId
(a background task identifier).
Now you can choose an AMQP driver (which supports RabbitMQ) for the message queue in the fedify init
command.
Added the fedify node
subcommand, which fetches the given instance's NodeInfo document and visualizes it in neofetch
-style.
For details, see the full changelog as well!
@erlend@writing.exchange
It makes me sad that some #fediverse and #activitypub
advocates don’t believe a pluriverse of social web protocols is possible;
that’s literally all the web has ever been. Additive, composable stacks.
It was never that *one* protocol. It’s the mixing and matching of multiple protocols - like http+html ad infinitum - that makes the World Wide Web so resilient.
Plurality is the web’s superpower; the more you fight it the more the pluralists will route around you instead of with and through you.
@tom@tomkahe.com
Are there any ActivityPub projects that do anything with Location? I think Pixelfed lets you assign a location to a post and I'm sure Flohmarkt needs to use location for a lot of what it does.
I ask because when I went to get lunch today the whole road was shutdown about a quarter mile away from where I work with a dozen police vehicles surrounding the area- it'd be interesting to have location based news articles when a local news org has the exact location of an event that could just show up on my maps or something.
Even outside of the news space, Google maps uses their restaurant reviews and places those on their map, I'm not sure if we have a yelp-like service on the fediverse yet but it'd be neat
@julian@fietkau.social
I am publishing a small #ActivityPub / #fediverse project: https://fietkau.software/webfinger_canary and @canary 🙂
It is a tiny bot showcasing a split-domain WebFinger setup, where the handle domain is different from the ActivityPub server domain. This is supported by Mastodon and some other ActivityPub implementations, but not all of them.
So this project, aimed at devs and power users, is part test case, part feature recommendation/advocacy. The bot's website at https://correct.webfinger-canary.fietkau.software/ has all the details.
@pablo@sivar.cafe
Continued my experiments with #Fedify and #ActivityPub yesterday and I think I’m confused.
I was trying to make an extension for an Object, and if I understand #JsonLd, the context property contains the definition of any extra property added. I see e.g. the activity streams ns resolves to a nice JSON LD that contains all the properties, but the mastodon one doesn’t resolve to anything? Is it not necessary?
@fedify@hollo.social
Starting with the next release of #Fedify, v1.2.0, we will support traceable logs for easier debugging. Fedify's traceable logs are implemented using the implicit contexts introduced in LogTape 0.7.0, and most of the logs that Fedify records are given a requestId
or messageId
. This means that logs can be grouped into requests or background tasks for better analysis.
Want to try it out in advance? Try Fedify v1.2.0-dev.468+2e17cd69 (JSR & npm)!
@deadsuperhero@social.wedistribute.org
I think a major source of disillusionment that I’m dealing with involves coming to terms with the shortcomings of #ActivityPub, especially as most of the network implements a Mastodon-centric version of the spec.
To be clear, I think the hackers building the cool, innovative, bleeding-edge stuff with it will be fine, will continue to develop, and will ultimately be the ones to move things forward in the long term.
However, I make no illusions about the protocol itself, The Social Web Foundation, or any of the working groups involved with it. To me, these are slow-moving, incapable of examining the true faults of the spec, and unwilling to accept hard criticisms. We have floating proposals for encrypted messaging, some half-baked concept for migrating identities around (LOLA), and maybe some vague promises about making the process of onboarding and building more palatable for corporations and businesses.
To me, this is a categorical failure at the highest levels. It has almost completely demoralized me from reporting on or participating in this space. I don’t think Evan is particularly suited to building a community or evolving the spec or even acting as an advocate. His repeated interactions over the last few months have done more harm than good.
Do you know what it’s like to be an advocate and a champion of a space for 15 years, to see upward mobility and evolution, to watch adoption hit a peak, and watch everybody in positions of authority just absolutely squander it over and over again, because they can’t see past their own myopic views?
@cyrus@wetdry.world
posting yet another little thing, this time about a prevalent problem in the AP world: "view more replies on {origin instance}", AKA the "source of truth" problem (as I've dubbed it).
https://whtwnd.com/alexia.bsky.cyrneko.eu/3l7mnsf7p2s27
#activitypub #atproto #fediverse #tech #technology #protocols
@hongminhee@fosstodon.org
In #Misskey, does the icon for the server information that I see in the remote note come from the favicon for that server?
@coelacanthus@yuuta.moe
这些 #ActivityPub 的实例软件似乎都没有和邮件类似的重发机制,鱼塔实例挂了两周多,重新上线之后那两周的时间线还是空的。
@faeempress@tokler.com
The alpha version of Raels is now hosted at https://raels.online #fediverse #ActivityPub #tiktok
This is ALPHA software, expect bugs, problems, account deletion, etc.
@dansup@mastodon.social
BlueSky: Profit powered protocol
ActivityPub: People powered protocol
The choice is simple when you consider one is funded by a crypto VC firm, and the other is truly decentralized
@steve@social.technoetic.com
I've been developing an #ActivityPub C2S-based (with extensions) API facade/proxy proof-of-concept for Mastodon. It runs as a separate process that supports proxying the Masto operations but also adds a postable C2S outbox with support for AP C2S activities. These activities are converted into upstream Mastodon API calls. This extended C2S API also supports search, streaming events, managing bookmark collections, and retrieving timeline collections. 1/2
@j12t@j12t.social
Made it through @evan’s #activitypub book. Lots of good and useful stuff for implementors there.
Particularly intriguing: his chapter on “Far Horizons”: ideas on what else could be built with ActivityPub that goes beyond today’s typical social media functionality. Need an idea for a new project or startup? There are several interesting ones in there.
@ajsadauskas@vivaldi.net
Plenty of posts recently questioning whether BlueSky is actually a decentralised, federated social network like the Fediverse.
(Yes, the following description of ATproto is a gross oversimplification. I realise this. Bear with me a moment.)
Basically, under BlueSky's AT Protocol, you can opt to have your data hosted on your own personal data server (PDS). But these servers all need to connect to a central relay, and at present the only central relay is BlueSky.
Any account that follows Bridgy Fed @bsky.brid.gy also gets federated into the Fedi.
Now.
Let me introduce you to WhiteWind. https://whtwnd.com/
What's WhiteWind?
It's a longform blogging platform, where all your blog posts are saved to your BlueSky PDS.
So right now, today, you can set up your own PDS. Allow BSky access and store your BSky posts in it. And also grant WhiteWind access and allow WhiteWind to store its files there.
And any BlueSky posts replying to your WhiteWind blogs are visible — on WhiteWind.
So potentially, in the future, you could be storing data from multiple social networks and apps — including photos and videos — in your PDS.
In effect, federating across multiple networks doesn't happen at the level of BlueSky. It happens at the level of your account.
@galileo@animexx.de
Ich bin ja dafür, dass Jodel #ActivityPub unterstützen sollte
@galileo@animexx.de
@feb @strght die gibt es eben nicht. Wenn du dich neu anmeldest musst du sehr aktiv deine Timeline aufbauen und du findest deine ggf. vorhandenen Freunde erst mal nicht. Hier ist alles manuell, das ist auch so gewollt aber hat halt Konsequenzen.
Das hat imho auch nichts mit #activitypub oder #Fediverse zu tun, das ist einfach Mastodon-Style.
@strght@mastodon.social
Fediverse quo vadis?
.
.
Die Idee des #Fediverse’ ist gut.
Die Idee von #Mastodon ist gut.
Die Idee der #ActivityPub ist gut.
.
.
Dennoch fliegt die Kiste noch immer nicht.
Kulturschaffende, Politiker usw. ziehen sich zurück, sind Cross-Pister, bridgen.
Die inhaltliche Vielfalt nimmt ab.
.
.
Stattdessen werden commercielle Datenschnüffler (Threads u.a.) angeflanscht u Plüschtiere (Merch) verkauft.
Die Strategie ist gescheitert. Kein quantitatives o qualitatives Wachstum.
.
.
Was fehlt?
@linos@graz.social
What slogan should we choose for our #WordPress plugin that integrates Events with the #ActivityPub plugin?
Option | Voters |
---|---|
Federate Your Events, Expand Your Reach | 11 (61%) |
From WP to the Fedi - Expand Your Event's Presence | 4 (22%) |
Distribute Your Events Beyond Boundaries | 1 (6%) |
Announcing Your Events Freely | 2 (11%) |
@weekinfediverse@mitra.social
Week in Fediverse 2024-10-25
Servers
- GoToSocial v0.17.1
- Manyfold v0.86.0
- Mastodon v4.3.1
- Hollo v0.1.0
- snac v2.61
- Ibis v0.1.4
- Mitra v3.8.0
- Castopod v1.13.0
- ActivityPub for WordPress v4.0.0
- NeoDB v0.10.4.8
- rdf-pub: An activity-pub server implementation, that is not limited to the activity-stream vocabulary, but supports RDF per se
Clients
- IceCubesApp v1.11.2
- Mastodon for iOS v2024.10
- Aria v0.15.0
- PixelDroid v1.0.beta38
- Voyager v2.18.3
- Tesseract v1.4.19
Tools and Plugins
- Fediverse Redirect v1.14.0
- Tangerine UI for Mastodon v2.2
- TootPal: An app to discover people on a Mastodon instance that share your interests
- Fediverse Signatures: Collect signatures for an article on your blog or a website page
For developers
- Bovine v0.5.12
- Fedify v1.1.0
- FediTest v0.4
- Masto.js v6.10.0
Protocol
- FEP-ae0c: Fediverse Relay Protocols: Mastodon and LitePub
Articles
- revealing the fediverse's gifts
- Selfhosting Snac2 on Tailscale Funnel
- Helping to build the open social web
- Last Week in Fediverse – ep 89
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0192a124-e90c-93c4-a440-99271a2cec4c
@bryan@urbanists.social
What I don’t like about the #Wordpress implementation of #ActivityPub is that I see the whole damn post, long-form and unformatted, in my feed. Let’s hope #ghost does it better.
@hikatamika@mastoart.social
I'm not interacting with #BlueSky FUD anymore. I'll despair when any shit actually starts happening and until then I'll keep using both #ATproto and #ActivityPub cause I like both 😋
I know most ActivityPub loyalists are burned from repeat after repeat of the VC enshittification dance, but if people cared to understand how ATproto actually works, I feel like an ATproto account can survive enshittification, but my Masto accounts can't even survive mods having beef.
@pfefferle@mastodon.social
you are asking what features the new ActivityPub plugin version has?
thanks for asking! ☺️
* Support for post visibility - you can choose between "public", "only followers" and "no federation".
* Attribution-Domains - that should fix the fediverse:creator issues, if you had issues https://github.com/mastodon/mastodon/issues/32574
* Improved compatibility with caching plugins
https://github.com/Automattic/wordpress-activitypub/releases/tag/4.0.0
@expertplus@wizard.casa
Mitra, honestly, isn't a bad social network.....the problem is, as well as with Friendica, that Mastodon killed Fediverse.
Which means small amount of users for other social networks that use Activity Pub protocol.
@steve@social.technoetic.com
I submitted a draft FEP describing the Mastodon and LitePub/Pleroma #ActivityPub relay protocols. Comments and corrections are welcome.
https://codeberg.org/fediverse/fep/src/branch/main/fep/ae0c/fep-ae0c.md
@hollo@hollo.social
Finally, Hollo 0.1.0 released! #Hollo is a single-user federated microblogging software which is #ActivityPub-enabled and powered by #Fedify.
Hollo has the most of features that Mastodon has except for moderation tools, and also include:
If you're interested in Hollo, please give it a try! There are several ways to install it: using Railway, using Docker (and Docker Compose), or manually.
If you're already using Hollo, please upgrade it to v0.1.0:
ghcr.io/dahlia/hollo:0.1.0
or simply latest
!stable
branch and switch over to it!@FediTips@social.growyourown.services
Hey 3D printing people on the Fediverse!
There's a new Fediverse-compatible 3D model manager called Manyfold, which is sort of a self-hostable alternative to Thingiverse. You can follow Manyfold's account at:
➡️ @manyfold
The Manyfold website is at:
It's a free open source self-hostable site for storing 3D models, especially 3D printing models. Accounts on Manyfold servers can now be followed from Mastodon etc.
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
Want to build your own #ActivityPub software? Follow the tutorial for #Fedify, the ActivityPub server framework!
@hongminhee@fosstodon.org
나만의 #ActivityPub 소프트웨어를 만들고 싶으신가요? ActivityPub 서버 프레임워크인 Fedify의 튜토리얼 우리말 버전을 따라해 보세요!
@fedify@hollo.social
The version 1.1.0 of #Fedify, an #ActivityPub server framework, released! The key changes include:
Added uility functions for traversing remote collections. See also the Traversing remote collections section in the docs.
Added EmojiReact
class to Activity Vocabulary API. [FEP-c0e0]
Added successor
property to the Actor
types in the Activity Vocabulary API.
Added DidService
class to Activity Vocabulary API. [FEP-9091]
Added service
property to the Actor
types in the Activity Vocabulary API. [FEP-9091]
The default time window for verifying HTTP Signatures of incoming requests is now an hour (was a minute). This new default window is according to the ActivityPub and HTTP Signatures document.
In the fedify inbox
command's web interface, the Raw Activity tab is added to show the raw JSON object of the received activity.
For details, see the full changelog as well!
@lutindiscret@mastodon.libre-entreprise.com
Un article qui présente l'architecture de #bluesky et du #ATProtocol (avec une petite comparaison avec #ActivityPub, #nostr et #farCaster).
@stefan@stefanbohacek.online
EDIT: I think I should have enough datapoints for now, thank you all so much for sharing and replying!
Hey, is there anyone who uses the #ActivityPub #WordPress plugin? I'd just like to check how it handles a few things.
Boosts for visibility would be very appreciated 🙏
@darnell@one.darnell.one · Reply to Building ActivityPub's post
@index Great news indeed! After you successfully implemented #ActivityPub inside #Ghost, will you consider creating official iPhone, iPad & Android apps for the platform‽
@weekinfediverse@mitra.social
Week in Fediverse 2024-10-18
Servers
- Manyfold v0.82.0
- Ibis v0.1.2
- GoToSocial v0.17.0
- Mitra v3.7.0
- Pleroma ActivityRelay v0.3.3
- Misskey v2024.10.1
- tootik v0.12.6
- Castopod v1.12.11
- NeoDB v0.10.4.7
Clients
- tootgroup.py v1.5.0
- RaccoonForFriendica: A Kotlin Multiplatform client for Friendica
Tools and Plugins
For developers
- Fedify v1.0.3
- Federails v0.2.0
- Masto.js v6.9.0
Protocol
- FEP-268d: Search consent signals for objects
Articles
- how to buy shoes in the fediverse
- The Challenge of ActivityPub Data Portability
- Last Week in Fediverse – ep 88
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01927d0a-35f7-3994-5862-0c43d821fb63
@tom@tomkahe.com · Reply to Tom Casavant's post
An ActivityPub server that only federates with instances that refuse to federate with it
@tom@tomkahe.com
An ActivityPub server that has open federation but if your server has the gall to send any request to it then it is immediately placed on the instance block list
@ame@breta.moe
With many people joining #bluesky now, please follow @bsky.brid.gy to bridge your posts from Mastodon, Misskey, etc. over to the other side of the fediverse as well!
Being able to follow #activitypub accounts from bluesky makes the all of Fedi more attractive!
Let's make the #fediverse the best place it can be 💙
@evan@cosocial.ca
Has anyone built an #ActivityPub server using just Postgrest? I don't think it'd be easy but it could be very fun. The tricky part would be making the delivery job queues work; don't think Postgrest has them built in.
@hongminhee@fosstodon.org
The value of the form at://… in the alsoKnownAs property of the actor generated by @bsky.brid.gy is not actually a valid URL? It cannot be represented as a URL object in Node.js or Deno.
@nibushibu@vivaldi.net · Reply to GENKI's post
#ActivityPub のここがだめだ(だから #BlueSky の #ATProtocol だ)とか、いろいろ技術論書くひともいるし、多分それは技術の面でみたら正しいのかもしれないけど、
結局それがどういう技術で作られてるかより、どういう場所で居心地がどうなのかとか、雰囲気とかそういうよくわからない定性的なものから人間そう簡単には逃れられないというか、単純にいまはもうここが一番居心地が良いのでここにいるだけという感じがする、自分。
自分も自分の決断とか振る舞いに自信がなくなると、つい定量的に説明できる理由が欲しくなって、あーだこーだいろいろ考えることもあるけど、 #ATProtocol からみた #ActivityPub の問題、みたいな記事がいくつか流れてくるのを斜め読みしてたらなんかそういうのどうでもいいなという気持ちになってきた
@thenexusofprivacy@infosec.exchange · Reply to The Nexus of Privacy's post
More questions than answers: another post about the Social Web Foundation and the fediverses
https://privacy.thenexus.today/swf-questions/
(Part 4 of "I for one welcome Bluesky, the ATmosphere, BTS Army, and millions of Brazilians to the fediverses!", but like other posts in the series it hopefully stands on its own)
@thenexusofprivacy@infosec.exchange · Reply to The Nexus of Privacy's post
On second thought, an even better way to welcome Bluesky, the ATmosphere, BTS Army, and millions of Brazilians to the fediverses is to write a series of posts about it ...
Here's part 2: Is Bluesky part of today's Fediverse?
Spoiler: it depends on your definition of "Fediverse"
https://privacy.thenexus.today/is-bluesky-part-of-todays-fediverse/
@steve@social.technoetic.com
Does anybody know which #ActivityPub relay implementation is the most widely deployed?
@grishka@mastodon.social
I wasn't posting much news about #Smithereen lately — fixing that!
The core functionality of photo albums is now done. You can create albums, upload photos, comment on them, and like them. It's all properly federated (between Smithereen servers only). There's a brand new photo viewing UI too. Two of them, actually, desktop and mobile.
Remaining features for 0.9 include:
- "System" albums — profile pictures and saved photos
- Tagging
- Profile picture update posts
- Groups feed
@chewie@mammut.gogreenit.net
@Floppy gave a talk at #OggCamp2024 about how #ActivityPub works, and some software he has created for 3d print objects (https://manyfold.app/) that will interface with the fediverse
@Nuki@yiff.life
You know, if someone wants to make an #erotica #publishing #website that integrates #activityPub, I would not only be happy to get in on programming that, but could bring a couple hundred followers with me there. I wouldn't necessarily get rid of this account, but I would move the long-form stories there.
@peertube@mastodon.uno
Che cos'è Peertube: la presentazione video alla piattaforma di #videosharing #open, #etica, #libera, #decentralizzata
https://peertube.uno/videos/watch/c79e7ec9-40c6-4f28-bda4-ca043946a236
La trasmissione video su PeerTube è peer-to-peer (attraverso #WebRTC): le persone guardando video su PeerTube condividono parti di quel video partecipando alla sua trasmissione verso le altre persone sullo stesso video. I video ospitati su #PeerTube possono essere visualizzati direttamente da #Mastodon e da altre reti #Fediverse via #activitypub
@devol@mastodon.uno
Il nostro sogno per il fediverso è un mondo in cui non sia più necessario dover dipendere da social frammentati che non comunicano fra di loro, ma poter comunicare su un'unica grande rete libera e unita. Il fediverso è l'unica grande rete in cui è tutto collegato.
@matt@writing.exchange · Reply to Matt Baer's post
Maybe it's devs implementing the C2S side of #ActivityPub, or a multi-protocol client, or built-in browser support for the #fediverse. Maybe we need a single entry point to the fediverse, with a smooth interface, easy setup, and a server behind the scenes.
Either way, making "decentralization" central to the user experience here is keeping a ton of people off the network.
@weekinfediverse@mitra.social
Week in Fediverse 2024-10-11
Servers
- WriteFreely v0.15.1
- ActivityPods v2.0
- Mastodon v4.3.0
- Hubzilla v9.4.3
- snac v2.60
- PeerTube v6.3.2
- ActivityPub for WordPress v3.3.3
- Misskey v2024.10.0
- tootik v0.12.5
- Mbin v1.7.2
- Trunk & Tidbits, September 2024
- Hamabē: Federated Chat Space
Clients
- IceCubesApp v1.11.1
- Mastodon for Android v2.7.3
- TootRain v2.0.1
- Voyager v2.18.2
- Aria v0.15.0
- Phanpy changelog
- pl-fe: A social networking client app forked from Soapbox
Tools and Plugins
- Tangerine UI for Mastodon v2.0
- Mastodon Bird UI v2.0.0
- Enable Mastodon Apps for WordPress v0.9.9
- wf-migrate: Tools for migrating between WriteFreely instances
- FediMod FIRES: A protocol and reference server implementation for storing and distributing moderation advisories and recommendations over time for the Fediverse
Protocol
- FEP-76ea: Conversation Threads
- FEP-1985: Signaling how an OrderedCollection is ordered
Articles
- Using a Permanent WebFinger Address for My Fediverse Profile
- Setting Up Mastodon Author Tags
- IFTAS Update: Content Classification, Moderation Tooling
- Beyond technical features: why we need to talk about the values of the Fediverse (part 2)
- Last Week in Fediverse – ep 87
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/019257ef-60b9-8669-582d-c5c54eda938f
@Sh4d0w_H34rt@cyberpunk.lol
Looking more into #Meshtastic for emergency communication, I've come across a few projects:
Meshtastic SAME EAS Alerter- which uses an SDR to share local alerts
TC²-BBS Meshtastic Version- a Meshtastic BBS
So I'm starting to get an idea of what all I'll need. I love the BBS idea as it is great for press release information and situational updates. I also saw a BBS that integrates with #Activitypub called Xibalba BBS. Has anyone used Xibalba BBS cause I can't find much on it?
Edit: Getting closer to an answer now.
https://l33t.codes/2023/02/03/WebFinger-ActivityPub-BBS-Extensions/
@echo@mstdn-social.com
Echo for #Lemmy is now available! Goodbye #Reddit, Hello @LemmyDev. #Fediverse #ActivityPub 👋
@nibushibu@vivaldi.net · Reply to GENKI's post
#BlueSky はよくわからない。平和そうではあるけど、存在そのものが Web の標準規格 #ActivityPub と競合していて、いつか統合される日のために技術的可能性を模索してねと応援する気持ちもあるし、結局流行りのフレームワークみたいな感じでそのうち廃れていく気もする。
前に長い感想書いたし、これ以上の感想が出てこないし、例えるほど中の雰囲気を知らない
@dansup@mastodon.social
I'm building a public Autospam detection service that will be compatible with Pixelfed, Mastodon and other projects!
I'm leveraging my expertise* in Autospam, along with my 3 year old dataset to build the best fediverse Akismet alternative.
Are you interested? Boosts appreciated!
@manyfold@3dp.chat
Fancy a small preview of a BIG feature that's in the works?
@goetz@chaos.social · Reply to Renaud Chaput's post
@renchap
Mastodon gGmbH is listed as a partner of the #SocialWebFoundation!
The mission of SWF does not match, if not contradicts the purpose and object of the gGmbH.
In my point of view this is the beginning of "embrace, extend and extinguish" of #activitypub like we saw with #xmpp
@fediversereport@mastodon.social
New: Last Week in #fediverse - ep 87
This week's news:
- @Mastodon has launched their latest version, 4.3
- ClubsAll is a new Reddit-like build on #activitypub
- IFTAS is slowly launching their Content Classification System that allows servers that have opted in to scan for CSAM
Read at: https://fediversereport.com/last-week-in-fediverse-ep-87/
@hongminhee@fosstodon.org
According to the Activity Vocabulary specification, the summary property should be HTML encoded, but #Mastodon is putting plain text in the summary property. #Hollo is putting #HTML in the summary, but should I change Hollo's behavior?
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-summary
@pfefferle@mastodon.social
did you know that the #ActivityPub plugin for #WordPress supports "content warnings"?
@steve@social.technoetic.com
#ActivityPub hasn't changed in six years. That's very good.
#ActivityPub hasn't changed in six years. That's very bad.
@aoetk@fedibird.com
おー、オライリーからActivityPubについての本が出たのか
/ ActivityPubの共作者エヴァン・プロドロモウがソーシャルウェブ財団を設立し、ActivityPub本を出していた - YAMDAS現更新履歴
https://yamdas.hatenablog.com/entry/20241001/evan-prodromou-activitypub
@aoetk@fedibird.com
そそ、ActivityPubにおける「グローバルビューの欠如」は不必要な文化の衝突を防ぐための意図的なものであるのよね。最初から全ての人がつながっているとそれだけ衝突が発生しやすくなる。
@nibushibu@vivaldi.net
#Bluesky は #Fediverse の課題点を技術的に克服し得るものとして #ActivityPub
に変わる新たな #ATProtocol を作ったという流れは理解してるけど、その #Fediverse の課題点がそもそも従来のように「SNS はグローバルビューをもつべき」という世界観から見たときの「課題感」だと思っていて、#Fediverse はそもそも「適度に分断し、適度に繋がる」ということを前提として設計されていて理想像がそもそも違うし、それを「#Fediverse には投稿の無断収集に文化的抵抗がある」という話だけでなんとなく「ネガティブで保守的な文化がある」という感じにしか書かれていないのが少し残念だった。
なぜ #Fediverse にそういう文化があって、なんでそれが一定数そこで支持されてるのかということまで深堀りしていくと、そこにはもうちょっとポジティブな見方もできることもあるはずなんだけどなーと。
ただ、どこにでも原理主義的な考えはあるように、たしかに #Fediverse には「勝手にクロールされる」ということに強烈に拒否反応を示す人がいたり、そういう人の声で串刺し検索サービスが「もう無理ー」と潰れてしまったことは、事実、自分が #Mastodon #VivaldiSocial
始めたあとにもあったし、#Mastodon に現状の検索機能にも結構強く反対している人がいたのは見ているので、確かにそういう文化的「傾向」というのはあるとは思うし、対抗する #BlueSky が目指す理想もわかるところはある。
じゃあ #Bluesky が「良い」のか?といえば自分にとってはそんなことはなくて、現状ではむしろ #Bluesky こそ稼働しているインスタンスはほぼ中央集権だし、結局「技術的に分散可能というだけで実質中央集権」みたいな「分散型という傘をかぶっただけの存在」になる可能性はあると思う。
その点、標準化団体が標準技術としてすでに定めている #ActivityPub に対応した複数のソフトフェアがあって、またインスタンスの大小があるにせよ、それらのソフトウェアが使われた複数のサーバーを個人や企業が運用していて、それがすでに連合しているという実績も #Fediverse にはあって、それを無視して従来の SNS の視点でみた「グローバルビューがない」という観点だけ(※)で過小評価するのはフェアじゃないような。
※
アカウントポータビリティは少なくとも にはあるし、スケーラビリティーについても、理論的限界はそうであっても、実際には時間が改善・解決していく部分もあるし、今必要なスケールに対応できているのであればそんなにクリティカルな問題じゃないと個人的には思っている
(つまるところ not for me な記事だったというオチ
@hollo@hollo.social
Want to run your own personal #ActivityPub server, but don't have the server specs to install Mastodon? Try #Hollo, a lightweight personal ActivityPub server!
@jwildeboer@social.wildeboer.net
So now that Chrome (Google) has redefined the web to serve ads instead of content and Mozilla happily follows suit, because, well, Google pays most of their bills, the W3C shrugging — what’s the next big thing? Can we evolve #ActivityPub to the #InternetOfPeople or will it also be eaten by ad money? #Goodnight and #GoodThoughts
@justine@bsd.cafe
After getting to try the #Snac activity pub server developed by @grunfink on bsd.cafe thanks @stefano , I'm kind of tempted to spin up my own instance. Anyone here other than Stefano that runs their own instance ? Please share you pro's and con's plus any workarounds you have come up with.
Also how are you viewing / posting on mobile ? Are you just sticking with web or using the likes of #Tusky ?
#Fediverse #ActivityPub
@homegrown@social.growyourown.services
If you're an advanced user with programming skills who is wanting to do custom stuff with Fediverse connections (or even wanting to create your own Fedi platform), you might want to check out the activitypub.rocks SocialHub forum:
https://socialhub.activitypub.rocks
I'm not a software developer so I can't help with these topics, but enough people have asked that it seemed a good idea to give the forum a mention!
@weekinfediverse@mitra.social
Week in Fediverse 2024-10-04
Servers
- Mastodon v4.2.13
- Hubzilla v9.4.2
- Mitra v3.6.0
- ActivityPub for WordPress v3.3.2
- Misskey v2024.9.0
- Gancio v1.19.4
- Castopod v1.12.10
- Lemmy Development Update 2024-10-04
Clients
- toot v0.45.0
- Mastodon for Android v2.7.1
- Pachli v2.8.2
- Fedicat 10-2-24
- Voyager v2.18.0
- Bluechirp: WinUI client for Mastodon, with the sleek design of modern Windows
Protocol
- FEP-0499: Delivering to multiple inboxes with a multibox endpoint
Articles
- Mastodon Announces Fediverse Discovery Providers
- Beyond technical features: why we need to talk about the values of the Fediverse (part 1)
- How did we move from forums to Reddit, Facebook groups, and Discord?
- Last Week in Fediverse – ep 86
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01923528-3fb5-77ad-286d-a75a1c736b09
@MOULE@moule.world
Looks like Libre.fm, an open-software version of Last.fm by the GNU Project, is being reworked to support ActivityPub!
#LibreFM #LastFM #Fediverse #SocialWeb #IndieWeb #ActivityPub #GNU #GNUProject #Music #FediMusic
@fedify@hollo.social
If you're considering creating your own implementation of #ActivityPub, consider #Fedify.
Implementing ActivityPub from scratch requires more than you might think. WebFinger, HTTP Signatures, Linked Data Signatures, Object Integrity Proofs, NodeInfo, queues for sending and receiving activities, followers collection synchronization, remote object lookups, interoperability with Mastodon, Akkoma, Misskey, Threads, and more…
Just use Fedify and feel free to create your own ActivityPub implementation!
@hongminhee@fedibird.com
独自のActivityPubの実装を作りたい方は、Fedifyを検討してみてください。
ActivityPubをゼロから実装するには、想像以上に多くの物を作る必要が有ります。WebFinger、HTTP Signatures、Linked Data Signatures、Object Integrity Proofs、NodeInfo、アクティビティの送受信のキュー、フォロワーコレクションのシンクロ、リモートオブジェクトの照会、MastodonやMisskey等との相互運用性の為の雑多な処理まで…Fedifyを使えば簡単に自分だけのActivityPubの実装を作る事が出来ます!
@strypey@mastodon.nzoss.nz
"there is a recurring refrain about implementers deciding they don't care to implement AP as specified, and that this indicates a problem with the spec, not a problem with implementers."
https://trwnh.com/unstable/fedi-vs-web.html
It does. The point of a technical standard is to document the best practice of a group of implementers. It is, by nature, a living document that needs to be updated, as the experience of implementing reveals problems and finds better approaches.
@thisismissem@hachyderm.io
This article on Web Components by @leaverou nicely encapsulates a fair few of my feelings about where we are at with ActivityPub / ActivityStreams in the standards process:
> the focus is still on making things _possible_ rather than making them _easy_
Is a fantastic sentence.
@jwildeboer@social.wildeboer.net
TIL: #ForgeFed is an #ActivityPub extension to make decentralised software development and communication within projects possible by enabling inter-forge communication. #Forgejo is working on implementing it. Just imagine! Issues, PRs, Updates on releases all with ActivityPub!
@Flipboard@flipboard.social
🌐 Curious about the fediverse and the open social web?
In this week's Community tab, we're spotlighting developers, journalists and experts who will help you learn how the fediverse is shaping a more open and connected internet, and what this means for the rest of us.
@evan @Gargron @mmasnick @quillmatiq
@Sarahp
Follow their accounts in the Flipboard app to see their posts right alongside content from your favorite publishers.
Download the Flipboard app to check it out:
https://about.flipboard.com/download-flipboard/
#Flipboard #Federation #ActivityPub #OpenSocialWeb #Fediverse #Mastodon #MastodonMigration
@kariboka@harpia.red
@socialcg@w3c.social
#SocialCG will be talking about the future of #ActivityPub -ish work items governance processes at W3C in two days at 5pm UTC (10am PT) and YOU are invited.
https://lists.w3.org/Archives/Public/public-swicg/2024Oct/0000.html
You may also want to peruse some potential CG/WG charter ideas.
e.g. if there is another WG (unlike CG, usually only open to W3C Member Organizations and a few IEs) should it be a focused ActivityPub WG or a more big tent 'SocialWG 2.0' with many work items unrelated to ActivityPub?
https://github.com/swicg/potential-charters/pulls
@fromjason@mastodon.social
Funny thing is #Meta can't stop being a cartoon villain character long enough for the #socialweb guys to defend themselves.
They're like, "#Threads isn't so bad you guys, they actually--" BREAKING NEWS ZUCKERBERG CAUGHT FUELING AI SUPER COMPUTER WITH BABY ORANGUTANS
@Flipboard@flipboard.social
Bluesky founder and CEO @jay.bsky.team says social media is stagnating because "we're in this trap where users are locked in and developers are locked out." She talked to @mike for the Dot Social podcast about building a healthier internet, how Elon impacted Bluesky's trajectory, innovating on social identity, and how different protocols can come together.
Read more about the episode here: https://about.flipboard.com/fediverse/jay-graber/
Watch the video and listen to the podcast on PeerTube here, or listen wherever you get your podcasts: https://flipboard.video/w/ophhJTECuL7fcBNbUitV3q
Discover past interviews here: https://flipboard.com/@mike/dot-social-the-future-of-the-social-web-3r0pl8ge5dju9965
#DotSocial #Flipboard #Federation #Fediverse #Bluesky #ActivityPub #ATProtocol #OpenSocialWeb #JayGraber #MikeMcCue #SocialMedia
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 86
This week's news:
- Threads degrades their #activitypub integration, delaying posts by 15 minutes before they appear in the rest of the fediverse
- Website League is a new ActivityPub-based Island network, outside of the rest of the fediverse
- Ghost discusses their beta plans and pricing.
@hongminhee@fosstodon.org
Adding vocabularies for FEP-9091 to #Fedify.
@fedify@hollo.social
Did you know that? The #Fedify CLI has a command called fedify lookup
, which can easily look up ActivityStreams objects on servers with authorized fetch (a.k.a. secure mode) enabled by turning on the -a
/--authorized-fetch
flag.
@nibushibu@vivaldi.net
#Mastodon なんかは時間制限なくあとから編集できて、かつ編集履歴も残るけど、 #Fediverse
⁂ というか #ActivityPub
で繋がる他サーバーにおける自分の投稿の編集操作の同期は他サーバー側の挙動に依存するんだっけ?(なんかそんな情報を昔見た気もする。幻かもしれない)
#Threads はいまのところ、投稿の編集が可能な間は #Fediverse へは投稿を発信せず、投稿の編集ができなくなって内容が確定したタイミングで #fediverse に共有されるようになってるのかな
@smallcircles@social.coop · Reply to infinite love ⴳ's post
Now that you mention #XMPP.. at the time that https://openengiadina.net dropped #ActivityPub support for XMPP I was tempted to follow along. So many things are better documented in that open standard and the subsequent XEP's.
Yet also both XMPP and #Matrix are first and foremost instant messaging / chat protocols, and to me using them to build other abstractions on top of felt forced, plus being among the first and only ones to do so.
@quillmatiq@mastodon.social · Reply to Stefan Bohacek's post
@stefan Ever since they announced that they're switching to WordPress in the backend I've been hoping for some kind of #ActivityPub integration 🤞🏼
@hongminhee@fosstodon.org
Let's create your own #ActivityPub implementation using #Fedify!
@hollo@hollo.social
@mariusor@metalhead.club · Reply to marius's post
Caveat, probably most of the frustration comes from the dynamic nature of the #ActivityPub specification which, alongside having most library developers throw their hands in the air and giving up, makes that every property of an object needs to be checked if it is a list of things, a thing itself, a reference to the thing, or, why not, a list of things and references mixed together. 🤢
@fedify@hollo.social
Are you excited about the #fediverse but find implementing #ActivityPub daunting? Meet #Fedify, a #TypeScript framework that simplifies building federated server apps. Whether you're creating the next Mastodon, Pixelfed, or something entirely new, Fedify has you covered.
Fedify abstracts away the complexities of ActivityPub, letting you focus on your app's unique features. It's designed to work seamlessly with popular web frameworks like Hono, Express, and Fresh.
Check out our step-by-step tutorial to create a microblog: https://fedify.dev/tutorial/microblog
Explore the discussions, contribute, or just star us on GitHub: https://github.com/dahlia/fedify
Join the Fedify community! Questions? Ideas? Find us on Matrix: #fedify:matrix.org.
Let's build a more diverse and interoperable fediverse together with Fedify!
@hongminhee@fosstodon.org
I'm adding the #EmojiReact (FEP-c0e0) class to #Fedify… It will be coming in Fedify 1.1.0.
@Jeremiah@alpaca.gold · Reply to Evan Prodromou's post
Am I up at 3 am in Stockholm for the first virtual book-signing party for the first book about ActivityPub by a major publisher? You betcha! Congrats, @evan!
@steve@social.technoetic.com
Mastodon doesn't implement the #ActivityPub "API" (C2S). They don't conform to either the client or server profiles in the AP Recommendation. They implement a very small subset of AP/AS2 and they don't conform to the AS2 Recommendation for the parts they implement. Their software supports > 80% of the MAU in the Fediverse (all protocols, not the SWF definition). And Evan uses this as evidence of ActivityPub's success? I think Mastodon has thrived despite ActivityPub problems, not because of it.
@mattl@social.coop
Libre.fm registration is now open to the public again.
Read more on the future of the project: https://roadmap.libre.fm/ and get an account at https://libre.fm/
@darnell@one.darnell.one · Reply to Matthias Pfefferle's post
@pfefferle I look forward to seeing this federated future! Ironically, the main reason I signed up with @wordpressdotcom was because of the #ActivityPub plugin.
I think with a few tweaks, #WordPress could become the super app within the #Fediverse.
I do hope the #BuddyPress & #bbPress teams jump on board, as greater ActivityPub integration could help rejuvenate these social WordPress “projects” (as they would provide competitive balance against #Facebook & #Reddit).
@nibushibu@vivaldi.net
ここでも #fediverse ⁂ や #ActivityPub
を Email になぞらえて説明してる。
"Platforms by number of users" という図も、こういうふうに「切り取れば」(という言い方は語弊あるかもだけど)こういうふうに見えるのか、という意味で面白い
@mariusor@metalhead.club · Reply to marius's post
The first iteration of having #BandCamp embedded albums in a #RattleHead post as attachments.
https://releases.bruta.link/outbox/1727511721936/object
Mind you, all of that is achieved with vanilla #ActivityPub 🥳
@matt@writing.exchange
The fediverse is a strange place to be sometimes. It's an open network where progress happens in fits and starts in random, often hidden, pockets. And the rest don't often hear what's really going on. In the 6 years I've built on #ActivityPub, we've all had to fight for some kind of coordination.
Especially re: the new #SocialWebFoundation (which I've backed as an outside supporter via my tiny company @write_as), you can see something new is happening.
@weekinfediverse@mitra.social
Week in Fediverse 2024-09-27
Servers
- Sharkey v2024.8.2
- Hubzilla v9.4
- ActivityPub for WordPress v3.3.0
- PeerTube v6.3.1
- Mobilizon v5.0.1
- Gancio v1.19.3
- PieFed development update September 2024 - not prepping for 1.0 release
Clients
- Elk v0.15.0
- IceCubesApp v1.11.0
- Fedicat 9-27-24
- Jerboa v0.0.77
- Photon v1.31.4
Tools and Plugins
- FediPhoto-Lineage v7.4
- Enable Mastodon Apps for WordPress v0.9.6
For developers
Articles
- Launch of Social Web Foundation
- The Social Web Foundation Launches, to Much Confusion
- the disconnect between activitypub and the fediverse
- Last Week in Fediverse – ep 85
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01921076-085b-7aed-8f7f-0a4265c091aa
@Raccoon@techhub.social
Interesting...
I just got a follow request from #Awakari, with its own detailed and formatted message, and it never occurred to me that that's the sort of thing that #ActivityPub supports, though it does make sense.
I'm also a little surprised because my understanding has been that the main reason they are controversial is because they don't get permission to crawl people's profiles, but here they've sent a customized agreement type thing for me to look at...
@mattwiebe@mastodon.social
Nearly a year later, this number has grown right around 1K/month, for a fresh total of 11453 sites opted-in to the fediverse on WordPress.com #WordPress #ActivityPub https://mastodon.social/@mattwiebe/111256730476464370
@vint@mastodon.ml · Reply to naDne :blobcatmelt2: :debian: 's post
@FiFachik @rf Для тех, кто хочет потестить федерирование для своего бложика с поддержкой #ActivityPub, могу только посоветовать #Fedify. Там есть встроенная команда для подключения к сервису на выбор, который может дать временный домен для тестирования.
@everton137@vivaldi.net · Reply to Fediverse Report's post
@fediversereport the Brazilian government could follow this example instead of empty words about digital sovereignty.
P. S. Its account on Threads is still closed for platforms compatible with Activity Pub.
In Portuguese:
https://social.vivaldi.net/@everton137/113209148435479958
#Brazil #digitalsovereignty #Threads #fediverse #Lula #Mastodon #ActivityPub
@JsonCulverhouse@flipboard.social
@BeAware @forteller
I totally follow your reasoning...
But if i post a link to a fediverse post without a comment on the post it is equivalent to a mastodon boost or in #activitypub terms an Announce.
But what if i want to share the post to my followers with my commentary that is not a "reply to" to original?
That is a "quote post" where I add my opinion not as a comment but as a new top level post for my followers to comment on.
@BeAware@social.beaware.live
There's something I've been wanting to talk about for awhile.
Quote posts, limiting of quote posts, and how those features might be added to core AP.
As it is now, the way Threads does quote posting is when a person adds a link to another Threads post, it automatically turns into a "quote post".
They also have the option to limit posts from being quoted, which in turn completely stops anyone on Threads linking to that post.
To me, that is wild, but I can see it making sense on a closed platform.
However, given the way Fediverse works and a ton of people have their own instance/website, I think it would be absolutely asinine to attempt to stop someone from simply posting a link to another post.
Links have been part of the internet for awhile now and there's no other platform that stops people from using links, AFAIK.
So, to those working on AP, please consider another route for quote posts because if I cannot link to something on my own website, I'll be pretty livid honestly.
@forteller@tutoteket.no
It is a bit crazy to me that links to toots don't open in the official web client for Mastodon, but in a new tab, so that you have to
- copy the URL
- paste it into search
- and then click to open it
if you want to open it in your client and be able to like, retoot or comment.
This breaks the whole interoperability point of ActivityPub a bit too much, to my liking.
@Flipboard@flipboard.social
The Social Web Foundation launched today. This non-profit is dedicated to making connections between social platforms with ActivityPub, and was co-founded by @evan @mallory and @tomcoates.
The foundation's focus is educating the public and policy makers about the social web, enhancing and extending the ActivityPub protocol, and building tools and plumbing to make the social web easier to use. “With this program, The Social Web Foundation can catalyze more growth on the Fediverse while improving user experience and safety,” says Prodromou. “Our goal is to unblock users, developers and communities so they can get the most out of their social web experience.”
We are proud to support the work of the foundation. Read more about the it here:
https://socialwebfoundation.org/
#ActivityPub #Federation #Fediverse #OpenSocialWeb #SocialWebFoundation #SpreadMastodon
@mariusor@metalhead.club · Reply to marius's post
I moved the embeds from being inline in the release listing to being distinct attachments.
The inline list has gathered the capability of linking to the Bandcamp album instead.
The display is a little crowded, but feels much better than before.
Any #feedback?
@melroy@mastodon.melroy.org
We are searching for open-source software **developers** for Mbin. Do you like PHP and the fediverse? Please join our project: https://github.com/MbinOrg/mbin. And join our matrix via: https://matrix.to/#/#mbin:melroy.org. Thank you!
Edit: good first issues https://github.com/MbinOrg/mbin/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
Please boost for more reach!
#mbin #lemmy #fediverse #developer #opensource #software #engineer #softwareengineer #php #reddit #activitypub #federated
@BeAware@social.beaware.live · Reply to 's post
@kakafarm I own my own website and nobody can tell me who I can and can't converse with nor can anyone tell me what I can or cannot say.
I am in my space and can communicate with millions.
@kakafarm@mastodon.sdf.org
Why do you use the Activitypub federation rather than Twitter or Facebook or the likes?
Please give me your reasons, whatever they may be.
@okpierre@mastodon.social
activitypub typescript server framework called Fedify announces first stable release. It is being used by the open source Ghost CMS platform. Can't wait to see what other apps are created with Fedify
Github repo here: https://github.com/dahlia/fedify/releases/tag/1.0.0
#fedify #framework #typescript #activitypub #foss #opensource #oss #ghostcms #ghostblog #fediverse
@Flipboard@flipboard.social
📣 It's been a while since we've federated a batch of publishers — so to make up for it, here are 250, and they're big ones.
Today, we're bringing names like @abc, @RollingStone, @forbes, @BleacherReport, @NationalGeographic and @newyorktimes to the fediverse. They join the 174 profiles we've already federated, which include everyone from @19thnews to @Vox
Here's a blogpost with more details on this latest batch of publications that cover news, business, cooking, home design, politics, sports, science and more. Follow their Magazine feeds if you're only interested in one topic, or their whole profiles if you want the lot. The spreadsheet below lists out all federated accounts.
https://about.flipboard.com/fediverse/flipboard-federates-250-publishers/
https://docs.google.com/spreadsheets/d/1iUFTo6rPvhqzCReLaM1c6-xUKRuBVqlZVStZl9Al-EU
#Flipboard #Federation #SpreadMastodon #ActivityPub #Media #Publishers #Journalism #News #Politics #Sports #Entertainment #Food #Lifestyle #Science
@fedify@hollo.social
Fedify, an ActivityPub framework, has finally released its first stable version, 1.0.0! Here are key changes:
From this version, the term handle across Fedify will only be used to refer to fediverse handles (e.g., @hongminhee@fosstodon.org
). An actor's internal unique ID (e.g., b379dbdc-3b4f-4ef4-88c2-fc25632d1c22
) is referred to as an identifier, and the WebFinger name (e.g., hongminhee
) is referred to as a username.
The term handle in the API will be maintained for a while for backward compatibility, but deprecation warnings will be logged, and it is planned to be removed in the future.
For more details, please refer to the related documentation.
Linked Data Signatures is an outdated standard, but it's still relied upon by major fediverse implementations such as Mastodon.
In addition to HTTP Signatures and Object Integrity Proofs, Fedify now supports Linked Data Signatures from this version, thus supporting all types of signature methods used in the fediverse. This makes Fedify an ActivityPub implementation with the best interoperability.
However, Fedify users don't need to do anything special to use Linked Data Signatures. If an incoming activity has Linked Data Signatures, it automatically verifies the signature, and all outgoing activities will have signatures in three formats: HTTP Signatures, Linked Data Signatures, and Object Integrity Proofs.
For more details, please refer to the related documentation.
From this version, you can forward activities received in the inbox to other actors using the InboxContext.forwardActivity()
method.
At first glance, you might think that you could just resend an activity received in the inbox using the Context.sendActivity()
method. However, if you do this, the original signature is removed before the activity is delivered to the inbox, and when sending it, the signature of the forwarding actor is attached instead, causing the receiving side of the forwarded activity to not trust it.
On the other hand, when using the InboxContext.forwardActivity()
method, the activity is forwarded with the original signature preserved, avoiding this problem. (Of course, the original activity itself must be signed with Linked Data Signatures or Object Integrity Proofs.)
For more details, please refer to the related documentation.
Delete(Application)
on fedify inbox
terminationFrom this version, fedify inbox
will send a Delete(Application)
activity to all peer servers it encountered when terminated. This is typically an activity sent when deleting an account, which will help prevent residual data related to temporary actors from remaining on other servers.
The @fedify/postgres package, which implements PostgreSQL drivers for the KvStore
and MessageQueue
interfaces, has been released alongside this version.
The PostgreSQL driver is a backend that can be sufficiently used in production, especially recommended for projects already using PostgreSQL.
Additionally, an option to select the PostgreSQL driver has been added to the fedify init
command.
With the release of version 1.0.0, Fedify will now maintain API backward compatibility as much as possible. (Of course, in the long term, there may be a 2.0.0 that breaks backward compatibility.) This should be good news for those who have been hesitant to use Fedify because there hasn't been a stable version until now!
So, hoping that more services will support ActivityPub in the future, I conclude this post!
@alexstandiford@fosstodon.org
So I have some questions about the state of the #fediverse on #WordPress.
Is it possible to migrate this account’s followers/following to my WordPress site (assuming I’m using it as an #activityPub source)
Is it possible to actually follow people and get some kind of feed, interacting with that account with other users?
I think the answer is still solidly “no” to both of those, but it would be good to get some context on how people are dealing with this today.
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
it is my personal belief that this whole "closed-world social network" vs "open-world social Web" thing is leading to a big disconnect that makes addressing people's needs harder.
because, to be on the "network", you neglect being on the "Web".
sure, your software might still publish your "posts" as Web resources, but that's it. you're not actually granted control or ability to manage Web resources for yourself.
and that's why #ActivityPub C2S is being neglected, among many other things
29/?
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
are these things part of the "protocol"? how far does the "protocol" extend to cover? because, as we established, #ActivityPub is not enough to build a fully functional #fediverse -- and a lot of extensions and additional specs are things that ought to be included in this "protocol", insofar as this "protocol" is desirable.
the other thought:
if you ignore things, that means there are cases you're not handling, losing out on robustness. ignoring context is to ignore shared understanding.
23/?
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
this is the fundamental divide between #fediverse thinking and #Web thinking, where #ActivityPub straddles the line between both.
i've seen it said that the "open-world assumption" at the foundation of the Web is actually an undesirable thing for a "social networking protocol", and as a consequence, specs built on that open-world assumption are "completely unsuitable" for that "protocol".
but do we need a "social networking protocol"? do we even need "social networks" in the first place?
9/?
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
but before you build a "protocol" for a "network", consider: what even is a "network", in this context? and, here's the hot take: do you even *want* that kind of "network"? do you want a separate reified #fediverse network?
because the answer that #ActivityPub gives is actually a different one. There is no "AP network", because AP as a protocol is not enough to build a concrete network. it is intended to provide, and exists in context of, the larger #Web.
8/?
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
but beyond that, what does #ActivityPub actually do for #fediverse as a "network" "protocol"? basically nothing. you have a basic mechanism for delivering activities directly to subscribers, but no specified shape or structure for that payload. and you still need a lot of other specs to end up with something that talks to the "network". even with AS2 vocab, you need more vocab extensions to express things you want to.
simply put, AP is not enough for a "protocol" to build a "network".
7/?
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
when #ActivityPub was being standardized alongside AS2 it basically had two compelling reasons for what would become the #fediverse to adopt it:
- it was built on AS2, which was an evolution of AS1, which was already being used. so it wasn't hard to make the jump.
- it made followers-only posts possible, because while atom feeds *could* do this, it was wildly inconvenient to actually do it that way. posting something private to an inbox is a lot simpler, no juggling access control tokens.
6/?
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
which is to say: the primary reason that #ActivityPub is used (to the extent you can say it is being used at all) in the #fediverse is mostly historical.
fedi grew out of a long line of open protocols, and before AP was adopted, it was at the point where people primarily used "activity streams" as their vocabulary and data model, stuffed into atom feeds. atom feeds don't do private posts unless you make an entirely new access-controlled feed, possibly with a token of some sort. hence, AS2.
5/?
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
but this assumption starts to break down when you look a little closer.
first, consider #ActivityPub C2S. why is there close to zero usage of this in #fediverse software? simple: it doesn't solve any needs for building a "network" "protocol".
now consider S2S. why are there zero compliant impls in fedi? because AP as specified doesn't address the needs of fedi. what does fedi need? well, i find it telling that the "real" reason AP was adopted was... to implement followers-only posts.
4/?
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
i think this disconnect between #ActivityPub and #fediverse honestly goes a lot deeper than people might realize. and that is because the problem AP tries to solve is actually completely different from what fedi is trying to do.
the concept of a nebulous but mostly singular "network" or "protocol" (made up of partially overlapping parts) is core to what i'll call "fedi mindset". the assumption is that you can join the fedi "network" by implementing the fedi "protocol". and that AP is this.
3/?
@trwnh@mastodon.social · Reply to infinite love ⴳ's post
the main contention is a disconnect between #ActivityPub as a spec and #fediverse as a protocol/network. a lot of problems cited were with the fediverse as implemented, wishful thinking about what could be changed in spec, many backwards-incompatible, mostly in service of making fediverse impl less painful.
there is a recurring refrain about implementers deciding they don't care to implement AP as specified, and that this indicates a problem with the spec, not a problem with implementers.
2/?
@deadsuperhero@social.wedistribute.org
Look, I’m going to be completely honest. Some aspects of today’s events, and some elements leading up to it, have given me bad vibes. I’m not trying to assasinate Evan’s character or make him look like a bad person, but I want to characterize some of the dynamic problems I’m seeing from coopting “The Social Web” as a term, and equating it, #Fediverse, and #ActivityPub as all one-and-the-same.
I might get flamed for sharing this, but I have to be honest about what I really think, and why I have some problems stomaching how things are happening.
@eff@mastodon.social
Corporate social media locks you in to their platforms, but projects like the Fediverse put you in control to build a more free, more private, and better moderated web. It's exciting to see more people working to make independent social media even better.
https://techcrunch.com/2024/09/24/as-the-open-social-web-movement-grows-a-new-nonprofit-launches-to-expand-the-fediverse/
#fediverse #activitypub
@hrefna@hachyderm.io
Tbh I hate everything about this and it makes me want to run far, far away from AP and never look back:
https://socialwebfoundation.org
ATP or just doing a ground-up version of my own protocol becomes more and more tempting by the day. Which leaves me sad, but here we are.
@Edent@mastodon.social
🆕 blog! “Social Media Blocking Has Always Been A Lie”
What does it mean to block someone on a social media site? Way back in the mists of time, we dealt with trolls on Usenet with the almighty PLONK - PLaced On Newsgroup Killfile. It meant your newsreader never downloaded their posts. They could rant at you all day long, and you'd never …
👀 Read more: https://shkspr.mobi/blog/2024/09/social-media-blocking-has-always-been-a-lie/
⸻
#ActivityPub #BlueSky #mastodon #SocialMedia #twitter
@hello@social.wedistribute.org
@hongminhee@fosstodon.org
I'm trying to #build a blogging, question-answering, and news site for software engineers, which is #ActivityPub enabled. What should I name it? (The options below are just the ones available to buy a domain.)
Other ideas are also welcome!
Option | Voters |
---|---|
Hackers Pub | 0 (0%) |
Techies Pub | 0 (0%) |
Coders Haus | 0 (0%) |
Techies Haus | 0 (0%) |
@Edent@mastodon.social
Hello #MastodonAPI and #ActivityPub friends.
I've created a bot which has several test cases for you to try: @test_posts
If you've built something which consumes posts, this will (I hope) give you some confidence that everything renders correctly.
Are there any other types of posts you think it should have?
@hongminhee@fosstodon.org
Looks like #Fedify v1.0.0 will be released this week! Is there anything you'd like to see added or fixed before then?
@elgg@indieweb.social
#IndieWeb integration for #Elgg is out 🎉
🔥 Under the hood: Webmention, Microformats, IndieAuth, Micropub, Microsub, JF2 feeds, WebSub PuSH.
⚡ Available for Elgg versions 4 and 5 both.
Download plugin 👉 https://elgg.org/plugins/3292492
Stars, issues and PRs on GitHub 👉 https://github.com/RiverVanRain/indieweb
#ActivityPub for Elgg coming soon 💪
@hongminhee@fosstodon.org
@fedify@hollo.social
The next version of #Fedify, v1.0, adds ParallelMessageQueue
, which makes it easy to parallelize sending and receiving activities without increasing the number of processes or nodes.
It's available for preview in v1.0.0-dev.408+f4e245b4 (JSR & npm).
https://unstable.fedify.dev/manual/mq#parallel-message-processing
@weekinfediverse@mitra.social
Week in Fediverse 2024-09-20
Servers
- snac v2.59
- Mitra v3.5.0
- PeerTube v6.3.0
- Ktistec v2.3.0
- ActivityPub for WordPress v3.2.5
- Gancio v1.19.1
- tootik v0.12.4
- Sharkey v2024.8.1
- Lemmy Development Update 2024-09-20
Clients
- IceCubesApp v1.10.58
- Dhaaga v0.10.2
- Fedicat 9-18-24
Tools and Plugins
For developers
- Federails: Ruby gem to bring ActivityPub to your app
Articles
- Extending ActivityPub: A Recipe
- Last Week in Fediverse – ep 84
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0191ed15-e22d-4c34-1e4b-070a805e86cb
@continue5645@misskey.io
Misskeyをはじめとする #分散型SNS の紹介ポスター第2版を作りました。常識の範囲内で自由にお使いください。
#activitypub #atprotocol #nostr
@activitypods@fosstodon.org
We are writing a blog post about ActivityPods v2.
For that, we need your help!
What is it about ActivityPods that feels confusing to you? What do you want to know or understand?
#Fediverse #AskFedi #ActivityPub #ActivityPods #SolidProject #survey
@fedify@hollo.social
Q: Which does your #ActivityPub implementation implement, HTTP Signatures, Linked Data Signatures, or Object Integrity Proofs?
@Edent@mastodon.social
OK friends! Could you please follow @blog and let me know if you see a new post from it at 12:34 BST today?
I've added the new #ActivityPub plugin to #WordPress and want to see if it has worked.
@gvlx@masto.pt · Reply to silverpill's post
You should have disclosed this: "Content subscription service. Subscriptions provide a way to receive monthly payments from subscribers and to publish private content made exclusively for them.
Supported payment methods: Monero, a peer to peer digital cash system where transactions are private by default."
@nickelson@fosstodon.org
Based on this thread we should not expect #diaspora to adopt #activitypub and join the #fediverse unfortunately.
I'd really want to see all existing (and new) social networks join the Fedi for cross-posting and cross-following one day.
https://discourse.diasporafoundation.org/t/lets-talk-about-activitypub/741
@hongminhee@fedibird.com
Fedifyの次のバージョンであるv1.0.0がリリースされれば、APIは安定化される予定です。APIが安定化する前に入れて欲しい機能は何か有りますか?
#Fedify #fedidev #ActivityPub
QT: https://hollo.social/@fedify/019208ce-cf81-717e-9239-6757a5494510 [参照]
@fedify@hollo.social
Once the next version of #Fedify, v1.0.0, is released, the API will be stabilized. Are there any features you'd like to see before the API is stabilized?
@fedify@hollo.social
Once the next version of #Fedify, v1.0.0, is released, the API will be stabilized. Are there any features you'd like to see before the API is stabilized?
@damon@social.wedistribute.org
@simondassow@masto.ai
#housemusic #deephouse #chicagohosue #garagehouse #dancing #dj #producer
#developer #c #golang #perl #openbsd #opensource #fyne #activitypub
#fitness #calisthenics #personaltrainer #workout #coach #certifiedtrainer
#health #wellness #cooking #vegan #wholefood #plantbased
#nutrition #vitamins #supplements #minerals #magnesium #blackseedoil #tofu
#meditation #psychology #selfimprovement
#terrypratchett #discworld #photography
#gaming #ps4 #gt7 #ffxv #ffviiremake
@deadsuperhero@social.wedistribute.org · Reply to Sean Tilley's post
There are also open questions about whether #ActivityPub really is the future for this network. People have done some amazing things to make it all work, but I’ve seen people talk about some of the painful, intractable problems with how the network and the platforms on it currently work.
Fediverse Enhancement Proposals have done a lot of incredible work, but it all feels like a band-aid on a deep wound.
@GavinChait@wandering.shop
I'm looking for a #JavaScript / #NuxtJS developer to help me extend my FastAPI/NuxtJS template (https://github.com/whythawk/full-stack-fastapi-postgresql) to support #ActivityPub. I'm busy with the #FastAPI server. My objective is an open source starter template for developing full federated apps for creator commercial activity (like a personal Etsy or Amazon site) where creators can sell their work & supporters can follow for new product releases. This is a paid project. Contact me direct. #FediHire
@evan@cosocial.ca
I just sent the final proofs of the #ActivityPub book to the editors at O'Reilly.
I'm done; with this part, at least.
I am not sure what I'm going to do with all that surplus time. I should probably start a huge new project!
@nibushibu@vivaldi.net
そういえば #Tumblr の :activitypub: #ActivityPub 対応ってどうなったんだろう :tony_neutral:
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
One of the benefits of #Fedify is that you don't have to worry about whether a property of an Activity Vocabulary object has a URL or embeds an actual object. If you need an object, you can call the `getObject()` method (which will fetch a remote object if necessary). If you need a URI, you can access the `objectId` property.
https://fedify.dev/manual/vocab#object-ids-and-remote-objects
@hongminhee@fosstodon.org
Quick question: would it be okay to embed a collection object in the `as:replies` property of `as:Note` & `as:Article` objects instead of putting the URL to the collection in the `as:replies` property? In theory, it would be okay, but would the actual implementations handle it well?
@fromjason@mastodon.social
I think postmortem, when we hear the names #Mastodon and perhaps #ActivityPub, we'll see it as one of the greatest fumbles of the web.
It's not (just) the onboarding fiasco. Mastodon servers had something that #Meta could never replicate— real community.
We didn't need the corporate web to validate us. Our presence here could've been a beacon for what the web could be if you took VC money out of the equation. We could've saved people that way.
I don't know if this place ever gets that back.
@blogdiva@mastodon.social
🗣 #MASTODON DEVS AND ADMINS NEED TO STOP FUCKING WITH WEB STANDARDS
#ActivityPub isn't permission to break web standards. you can't have a public social media site and refuse to be linked to.
you don't wanna be linked? TAKE THAT SHIT PRIVATE, PERIOD.
LINKS TO INSTANCES THAT REJECT LINKING ARE POLLUTING PUBLIC ACTIVITY PUB STREAMS
just like you can't be a little pregnant, you can't be a little public on the web. you either are making public posts or you aren't.
so stop it.
@hrefna@hachyderm.io
Random musing:
Let's say that I have a database. It's a glorified KV store, but it looks about like this:
object(id(uri), property(name), ref(uri) | value(simple))
I can represent every ActivityPub object in this format easily (the astute observer will notice I just defined an ersatz RDF triple). So I can easily create a datastore for this that can flexibly represent every object.
Cool!
*brushes hands*
Okay so now that that's sorted…
wait, what do you mean there's more?
1/
@pfefferle@mastodon.social
@everton137@vivaldi.net
Por que diabos ainda não há servidores brasileiros no https://joinmastodon.org/servers? Há dois anos, quando o Twitter foi comprado pelo seu atual proprietário, achei muito estranho, principalmente depois de ver tantos servidores Mastodon administrados por comunidades brasileiras. E mesmo agora que tivemos o X bloqueado?
Já existe essa fase confusa de escolher um servidor, mas por que os brasileiros são excluídos? Falta de perspectiva além do norte global? Falta de articulação para ter instâncias brasileiras nessa porra de lista?
Estamos literalmente dando um tiro no próprio pé.
@phocks@bne.social · Reply to Joshua Byrd 💽's post
Reckon I might try rolling my own photo blog — bonus points for hitting up @simon to teach me how to add #activitypub support
@MatejLach@social.matej-lach.me
I wrote a small, easy to use #golang lib for signing HTTP requests so that #Mastodon would accept them and also to verify requests originating from Mastodon and other #ActivityPub servers, useful if you're implementing your own.
Check it out at https://github.com/MatejLach/httpsigver-ap
@Sh4d0w_H34rt@cyberpunk.lol
@thegibson so are there any other projects showing promise? Preferably #activitypub based, with not just an eye on features but also moderation and privacy protection for its users. Mastodon (project) has definitely gotten too comfortable.
@weekinfediverse@mitra.social
Week in Fediverse 2024-09-13
Servers
- ActivityPub for WordPress v3.2.0
- Mbin v1.7.1
- Sharkey v2024.8.1
- Trunk & Tidbits, August 2024
Clients
- Jerboa v0.0.75
- IceCubesApp v1.10.54
- Tuba v0.8.4
- Mastodon for iOS v2024.9
- Voyager v2.17.1
- Photon v1.31.3
- Milktea v2.163.0
- Dhaaga v0.10.0
- Fedicat 9-11-24
- One year on - Pachli
Articles
- An analysis of mastodon adoption dynamics based on instance types
- An evidence-based and critical analysis of the Fediverse decentralization promises
- User Agents for the Social Web
- Bandwagon is Emissary’s Bandcamp Alternative
- Fediverse Discovery Providers
- A Small Compendium of Fediverse Platforms I Use
- E2EE for the Fediverse Update – We’re Going Post-Quantum
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0191c9dd-e298-8704-376b-acf65079e5ec
@steve@social.technoetic.com
I see discussions sometimes about developing recipe applications for #ActivityPub/AS2. In that spirit, I wrote a blog post describing how to use the schema.org Recipe type in an AS2 conformant manner. It's mostly a thought exercise about possibilities since most AP implementations won't render an AS2 conformant recipe correctly, if at all.
https://www.stevebate.net/extending-activitypub-a-recipe/
@sl007@digitalcourage.social · Reply to 洪 民憙 (Hong Minhee)'s post
@hongminhee @hollo @fedify
Absolutely not. We intend to use it for larger projects. It needs more amplification.
Anyway we prototype the clients first and when ready will contribute.
Today
https://berlinfedi.day/ will be streamed, panelists join fediforum in the end.
In my Talk I will encourage Public Broadcasters et al. to contribute!
#activitypub #fediday #fediforum #fediverse #berlinfediday
@pixelfed@mastodon.social
We just shipped partial Account Migration support!
This means:
- You can migrate from other servers to Pixelfed
- Accounts that migrate between servers will be updated (even if you mute/block them)
We say partial, because we are missing one final piece to support outbound migration to Pixelfed, Mastodon or other platforms.
That final piece will be shipping later today!
@mapache@hachyderm.io
Part 3 of "A Guide to Implementing ActivityPub in a Static Site (or Any Website)" is just out the oven!
In this blog post, I explain how to make your blog discoverable in the Fediverse as an account, and also address some of the annoying pitfalls I encountered.
Full article here: https://maho.dev/2024/02/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-3/
If you like it don't forget to follow the @blog !
#fediverse #activitypub #static-sites #hugo #azure #mastodon #web-development #social-web #webfinger #http
@fedify@hollo.social
The next version of #Fedify will support #LDSignatures (#RsaSignature2017), which means that Fedify will be able to verify activities forwarded by #Mastodon from other servers.
In addition, activities sent with the Context.sendActivity()
method will have Linked Data Signatures attached in addition to HTTP Signatures if any RSA-PKCS#1-v1.5 key pairs are present.
We were not motivated by implementing Linked Data Signatures, which is already an outdated standard, but we hope this change will lead to better compatibility and interoperability of Fedify apps!
@hrefna@hachyderm.io
Types of replies you can expect when talking about #ActivityPub:
Well actually…
* …that isn't _activitypub_ that is _mastodon_.
* …that is solved in _mastodon_ therefore it is solved in _activitypub_ (bonus points if it is on the same point that got the previous response).
* …I wrote some code that solves it, it's easy! <code does not, in fact, solve the problem>
* <Insert rant about corporate social media>
* <insert rant about Jack Dorsey>
* <insert rant about threads>
1/
@hongminhee@fosstodon.org
Working on @fedify's docs about #LDSignatures… I hope someday #Fedify drop the support for Linked Data Signatures… 😇
@dazzle@indieweb.social
At #FediForum today, we ran two sessions.
The first session brought together implementors of ActivityPub, AtProto/Bluesky, Nostr and IndieWeb applications to discuss how these protocols relate to each other, and what recommendations they all have for potential adopters who need to decide which to support.
It was a productive, cordial discussion and we will have more to say about it once FediForum publishes the notes from the meeting.
@fedify@hollo.social
#Fedify has a side effect that when you call the getter method of an Activity Vocabulary object, the property that was internally a URI is populated with the actual ActivityStreams object. Today, someone at Ghost gave us a cool term for this: #hydration.
@hongminhee@fosstodon.org
Imagine what if every website implemented HTTP/TLS themselves. There would be so much fragmentation that we wouldn't see the #interoperability we see today.
To me, that's what the #fediverse looks like today. Mastodon, Pixelfed, etc. have their own implementations of #ActivityPub, WebFinger, HTTP Signatures, etc. and each one behaves slightly differently, which leads to poor interoperability. Adoption of new standards is slow.
I wish each major programming language had something like #Fedify.
@hongminhee@fosstodon.org
Does #Misskey also attach #LDSignatures to activities? If so, what types of activities does it attach LD Signatures to?
@hongminhee@fosstodon.org
The `fedify inbox` command, which is shipped with @fedify/cli, is a tool that creates an ephemeral #ActivityPub server so that you can debug and test the activities you send.
Here's a demo of it.
@hongminhee@fosstodon.org
I received a request from @ghost today to add #LDSignatures to @fedify for compatibility with #Mastodon, as Mastodon does not plan to implement Object Integrity Proofs (FEP-8b32) for the near future. 😩
However, Mastodon's implementation of LD Signatures does not even use valid JSON-LD properties (despite the name), so I'm not sure how to make it compatible with Mastodon since #Fedify does JSON-LD processing. 🤔
@da5nsy@social.coop
Is there a way to discuss #hyperlocal things on #mastodon / #fediverse / #activitypub ?
@fedify@hollo.social
Fedify, an #ActivityPub server framework, has released v0.15.0! The key changes include:
Article
, ChatMessage
, Note
, and Question
classes now have a quoteUrl
property. This property corresponds to three properties at once: as:quoteUrl
, misskey:_misskey_quote
, and fedibird:quoteUri
.Like
to Object | URL
.Context.lookupObject()
method.Link
header or the <link>
/<a>
tag in HTML.-r
/--raw
option to the fedify lookup
command.@hongminhee@fedibird.com
ActivityPub 仕様の`liked`コレクションについて質問です。5.5章によると、`liked`コレクションは「アクタの全ての`Like`アクティビティのオブジェクトのリスト」であり、5.7章のサイドノートによると、`liked`コレクションは「アクタが行った`Like`アクティビティのコレクション」であると書かれています。いったい、likedコレクションの要素型は`Object`なのか`Like`なのでしょうか?
#ActivityPub
QT: https://fosstodon.org/@hongminhee/113116797292204563 [参照]
@hongminhee@fosstodon.org
I have a question about the `liked` collection in the #ActivityPub specification. According to section 5.5, the liked collection is “a list of every object from all of the actor's `Like` activities”, whereas the side note in section 5.7 says it is “a collection of `Like` activities performed by the actor”. What is the element type of the liked collection, `Object` or `Like`?
• Section 5.5: https://www.w3.org/TR/activitypub/#liked
• Section 5.7: https://www.w3.org/TR/activitypub/#likes
@hongminhee@fosstodon.org
I have a question about the `liked` collection in the #ActivityPub specification. According to section 5.5, the liked collection is “a list of every object from all of the actor's `Like` activities”, whereas the side note in section 5.7 says it is “a collection of `Like` activities performed by the actor”. What is the element type of the liked collection, `Object` or `Like`?
• Section 5.5: https://www.w3.org/TR/activitypub/#liked
• Section 5.7: https://www.w3.org/TR/activitypub/#likes
@box464@mastodon.social
GoToSocial, an ActivityPub platform, is adding better support for audio. Mastodon has had that for years, you say? GoToSocial will support up to 6 audio attachments!
Mastodon unfortunately will only show one of them - a cassingle. Similar to how it only shows the first 4 images attached to a post.
I do give credit to Mastodon Web UI for having a really nice audio player for that one attachment, tho.
@fediforum@mastodon.social
@bnewbold is coming to FediForum and wants to talk about:
* collaboration and coordination with atproto and other protocols
* interoperable identity systems
* moderation tooling
* data portability
This will make for an interesting and important session! Or more likely, more than one!
Join us? https://fediforum.org
#bluesky #atproto #activitypub #interoperability #fediforum #fediverse
@thenexusofprivacy@infosec.exchange
I for one welcome Bluesky, the ATmosphere, BTS Army, and millions of Brazilians to the fediverses!
And what better way to do that than with a long post about it?
https://privacy.thenexus.today/bluesky-atmosphere-fediverse/
@Edent@mastodon.social
🆕 blog! “No, ActivityPub votes aren't anonymous”
👀 Read more: https://shkspr.mobi/blog/2024/09/no-activitypub-isnt-anonymous/
⸻
#ActivityPub #fediverse #mastodon #privacy
@dansup@mastodon.social
Flickr, Instagram, 500px, Unsplash and BeReal are ok photo sharing platforms
But, they are walled gardens, aren't open source and don't federate
@pixelfed is in the perfect place, at the right time, to be able to disrupt this status quo
We don't have investors, all we have is people, and together we can fix this
The fediverse is a revolution, empowering the people, and reclaiming the digital landscape from the walled gardens
No more settling, it's our time now ✨
@lwflouisa@comics.town
My own issue with #activitypub is there doesn't seem to be a way to host static website, which I'm slowly gravitating more to.
@gamambel@social.tchncs.de · Reply to ⏣ (hexed)'s post
I also tried to find documentation on this, but failed. The whole thing should be better documented. A vote is an #ActivityPub message -- so where does it end up, if not in the archive?
@weekinfediverse@mitra.social
Week in Fediverse 2024-07-26
Servers
- Ktistec v2.1.0
- NeoDB v0.10.4.4
- Mitra v3.0.0
Clients
- Mammoth v2.14
- IceCubesApp v1.10.45
- Photon v1.31.1
- mlmym v0.0.50
- Voyager v2.13.1
- PhanpySocial changelog
Tools and Plugins
- Fedify v0.12.0
- PeerTube Livechat Plugin v10.3.3
Articles
- NeoDB is a Review System for Culture
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0190cc2c-eeb4-d88e-c3af-ca88ad1f1a18
@fedify@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
In the next version of #Fedify, it will allow you to decouple actor URIs from WebFinger usernames with the mapHandle()
method. For example, you can use UUIDs for actor URIs but let users use their own username of choice for their fediverse handle.
@weekinfediverse@mitra.social
Week in Fediverse 2024-09-06
Servers
- snac v2.58
- tootik v0.12.2
- Mitra v3.4.0
Clients
- PleromaFE v2.7.1
- Pachli v2.8.1
- Fedicat 9-5-24
- Dhaaga v0.9.0
- Jerboa v0.0.72
- Phanpy changelog
Tools and Plugins
- Peertube livechat plugin v11.0.0
- Fedinesia v3.2.3
- FediFetcher v7.1.7
Articles
- You Can't Join Mastodon
- A Brief History of the Fediverse Symbol
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0191a523-e1e8-1e49-174d-d7fa26db48ba
@thisismissem@hachyderm.io
There was a big decision at the SWICG meeting today to start a Moderation, Trust & Safety Task Force that aims to write a report to improve those aspects of the protocol.
I've volunteered to lead that task force.
@hongminhee@fosstodon.org
I wish #Mastodon would just implement FEP-8b32 instead of the LD Signatures which is obsolete.
@mariusor@metalhead.club
I often struggle with working on non-trivial, long standing projects because when I sit down to do the work after some hiatus, I can't seem to find the pain points I wanted to fix quickly enough.
It feels like trying to get a bandaid off when you can't find an edge where it comes unstuck easily enough.
The largest piece of bandaid that I wasn't able to get unstuck from the ActivityPub adjacent work is getting the HTTP-signatures working well with the rest of the fediverse (by which I mean Mastodon).
Today I might have got the corner of another little bit of bandaid unstuck which hopefully will help in the long run.
@thisismissem@hachyderm.io
Am wondering if it'd make sense to have a dedicated Reply activity, such that a reply becomes Reply(Note) instead of Create(Note)
Where the Reply activity has the target & is sent to that server only, before being forwarded?
Would this make the protocol clearer for implementers?
@fedify@hollo.social
한국어판 Fedify 튜토리얼 《나만의 연합우주 마이크로블로그 만들기》를 공개합니다! Fedify나 ActivityPub을 몰라도 차근차근 따라할 수 있게 되어 있으니, ActivityPub 구현에 관심이 있으신 분들은 부디 읽어 주시기 바랍니다. (대신, 조금 깁니다. 😅)
@hongminhee@fedibird.com
日本語版Fedifyチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をZennで公開しました!ActivityPubの実装に興味の有る方々は是非ご覧ください!
@js@podcastindex.social · Reply to John Spurlock's post
So as I'm bopping around looking at everyone's #ActivityPub in browser.pub, I wanted to have the ability to follow interesting people while I'm browsing.
I just pushed a new update that adds a "Follow" button next to every profile in the visual view
@fedify@hollo.social
We just finished drafting a new tutorial for #Fedify! This tutorial will walk you through the steps of creating your own federated #microblog. It's pretty long, though.
Please read it, give us feedback, and have fun!
@pfefferle@links.pfefferle.org
We propose the symbol ⁂ to represent the fediverse.
@tchambers@indieweb.social · Reply to Erin 💽✨'s post
@erincandescent @andypiper sort of how the Internet was born when you first IP based interaction was delivered…we should probably pick the first activity pub message successfully delivered and call that the birthday. #activitypub
@hongminhee@fosstodon.org
I feel like #Elixir is unusually popular among #ActivityPub implementations. Is it just me?
@hongminhee@fosstodon.org
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, and @hollo, a fediverse microblog for single users.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文/#漢文)!
@antolius@mastodon.social
@okpierre@mastodon.social
Always good to see progress! Only a handful of features left on the roadmap. Hollo is an activitypub powered federated microblog app. Docker image was made available with the latest release
#activitypub #hollo #federated #fediverse #opensource #oss #foss #microblog #microblogging
@fedify@hollo.social
Are there any features you'd like to see in #Fedify?
@fedify@hollo.social
Fedifyは、TypeScriptとJavaScriptで書かれたActivityPubサーバーフレームワークです。分散型のソーシャルネットワークを構築するためのサーバーアプリケーションを作る際の複雑さと冗長なコードを排除し、ビジネスロジックとユーザー体験の開発に集中できるようにすることを目指しています。
現在提供している主な機能は以下の通りです:
興味がある方は、Fedifyのウェブサイトをご覧ください!包括的なドキュメント、デモ、チュートリアル、サンプルコードなどが用意されています:
#Fedify #TypeScript #JavaScript #ActivityPub #NodeInfo #Node #Deno #Bun #fedidev
@eric@limulus.net
Spent some time this morning getting a cursory understanding of #ATProtocol (the open protocol behind #BlueSky). I have a decent understanding of #ActivityPub and I expected AT to have a lot of similarities.
It’s quite different, and this diagram surprised me.
PDS here is “Personal Data Server”. You might think of it as something like a #Mastodon instance where all your data is stored and posts by those you follow are cached.
Except notice that there’s no arrows between PDSes.
1/5
@hongminhee@fosstodon.org
I wish there was a more fancy canonical permalink for each #FEP document.
@quillmatiq@mastodon.social
Your favorite social network could make decisions that make it impossible to use the service where you live. If that happens, you lose not only access to the site but, more importantly, the community you worked so hard to build.
Use platforms that implement open social web protocols like #ActivityPub so you can lift your network to another platform without missing a beat.
Your network shouldn't be trapped with the whims of a corporation. There's a better way.
@box464@mastodon.social
@index is out with another amusing blog post about their fediverse journey. But the most important thing we learned is that this account exists.
@weekinfediverse@mitra.social
Week in Fediverse 2024-08-30
Servers
- tootik v0.12.1
- Mitra v3.3.0
Clients
- IceCubesApp v1.10.50
- PixelDroid v1.0.beta36
- Tuba v0.8.3
- Pachli v2.8.0
- Fedicat v8-28-24
- Aria v0.14.4
- Quiblr: An intuitive, accessible, and modern interface to connect users to the fediverse
Tools and Plugins
- Fediverse Redirect v1.13.5
- Lemmy Schedule v1.12.0
For developers
- Fedify v0.14.0
- Bovine v0.5.11
- FedIAM: Login and access control based on open identities
Articles
- Telegram's CEO's Arrest Should Be A Wake Up Call For Social Media Admins & CEOs
- A Developer’s Guide to ActivityPub and the Fediverse
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0191808a-5231-b9bf-a8f2-0b7308e06753
@thisismissem@hachyderm.io · Reply to Emelia 👸🏻's post
If the sender owns the collection, why can't it use Add or Remove to signal to another server that the owner of that collection has modified it? #activitypub
@thisismissem@hachyderm.io · Reply to Emelia 👸🏻's post
So Add and Remove can't be used to synchronise changes to a collection over time.
@thisismissem@hachyderm.io · Reply to Emelia 👸🏻's post
Like if I fetch a collection by arbitrary URI, I think knowing which actor(s) own / can manage that collection is really important information.
Additionally, the way AP defines Add and Remove doesn't make any sense at all since my actor can't tell your server that I've added you to a collection without a request directly from you
@thisismissem@hachyderm.io
Just noticed there's no back-linking from collections to the Actor who owns that collection?
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
I wish #ActivityPub implementations would be more specific about error messages in their responses, especially if they're not open source. 😭
@hongminhee@fosstodon.org
Dear developers of the #fediverse, has anyone ever encountered a case where a personal inbox in #Threads responds with a 404 Not Found for a POST request?
@dansup@mastodon.social
Loops by @pixelfed
A federated TikTok, powered by an open source app and backend!
The beta is launching soon, follow @loops for the latest announcements!
Website: https://loops.video
Source: https://github.com/px-loops
@nibushibu@vivaldi.net
:activitypub: #ActivityPub は、既存の #SocialMedia #SNS に、上位概念を生み出そうとしているところが好きなんだよな…
いろんなクラスタがあるけど、まあみんなおんなじ「人間」ってことで、(技術的には)連合できるようしておきつつ、それぞれのレイヤー(サーバー・アカウント)でブロックとかしながらお互い衝突しないように適度にやろうぜ、というものを感じる
:mastodon: #Mastodon なんかは開発方針にもそういう哲学を感じるんだよね。
いろんなポリシーのサーバーが存在できて、それぞれが可能な範囲で連合できて、なるべく参加者のポジティブな感情が表に見える場所にしよう、みたいな。
もちろん、実際にはそうじゃないサーバーもあるだろうし、それは一つの夢みたいなものなんだけど、すくなくともそこに向かおうとしている感じがするというか。
@hongminhee@todon.eu
It's too much of a pain to implement #ActivityPub primitives from scratch. If someone wants to build a fediverse software today, they should be prepared to spend more time implementing the AP layer than the business logic. It reminds me of the days of printing out HTTP headers and HTML by hand in Perl/C to create web apps with CGI.
@OutOfExileIDR@vivaldi.net
Has anybody ever heard of "Awakari "? On mastodon at: @ awakari @ activitypub. awakari com. Has anyone ever used it or know anything about them?
@hongminhee@fosstodon.org
Suddenly, I'm reminded of a service called Yahoo! Pipes from about 15 years ago. If anyone remembers, #Pipes handled #RSS as its primitive, and now I'd like to see something like Pipes handle #ActivityPub as its primitive.
@fedify@hollo.social
We've released v0.14.0 of #Fedify, the #ActivityPub server framework, with the following key changes:
sendActivity()
method to "followers"
in just the Context
instead of the RequestContext
.Object.toJsonLd()
method by about 3,000 times.source
property to Object
.aliases
property to Actor
, corresponding to ActivityPub's alsoKnownAs
property.fedify init
command now adds default compilerOptions
settings to tsconfig.json and deno.json.Fedify v0.14.0 is available from JSR and npm. See also the full changelog for details.
Happy #fedidev!
@fedify@hollo.social · Reply to John Spurlock's post
We've added the Inspecting ActivityPub objects section to the #Fedify docs, introducing BrowserPub and the fedify lookup
command!
https://unstable.fedify.dev/manual/test#inspecting-activitypub-objects
@fedify@hollo.social
Do you know that? Some of the properties in Activity Vocabulary have been renamed in #Fedify's JavaScript APIs. Below are some examples:
@hongminhee@fosstodon.org
@mike@flipboard.social
Hello fediverse!
I need your help to feature all of the amazing services that are part of the #ActivityPub realm.
What are some of your favorite ActivityPub handles to follow on #Funkwhale, #Peertube, #Pixelfed, #Bookwyrm, #Wordpress, #Truefans, #Castopod, #Akkoma, #Friendica, #Lemmy and others?
Your replies will be categorized by @jejord, @AileenLalor, @miaq and @marci so that we can feature these accounts to our Flipboard users and work to ensure they render properly on Flipboard.
I'm excited to help evangelize the many great projects here and advocate for their adoption and funding.
@hollo@hollo.social
Hollo를 소개합니다!
Hollo는 개인을 위한 연합형 마이크로블로그 소프트웨어입니다. Fedify와 Bun으로 만들어졌으며, #ActivityPub 프로토콜을 통해 다른 인스턴스 및 서비스와 교류할 수 있습니다.
Hollo의 특징은 한 사용자를 위해 설계된 전용 인스턴스라는 점입니다. 이를 통해 사용자는 자신만의 공간을 가지면서도 #Mastodon, #Misskey 및 기타 ActivityPub 지원 서비스의 사용자들과 소통할 수 있습니다.
독자적인 웹 인터페이스는 없지만, Mastodon API와 호환되어 기존의 많은 Mastodon 클라이언트 앱을 사용하여 Hollo에 접근할 수 있습니다. 이로 인해 익숙한 인터페이스로 Hollo를 이용할 수 있습니다.
주요 기능으로는 게시물 작성·편집·삭제, 답글, 미디어 첨부, 투표, 좋아요, 북마크, 고정 등이 있습니다. 또한 프로필 편집, 팔로우/팔로워 관리, 리스트 생성 등도 가능합니다. 더불어 Markdown을 지원하여 게시물이나 프로필의 서식 설정을 쉽게 할 수 있습니다.
Hollo는 현재 개발 초기 단계에 있으며, 지속적으로 기능 추가와 개선이 이루어지고 있습니다. Bun을 사용함으로써 빠른 성능과 효율적인 개발이 이뤄지고 있답니다. 오픈 소스 프로젝트로 GitHub에 공개되어 있으며, 커뮤니티의 기여를 환영합니다.
개인 블로그와 소셜 미디어의 장점을 결합한 Hollo는 프라이버시를 중시하면서도 더 넓은 커뮤니티와의 연결을 원하는 사람들에게 적합한 플랫폼으로 거듭나고 있습니다.
@hollo@hollo.social
Holloを紹介します!
Holloは、個人向けの連合型マイクロブログソフトウェアです。FedifyとBunを基盤に構築され、ActivityPubプロトコルを通じて他のインスタンスやサービスと連携することができます。
Holloの特徴は、一人のユーザーのために設計された専用のインスタンスという点です。これにより、ユーザーは自分だけのスペースを持ちながら、Mastodon、Misskey、その他のActivityPub対応サービスのユーザーとも交流できます。
独自のウェブインターフェースを持たない代わりに、MastodonのAPIと互換性があるため、既存の多くのMastodonクライアントアプリを使用してHolloにアクセスできます。これにより、使い慣れたインターフェースでHolloを利用することができます。
主な機能には、投稿の作成・編集・削除、返信、メディア添付、投票、お気に入り、ブックマーク、ピン留めなどがあります。また、プロフィール編集、フォロー/フォロワー管理、リスト作成なども可能です。さらに、Markdownをサポートしているため、投稿やプロフィールの書式設定が容易に行えます。
Holloは現在開発の初期段階にあり、継続的に機能の追加や改善が行われています。Bunを使用することで、高速なパフォーマンスと効率的な開発が実現されています。オープンソースプロジェクトとして、GitHubで公開されており、コミュニティからの貢献を歓迎しています。
個人のブログとソーシャルメディアの利点を組み合わせたHolloは、プライバシーを重視しながら、より広いコミュニティとのつながりを求める人々に適したプラットフォームとなっています。
https://github.com/dahlia/hollo
#Hollo #ActivityPub #Mastodon #Markdown #Bun #Fedify #fedidev
@weekinfediverse@mitra.social
Week in Fediverse 2024-08-23
Servers
- Mastodon v4.2.12
- Friendica v2024.08
- Mitra v3.2.0
- Azorius v0.4.0
- Manyfold v0.76.0
- Misskey v2024.8.0
- tootik v0.12.0
- Gancio v1.19.0
- PieFed development update August 2024 - prepping for 1.0 release
Clients
- Fedicat 8-23-24
- Pixelfed (React Native) v1.0.0.67
- WriteFreely for iOS v1.0.18
- Tusky v26.1
- Thunder v0.5.1
- Photon v1.31.2
- Aria v0.14.0
Tools and Plugins
- Fedify v0.13.1
- Fedinesia v3.2.0
- LemmySchedule v1.11.0
- Social Sync: Attempts to follow your Bluesky (bsky.brid.gy) follows and Threads follows via the Mastodon API
- ActivityPub-Kotlin: Kotlin implementation of ActivityPub
Protocol
- FEP-eb22: Supported ActivityStreams types with NodeInfo
Articles
- Fedicache
- Mastodon – on your wrist
- Federated Key Transparency Project Update
- Findings Report: Governance on Fediverse Microblogging Servers
- Flohmarkt is a Fediverse Marketplace
- The Future of Social is Here: a Show and Tell (part 4: Lemmy, PieFed & Mbin)
- Privacy Policies on the Fediverse: A Case Study of Mastodon Instances
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01915c74-9501-5dd1-1104-925876a0417c
@js@podcastindex.social
👀 BrowserPub: A browser for exploring #ActivityPub and the ⁂fediverse
@hq@socialhome.network
Again, thanks to @alain@jase.social, this release features a ton of improvements to the ActivityPub federation layer of Socialhome, but also upgrading Django to 3.x, which is a major achievement in terms of keeping up to date with dependencies. In regards to upgrading Django we also decided to take a deep dive and ditch uWSGI in favour of Daphne and ASGI. This does mean admins running Socialhome need to change their reverse proxy configuration.
Highlights:
This release also pairs with a v0.24.0 release of the federation library. The changelog for that can be found here.
Socialhome is best described as a federated personal profile with social networking functionality. Users can create rich content using Markdown. All content can be pinned to the user profile and all content will federate to contacts in the federated social web. Federation happens using the ActivityPub and Diaspora protocols (Matrix maybe coming up one day :))!
Please check the official site for more information about features. Naturally, the official site is a Socialhome profile itself.
Want to work on a Django and VueJS powered social network server? Join in the fun! We have easy to follow development environment setup documentation and a friendly chat room for questions.
#socialhome #federation #fediverse #activitypub #diaspora #django #vuejs
@hq@socialhome.network
After over a year, a Socialhome release is out again! The main thanks for this release goes out to @alain@jase.social, who has pretty much re-written the whole ActivityPub federation layer for this release. Not a small job at all, and without any noticeable regressions too.
Initially, when the ActivityPub layer was added for Socialhome, it was a quick JSON only job, with federation only really ever tested with Mastodon. Now we have proper JSON-LD based inbound/outbound federation that not only adds a lot more supported platforms but also support for various new objects like video and audio.
Highlights:
And many more fixes and tweaks. Full changelog.
This release also pairs with a v0.23.0 release of the federation library. The changelog for that can be found here.
Socialhome is best described as a federated personal profile with social networking functionality. Users can create rich content using Markdown. All content can be pinned to the user profile and all content will federate to contacts in the federated social web. Federation happens using the ActivityPub and Diaspora protocols (Matrix maybe coming up one day :))!
Please check the official site for more information about features. Naturally, the official site is a Socialhome profile itself.
FYI, currently signups are closed on the official instance due to spam users. We're working on changing this soon.
Want to work on a Django and VueJS powered social network server? Join in the fun! We have easy to follow development environment setup documentation and a friendly chat room for questions.
#socialhome #federation #fediverse #activitypub #diaspora #django #vuejs
@hq@socialhome.network
Alain ( @alain@jase.social ) has been hard at work during 2023, making Socialhome a better citizen in the Fediverse. The releases of Socialhome v0.18.0 and federation
library v0.25.0 bring a ton of fixes and compatibility improvements when talking to other platforms on the network.
Additionally there are improvements to how Socialhome renders content, fetches missing profiles and work on reducing database load, among other items to mention.
For the full changelogs, see:
federation
: https://gitlab.com/jaywink/federation/-/blob/master/CHANGELOG.mdWe recommend using the Docker images:
registry.gitlab.com/jaywink/socialhome:v0.18.0
registry.gitlab.com/jaywink/socialhome:v0.18.0-arm64
Notes on how to use the Docker images can be found in the docs. They're a bit minimal, we're looking on getting better example Docker based install instructions in place soon.
Socialhome is best described as a federated personal profile with social networking functionality. Users can create rich content using Markdown. All content can be pinned to the user profile and all content will federate to contacts in the federated social web. Federation happens using the ActivityPub and Diaspora protocols.
Please check the official site for more information about features. Naturally, the official site is a Socialhome profile itself.
If you want to try Socialhome first before trying to install it, register at https://socialhome.network and then ping us with a comment on the user name chosen, and the account can be activated. Unfortunately due to spammers accounts on the project instance need to be separately activated.
Want to work on a Django and VueJS powered social network server? Join in the fun! We have easy to follow development environment setup documentation and a friendly chat room for questions.
#socialhome #federation #fediverse #activitypub #diaspora #django #vuejs
@hongminhee@fosstodon.org
For educational purpose, I've created a federated microblog example using #Fedify, with a total of about 30 commits, which you can follow step by step.
Now, I'm starting to write a hands-on Fedify tutorial based on this example code. I'll make it public when I'm done!
@_elena@mastodon.social
🚀 The Future is Federated - issue no.9 👩🚀
The Future of Social is Here: a Show and Tell (part 4: Lemmy, PieFed & Mbin)
https://blog.elenarossini.com/the-future-of-social-is-here-a-show-and-tell-part-4-lemmy-piefed-mbin/
with shout-outs to @informapirata @Bro666 @dansup @phanpy @fedidb @vjprema @neblem @FediTips
#TheFutureIsFederated #tech #Fediverse #activism #bigtech #socialmedia #FOSS #blog #threadiverse #mbin #kbin #piefed #lemmy #reddit #activitypub
@dansup@mastodon.social
ActivityPub Filter System
Inspired by Pleroma (MRF) and Cloudflare (WAF), this new @pixelfed feature will help improve safety and moderation by empowering admins with fine-grained tools like these.
Better yet, you will be able to easily import/export rules and I'm working on a FEP so other projects can add support using a common vocab.
Available soon ✨
@liaizon@social.wake.st · Reply to wakest ⁂'s post
Added @sutty (@distributedpress CMS), #gofed, #Habitat, #Forte (streams fork) and #Sakura (Misskey fork) icons to #FediverseIconography at https://fediverse.wake.st (repo at https://codeberg.org/FediverseIconography)
#fediverse #ActivityPub
@pfefferle@mastodon.social
I tweaked the #ActivityPub inbox endpoints of my #WordPress site a bit and was able to follow my blog on #Flipboard ❤️
@docpop@mastodon.social
The Fediverse is often referred to as a decentralized "social network", but I think that misses some of the bigger ways that ActivityPub can make the web more open and user friendly.
Today I talked to @pfefferle about his ActivityPub For WordPress plugin and the advantages of connecting your site to the #fediverse https://www.youtube.com/watch?v=3DhK8uSKIdE&list=PL6nDc7ACvovJMt8MEiebpsXnlBuKp158j&index=1 #ActivityPub #WordPress
@Sh4d0w_H34rt@cyberpunk.lol · Reply to Nik 🏳️⚧️ (he/they)'s post
@nik yeah been using Duolingo for a little under a month now, surprised by how much German I remembered from high school. Would love to find something more comprehensive and open source. Heck if we can find one that integrates #activitypub even better.
@hello@social.wedistribute.org
@pfefferle@mastodon.social
I'm thrilled to be part of the Fediverse Files, together with @evan and @bart and hosted by @docpop ❤️
Thanks also to @wordpressdotcom for making this possible ❤️
@evan@cosocial.ca
Based on our decision in the last #SocialCG meeting, I set up a new GitHub repository for the #ActivityPub HTML Discovery Task Force.
https://github.com/swicg/activitypub-html-discovery
I added what I think are some of the most important tasks and user stories. I hope others contribute, too!
@fedify@hollo.social
We've patched a vulnerability in the getActorHandle()
function. Versions prior to 0.13.1 and 0.12.3 are affected.
Upgrade immediately:
@hongminhee@fosstodon.org
이달 末에 페디버스의 여러 오픈 소스 소프트웨어에 컨트리뷰트 해 보는 스프린트를 서울에서 열려고 합니다. 먼저, 컨트리뷰터 또는 메인테이너 분들부터 모으고 있어요! 저는 제가 만든 ActivityPub 서버 프로젝트인 Hollo를 들고 갑니다.
@bkeegan@hci.social
I started a #zotero group library focused on research about #activitypub, #decentralization, #affordances, Mastodon, migration, #moderation, and #newcomers.
Collaborators welcome! #TheorizingTheFediverse #TheoryOfMastodon #twittermigration
https://www.zotero.org/groups/4861035/fediverse_observatory/library
@chris@strafpla.net
Duty calls on the Fediverse
#Mastodon #ActivityPub #Fediverse #XKCD
@weekinfediverse@mitra.social
Week in Fediverse 2024-08-16
Servers
- Castopod v1.12.9
- honk v1.4.1
- Trunk & Tidbits, July 2024
Clients
- IceCubesApp v1.10.49
- PixelDroid v1.0.beta34
- Voyager v2.17.0
- Thunder v0.5.0
- Dhaaga: An opinionated, cross-platform (Android & iOS) mobile client for Mastodon and Misskey
Protocol
- FEP-c16b: Formatting MFM functions
- FEP-c0e0: Emoji reactions
Articles
- ForgeFed: Actor Factory
- The Untapped Potential of Fediverse Publishing
- Fediverse for Freedom
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01913802-2bfe-da50-aacd-258558dfe1c6
@pfefferle@mastodon.social
guess what's coming soon to a #WordPress blog near you?
https://github.com/Automattic/wordpress-activitypub/pull/804
thanks @janboddez ❤️
@fedify@hollo.social
In the next version (v0.14.0) of #Fedify, the performance of the Object.toJsonLd()
method will be dramatically (~3k ×) faster. This is expected to improve the overall performance of Fedify apps!
@steve@social.technoetic.com
"The inbox stream contains all activities received by the actor." (#ActivityPub Rec). However, AP/AS2 collections (including "special" ones like Inbox, Outbox, Followers, etc.) do not contain Objects or Activities. They contain URI *references*. That's why one Create/Note can be referenced by many inboxes. It may look like Collections contain Objects because of typical server JSON-LD serialization, but don't be fooled. It makes a difference for data lifecycle management and storage models.
@talksina@mastodon.uno · Reply to Doctor Popular's post
@docpop I do my best for #activitypub - what is missing IMHO is detailed documentation. For example the difference between "note" and #WordPress format, if it's possible to write a post mentioning a fediverse account so that they get notified... @_elena managed to do everything of this, I didn't... @pfefferle suggested me to change setting from "note" to "wp format" and it did not give me results I expected...
@talksina@mastodon.uno
Happy to see that my translations for #activitypub #WordPress plugin have been approved and I'm now trying to cover the readme file, in order to have plugin description translated as well. My 2 cents to help people discover #fediverse - I can't deny I sometimes feel discouraged, having just a couple followers on blog's profile but patience rewards me, I can't be in a rush.
@steve@social.technoetic.com
I believe the W3C should reconsider splitting the #ActivityPub Recommendation into three documents: Core/Shared requirements, S2S (Server-to-Server, "social/federation protocol"), and C2S (Client-to-Server, "social API"). I think it would reduce developer confusion and help them focus on requirements that are relevant to their work (typically, S2S/Core). It would also allow C2S to be improved independently so that more developers might consider using it.
@dave@podcastindex.social
The Podcast #ActivityPub bridge was down. It's back up now. Still trying to figure out what went wrong. Thanks to @DavidMarzalC for the heads up.
@hongminhee@fosstodon.org
Is there such a thing as a #fediverse version of #Meetup.com?
@FediTips@social.growyourown.services
The news curation platform @Flipboard is becoming a full member of the Fediverse! 🥳 Anyone with a federated Flipboard.com or Flipboard app account can now follow and interact with accounts on Mastodon etc, and vice versa:
➡️ https://about.flipboard.com/fediverse/follow-anyone-in-the-fediverse
If you have a Flipboard account, you can request it to be federated here:
➡️ https://www.surveymonkey.com/r/C7VQY5K
Once it's been federated, you'll be able to do all the Fediverse stuff described in the news item.
@mike@flipboard.social
Hello fediverse!
This morning we shipped an exciting new version of #Flipboard that enables *anyone* on Flipboard to follow *anyone* in the fediverse.
This is the culmination of a ton of work to deeply integrate #ActivityPub into the product. The result is incredibly seamless.
Just tap on the search icon in Flipboard and tap the follow button for anyone featured there or that you find in search. You’ll soon start seeing their posts in all of your relevant Flipboard feeds.
Check the screenshots below and read this post to learn more:
https://about.flipboard.com/fediverse/follow-anyone-in-the-fediverse/
@shollyethan@fosstodon.org
Showing the #Fediverse some love this morning with a new app directory dedicated to #ActivityPub platforms, clients, and tools for easy browsing and discovery:
https://selfh.st/apps/?directory=activityPub
Users can browse by the various software types with a filter for platform (web, desktop, mobile) and various sort options based on popularity (repo stars), recent development activity, and more.
#software #app #apps #selfhost #selfhosted #selfhosting #mastodon
@benbrown@hackers.town
Hello fellow citizens of the free and open web, it is me, Ben Brown. You may remember me from that social network from back when social networks were cool, or maybe from that one open source project that blew up.
Hi, it is great to see you again.
First off, corporate owned social media always sucked, we always knew it. It is past time for us to have better options.I am so glad for the #Fediverse and #ActivityPub and Mastodon and other projects for breathing new life into the indie web, where it is possible for us to own what we post and use whatever tools we want. I couldn’t resist building something!
My new project is called SHUTTLECRAFT. It social media server … FOR ONE.
What does that mean?
It is very small and lightweight open source app that runs nicely on services like Glitch, but it has most of what you need to host your own personal social media account.
It’s got a microblogging tool, to make posts. You can customize the design with HTML and CSS. You can follow people on Mastodon or other services and interact with posts and send messages. People can follow you on Mastodon, or with RSS. You run it on your own server so you own and operate the data and the code and the whole service. And you can hack the code and make it weirder so that we can all be part of a better, more diverse and more interesting web.
No billionaires or mega-corps required!
I made a 3 minute video showing how it works:
https://www.loom.com/share/a6441bcebdc64f54b5010c95eae1e180
Though this a personal project and only a few weeks old, with tons of stuff still unfinished and yet to build... you can get the code right now and run your own right now! The official site also has a 3 minute walk through of setting up an instance on Glitch. It is pretty easy!
Or go straight to for the code:
https://github.com/benbrown/shuttlecraft
Thanks to everyone who has already tested this or sent feedback or contributed code. Y'all rule.
Own your posts!! Make it hard for them to monetize you!
@rolle@mementomori.social
My reply to a GitHub discussion on why WordPress should have their own Mastodon account:
Well, the first thing what I'm a bit bummed about here is that why is WordPress.org seeking only a commercial, wide-as-possible-reach type of platform in social media when the other major foot is obviously in the open source world? Mastodon and the Fediverse is full of WordPress and PHP people and influencers, WordPress itself connects to ActivityPub and Threads.net connects to ActivityPub as well. So the reach is not any absolute metric here as it's not just one platform. It's the whole web.
For the second question, just see how much WordPress is talked about between instances, I've seen numerous folks of missing the official WordPress account there, including the community folks.
Here are some examples of the brand accounts:
- Internet Archive, 52K followers
- Have I Been Pwned, 14K followers
- 9to5Mac, 25K followers
- World Wide Web Consortium, 31K followers
- GIMP, 10K followers
- Electronic Frontier Foundation, 62K followers
- 1Password, 9.3K followers
- Signal, 51K followers
In my mind the worlds largest open source CMS should be a part of this open social web movement.
Original comment here: https://github.com/WordPress/Marketing-Team/discussions/168#discussioncomment-10315164
You're welcome to chime in.
#WordPress #OpenSource #ActivityPub #SocialMedia #SocialWeb #Fediverse
@maegul@hachyderm.io
So, kbin.social (and likely #kbin itself) is dead.
I only joined the #fediverse in the "twitter migration" and *already* have 2 accounts that died on instances that were "flagships" but just disappeared (kbin & firefish).
No blame or shame for the devs or anything. They tried which is much more than most of us.
But whoever "decided" that true mobile identity isn't a priority for #activitypub / fediverse, probably fucked up.
Why hasn't the fediverse grown more? Instances & immobile accounts!?
@basus@mastodon.social · Reply to 洪 民憙 (Hong Minhee)'s post
@hongminhee I think it depends on whether you want Fedify to be an #ActivityPub server itself, or a library for writing servers.
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
The database agnosticism of #Fedify as an #ActivityPub server framework is …
Option | Voters |
---|---|
… useful. | 0 (0%) |
… unhelpful. | 0 (0%) |
@FediTips@social.growyourown.services
If you have a WordPress blog, you can optionally allow people to follow your blog from Mastodon etc. They will be able to see your posts in their timelines, and if they reply to your post on Mastodon etc it will appear as a comment on your blog.
There are complete instructions for how to switch on this feature here:
➡️ https://fedi.tips/wordpress-turning-your-blog-into-a-fediverse-server
This works for all kinds of WordPress-powered blogs including wordpress.com blogs and independently hosted blogs.
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 79
This week's news:
- @mmasnick joins Bluesky's Board of Directors
- @bonfire shows some more information on Mosaic, another project of Bonfire, and puts out bounties for developers to help get to a 1.0 release
- A platform for football fans with CollabFC
- 3d printing platform @manyfold has added early #activitypub support
Read at: https://fediversereport.com/last-week-in-fediverse-ep-79/
@darnell@one.darnell.one
#Fediverse Tip: Turn Your #ActivityPub Username Handle Into A Forwarding Email Address 🔛 @darnell@darnell.day (Seize The Day) 📰 https://darnell.day/fediverse-tip-turn-your-activitypub-username-handle-into-a-forwarding-email?pk_campaign=rss-feed
@manyfold@3dp.chat
Manyfold v0.75.0 is out, with some experimental social features powered by #ActivityPub under the hood. We're taking our first steps into a larger world!
(PSA: it's very early days, so don't expect to be able to subscribe to 3d models in Mastodon *just yet*)
@markdarb@mastodon.social · Reply to Mark Darbyshire's post
Also, how likely is it looking that we'll get federated groups that are compatible between both Mastodon and a Misskey derivative? Or ideally compatibility between a whole bunch of ActivityPub implementations.
I'm pleased to see some progress at https://github.com/mastodon/mastodon/pull/19059 and I can appreciate it's not something you would want to rush.
@hq@socialhome.network
This release contains some important performance fixes to some background jobs that had previously caused a lot of database load. Additionally, we queue less jobs that don't make sense.
Full changelog:
We recommend using the Docker images:
registry.gitlab.com/jaywink/socialhome:v0.20.0
registry.gitlab.com/jaywink/socialhome:v0.20.0-arm64
Notes on how to use the Docker images can be found in the docs. They're a bit minimal, we're looking on getting better example Docker based install instructions in place soon.
Socialhome is best described as a federated personal profile with social networking functionality. Users can create rich content using Markdown. All content can be pinned to the user profile and all content will federate to contacts in the federated social web. Federation happens using the ActivityPub and Diaspora protocols.
Please check the official site for more information about features. Naturally, the official site is a Socialhome profile itself.
If you want to try Socialhome first before trying to install it, register at https://socialhome.network and then ping us with a comment on the user name chosen, and the account can be activated. You can also request account approval in the chat room. Unfortunately due to spammers accounts on the project instance need to be separately activated.
Want to work on a Django and VueJS powered social network server? Join in the fun! We have easy to follow development environment setup documentation and a friendly chat room for questions.
#socialhome #federation #fediverse #activitypub #diaspora #django #vuejs
@liaizon@social.wake.st
I discovered today that @prologic has added #ActivityPub support to their twtxt server software https://yarn.social and its largest instance https://twtxt.net essentially bridging the #fediverse and twtxt networks together.
If you are unfamiliar with #twtxt, it is a different take on decentralized microblogging that has been around for many years, and it is quite interesting to see it now bridged between this side and that one!
@liaizon@social.wake.st
I don't think many folks here in the English speaking side of the fedi know about #Juick (juick.com) but its another part of the #fediverse that is already federating. I just discovered that they are also open source and the code is all available at https://x.juick.com/Juick/ licensed under AGPLv3. #ActivityPub
@hiya@m.chomechome.jp
ActivityPub の実装サンプルを作ってみました。力尽きたのでいったん公開しておきます……w
https://github.com/HARMONICOM/libactivitypub.ts
まだ Misskey のモジュールしかないですし、ノートの取得と表示だけしかできない粗削りなものです。
Mastodon のモジュールも作ったら、Fediver の方に組み入れて使う予定です。また、今後フォローやリレーなどにも対応していきたいです。 #activitypub #fediver
@weekinfediverse@mitra.social
Week in Fediverse 2024-08-09
Servers
- mbin v1.7.0
- Manyfold v0.75.0
- snac v2.57
- Socialhome v0.20.0
- Mitra v3.1.0
- ActivityPub for WordPress v3.1.0
- honk v1.4.0
- Ktistec v2.2.0
- Castopod v1.12.6
- Gush!: Federated social media platform for sharing the things you love
Clients
- Moshidon v107
- Mastodon for iOS v2024.8
- Voyager v2.15.0
- Eternity v0.2.0
Tools and Plugins
- Fedify v0.13.0
- FediFetcher v7.1.6
Articles
- The Archipelago: An Island Network In Practice
- The Future of Social is Here: a Show and Tell (part 3: Friendica)
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0191141b-f558-57f8-0c0c-fa0f64396a92
@_elena@mastodon.social
🚀 The Future is Federated - issue no.8 👩🚀
The Future of Social is Here: a Show and Tell (part 3: #Friendica)
https://blog.elenarossini.com/the-future-of-social-is-here-a-show-and-tell-part-3-friendica/
with shout-outs to @anubis2814 @dansup @fedidb @heidilifeldman @tchambers @kamalaharrisforpresidentnews @ryanbroderick @caseynewton @ferrante @informapirata @russandro @hankg @tio
#TheFutureIsFederated #tech #Fediverse #activism #bigtech #socialmedia #FOSS #blog #activitypub #diaspora #bluesky #tumblr
@hongminhee@fosstodon.org
The JSON-LD processor ended up being #Fedify's bottleneck, so I'm in the process of fixing Fedify to generate JSON-LD without the proper JSON-LD processor.
@js@podcastindex.social
to the #ActivityPub standards people out there: the domain for the width and height properties should be Object | Link, right? Not limited to Link.
The document itself contains examples of those properties on Image objects (which are not Links)
Is this document accepting PRs?
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-width
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-height
@fedify@hollo.social
Fedify, the #ActivityPub server framework, has released v0.13.0. Key changes include:
fedify tunnel
command to expose the local server to the public internet.fedify init
command.Question.closed
property.Question.voters
property.#Fedify v0.13.0 is available now from JSR and npm.
@jameswynn@mastodon.social · Reply to James Wynn 🧐's post
I have to admit I've been a bit disappointed in the maturity of #ActivityPub libraries/frameworks for #Python though. I'm working on a fledgling AP project in Python and finding very little.
It seems that #BookWyrm and #PieFed have gone the route of writing their implementations from scratch. Its great reference material, but a common library we could all build from would be a huge boon for the community.
@adminforge@kanoa.de
Wir haben soeben ein #ActivityPub #Relay für das #Fediverse erstellt: https://relay.kanoa.de
Alle #MastoAdmin|s aus dem deutschen Raum sind herzlich willkommen :mastodance:
@betula@fosstodon.org
Introducing Betula 1.2
Betula is a federated self-hosted single-user bookmarking software. Organize your collection with tags. Write descriptions and quotes. #IndieWeb microformats and #Fediverse are supported.
This release brings #ActivityPub-backed following. Follow Betula from Mastodon and whatnot and receive all new bookmarks. A new design for bookmarks was also made.
Release notes: https://betula.mycorrhiza.wiki/v1.2.0.html
Happy bookmarking!
@kopper@brain.d.on-t.work
question: is anyone federating thumbhashes of media yet? is there an existing extension i can adopt or should i just come up with my own?
i know mastodon federates blurhashes. i'm specifically asking about thumbhashes (evanw.github.io/thumbhash/) instead.
#activityPub #fediDev #fediDevs
@docpop@mastodon.social
Our second episode of The Fediverse Files is out now. It's an interview with @evan, the co-author of #ActivityPub, about the future of the #fediverse. Tune in to learn how open protocols like ActivityPub make the web more open and user-centric. https://youtu.be/nLqwKph7Sxk?si=tT6ix1yuQAfNXj8H #FediverseFiles
@algernon@trunk.mad-scientist.club
Is there a tool I can use to verify an #ActivityPub activity's signature?
As in, I have a JSON thingy, and I'd like to verify its signature, because I think I'm doing something wrong.
Note: Not the HTTP signature, but the signature
object embedded in the JSON itself.
Update: Turns out I don't need json-ld signatures, so not looking for a verification tool anymore, either.
@jwildeboer@social.wildeboer.net
In #Activitypub, replies to a post are a collection of links that are part of the original post. So it’s only natural that the original poster should be in control of what’s in the reply collection. Technically it’s quite simple to implement that the OP (original poster) can decide which replies he/she/they accept or refuse in said collection. It’s up to the developers of ActivityPub implementers like Mastodon et al to make that level of control accessible.
@algernon@trunk.mad-scientist.club
I have a bit of an #ActivityPub problem. I'm trying to implement an AP server that can send toots to #Mastodon. So far, I managed to follow a user on my server, that seems to work okay. However, when my server tries to send a Note, Mastodon accepts it, but it does not appear on the following user's timeline.
I'm not sure what I'm doing wrong. HTTP Signatures appear to be fine, because otherwise the follow wouldn't work either, and the Note Create activities wouldn't be accepted either.
For reference, here's how the user looks:
❯ curl -s https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1 | jq .
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1"
],
"id": "https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1",
"type": "Person",
"name": "Gergely Nagy",
"icon": {
"type": "Image",
"mediaType": "image/png",
"url": "https://shoes.forgejo.madhouse-project.org/avatars/0eda2e83a694fb1986130c186f0339a049c9abe53dfc9e7c7bc7b3259c836c69"
},
"url": "https://shoes.forgejo.madhouse-project.org/algernon",
"inbox": "https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1/inbox",
"outbox": "https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1/outbox",
"preferredUsername": "algernon",
"publicKey": {
"id": "https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1#main-key",
"owner": "https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEApvsXapYe/P1naSa/0VW7\nHxLlCUjZGmMAm7jdjM5YOjVPd5WHC7yBj2rrJBMXnfT3dkDSdImIBVg7wB7QD//F\nJe9p4T5tzeERBOBdZ82BWsJsBB2ytSOq5UW1uE4YE4zEXutJcVW0tHhoS/vFQthV\nU4ayDMZf4pTlcwunjajgsWYMTr4uzYKd/nVvuDp9iIapQ/zZx/U2iPpCAkkR+mcT\nWIVCJNSai/S9gaN+AO2Wf0cTlW5qO6/tkJqozYSYXD7gVEAZaGMSgr4r6J5TiYL4\nqSyTbxRW1zYt9trCwi8+MVdKCbR349RKcbljnYl8Ge7uGckfIc+M3X5JAkhBxtWX\nT6eZbJVTgH4Z/0GSY4qw1goNkGk+3Rq84/dWJ2IJuJX6o6fScSQYWTWKub0rhU+m\nNM+Q0kDJ8XLMVEZuWFI9vN2KTxickwcCvCK7ck9vUZFNwXwQRLOKTGtJtH9zSJdJ\nEz8w6UlI43bvvnYndY+5NRgDCESuXw8yLDWp03wFmgDJAgMBAAE=\n-----END PUBLIC KEY-----\n"
}
}
The activity I send out looks like this:
❯ jq . <tmp/tootsie.json
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1/activities/f8cdb5c8-5575-4eb9-b21c-9255bdb5a7de/activity",
"type": "Create",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1/followers"
],
"published": "2024-08-02T16:54:59Z",
"actor": "https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1",
"object": {
"id": "https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1/activities/f8cdb5c8-5575-4eb9-b21c-9255bdb5a7de",
"type": "Note",
"content": "<a href=\"https://shoes.forgejo.madhouse-project.org/algernon\" rel=\"nofollow\">algernon</a> <a href=\"https://shoes.forgejo.madhouse-project.org/algernon/federation-test/issues/1#issuecomment-253\" rel=\"nofollow\">commented</a> on <a href=\"https://shoes.forgejo.madhouse-project.org/algernon/federation-test/issues/1\" rel=\"nofollow\">algernon/federation-test#1</a>: <blockquote><p dir=\"auto\">c</p>\n</blockquote>",
"attributedTo": "https://shoes.forgejo.madhouse-project.org/api/v1/activitypub/user-id/1",
"published": "2024-08-02T16:54:59Z"
}
}
When sending this to Masto, with http signature, Masto replies with "202 Accepted". But the user I'm following with, does not see the note on the timeline.
Do I need to implement outbox
? I'd prefer not to implement outbox
if I can avoid it.
If anyone wants to play with it, and perhaps help me debug what is going on, registrations on https://shoes.forgejo.madhouse-project.org/ are open. Creating a repo, opening an issue, and then commenting on that will all emit activities, which are sent to Masto as Notes.
@liaizon@social.wake.st
This is a milestone worth celebrating! :fediverse:
In development as we speak, @forgejo can now federate comments (and tons of other stuff) from issues in repos!!!
The first screenshot is @algernon (a Forgejo account able to be tagged in this post!) commenting on the issue: https://shoes.forgejo.madhouse-project.org/algernon/federation-test/issues/4 as seen in @phanpy while logged into my Mastodon account!
#fediverse #ActivityPub #FediDev #federation #forgejo #git #GitFederation
@js@podcastindex.social
Cool stuff coming in Mastodon 4.3 (stable soonish?) for #ActivityPub C2S enjoyers
Particularly interesting: a new standards-based (!) OAuth discovery and dynamic client registration mechanism
https://github.com/mastodon/mastodon/issues/24099
ie no more creating boatloads of unnecessary clients using the non-standard Mastodon API!
👉 standard: https://www.ietf.org/id/draft-parecki-oauth-client-id-metadata-document-01.html
👀 anyone can see it in action today on the main instance, which runs early 4.3 builds:
https://mastodon.social/.well-known/oauth-authorization-server
@weekinfediverse@mitra.social
Week in Fediverse 2024-08-02
Servers
- Pleroma v2.7.0
- PeerTube v6.2.1
- Misskey v2024.7.0
- gathio v1.5.0
- Activity-Relay v2.0.6
- Castopod v1.12.4
- ActivityPub for Wordpress v3.0.0
- Iceshrimp v2023.12.9
- NeoDB v0.10.4.5
Clients
- Husky v1.6.0
- Impressia v3.0.0
- IceCubesApp v1.10.46
- Voyager v2.14.0
- Pachli v2.7.0
- Moshidon v106
Tools and Plugins
- Fediverse Redirect v1.13.4
- Poduptime v5.3.1
Articles
- Verification in the fediverse
- The Future of Social is Here: a Show and Tell (part 2: Wordpress ↔️ Fediverse)
- The story behind peertube's transcription feature
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0190f14b-a6ea-81cc-c715-78f423020ed9
@j12t@j12t.social
#ActivityPub was not designed for testability.
I think that is a true statement.
@hongminhee@fosstodon.org
If you've created a new web framework, you can assume that your readers will have some knowledge of HTTP when you write tutorials for it. However, if you have created a new #ActivityPub server framework, you should also explain ActivityPub itself in the tutorials for this framework.
I kept thinking about this while writing the #Fedify framework tutorial. 😩
@bob@beamship.mpaq.org
#MicroShit has taken over GitHub apparently. If you can't self host, we might be able to help you at MPAQ @seige , have any ideas.
#FuckMicroShit !!!
Our "admin" @admin has put out a program to list following and followers so, I'm going through my lists to find out who is missing and I've missed 😁 so far, its been tested on Mastodon instances but don't know if it will work on other platforms.
A topic that came up within the last few days is a way to look at your following and followers lists. Please don't abuse public data for others. Nothing fancy but here it is:
https://github.com/MPAQ-Admin/follow/
Anyone wants to jump in and help are welcome :dog_smile:
#FollowBack #Mastodon #free #ActivityPub #Following #Followers
@Flipboard@flipboard.social
Flipboard CEO @mike will be joining the @threads AMA about the fediverse on Monday, along with Block Party founder Tracy Chou. Get ready to ask away — no question is too basic or complex.
#Fediverse #Federation #Threads #ActivityPub #MikeMcCue #TracyChou #AMA
@OpenMentions@indieweb.social · Reply to Operation: Puppet (he/him)'s post
@operationpuppet I am a big fan of using #WordPress with #ActivityPub and #WebMention enabled. That might not be an option for everyone but it has worked for me. That said, if you find a more efficient method, I'm all ears.
@OpenMentions@indieweb.social
OpenMentions.com was created to start a federated (distributed) directory of topics where by using #WebMention and #ActivityPub we can discover others talking about topics that interest us.
@_elena@mastodon.social
Currently trying out #Friendica for a new issue of my newsletter/blog #TheFutureIsFederated and this GIF speaks louder than words. I’m OBSESSED 😍
I’ve spent an hour adding #Bluesky accounts and #RSS feeds of my favorite blogs (in addition to a selection of #Mastodon and federated #Threads accounts). It’s SOOOO COOL…
Thank you #Fediverse and #ActivityPub for making this possible 🪄✨
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#연합우주 (#fediverse) 개발을 단순화할 준비가 되셨나요? #Fedify 프레임워크를 확인해보세요!
더욱 연결된, 더욱 분산된 웹을 만드는 데 동참해주세요! 🌐 #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#ActivityPub 인터랙션 디버깅은 꽤 까다롭죠. 그렇지만 #Fedify 툴체인이 도와드립니다! 테스트와 디버깅을 위한 CLI 툴체인을 포함하고 있어 개발과 트러블슈팅이 쉬워집니다. 머리 싸매는 시간을 줄이고 멋진 기능을 만드는 데 더 많은 시간을 쓰세요! 🔍
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 프레임워크는 #연합우주 (#fediverse) 개발에 중요한 기능들을 기본으로 내장하고 있습니다:
@fedify@hollo.social
#Fedify 소개: #연합우주 (#fediverse) 상에 #ActivityPub 서버 앱을 만들기 위한 강력한 #TypeScript 라이브러리! 🚀
Fedify는 연합형 앱의 복잡함을 단순화하여 개발자가 가장 중요한 것—고유한 기능과 사용자 경험—에 집중할 수 있게 해줍니다. Fedify의 특징을 살펴볼까요? 🧵
@renchap@oisaur.com
Question for #ActivityPub implementors: has there been any research on how to best handle deletions (accounts and/or posts)?
At the moment, the best (and only?) way to know that an account deletion has been federated everywhere is to notify any known inbox / instance, for every account deletion.
This is very wasteful and not efficient, are there any alternatives? Has anyone worked on this?
@janboddez@indieweb.social
So, version 3.0 of the ActivityPub plugin for WordPress comes with a Reply block of its own. Like, I’ll probably stick with my current implementation and continue to just use IndieBlocks’ Reply block for all things microformats, Webmention, *and* ActivityPub, but: pretty cool nonetheless!
*And*, looks like it comes with a *bookmarklet*, too. I’ve been hesitant about adding those—*something irrational fear of a potential security hole…
@PeteBleackley@wandering.shop
#Moderators have said they need better tools to help them deal with #toxicity on #Mastodon
I'd be willing to start an #OpenSource project to build such tools. I'm a data scientist and could probably build a toxicity detector, but the project would also need
1. Somebody familiar with #ActivityPub
2. Somebody who could do UI
3. A domain expert - someone with moderation experience @proprietor do you know anyone who could help
4. Ethical oversight - could @DAIR help with this?
@jwildeboer@social.wildeboer.net
It’s still embarrassing to me how many here treat the CW hack as fact and scold users for not using it. Let me remind you that #mastodon abused the #activitypub standard to establish their own interpretation of the subject field to serve as #ContentWarning.
@maybeanerd@bumscode.com
I spent my free time in the past few weeks rebuilding game server federation of https://github.com/maybeanerd/selfhosted-api-trader-game
My goal was to move away from something specific to the game, and support #activityPub instead.
It seems to have worked quite well!
Game servers now fully federate all their actions using ActivityPub.
@box464@mastodon.social
ActivityPub idea #237 - Federated version of GoComics with all the properties a strip would have - panels, sequence, page, byline, date of publication, etc.
@abelio@mastodon.social
FYI: Abelio will provide couple of ways of publishing visual contents. One of them is part of the article editor and it let's you organise multiple images in a form of a flexible grid you can arrange as needed.
#fediverse #fedidev #activitypub #writers #photography #arts
@hongminhee@fosstodon.org
I'm writing a new #Fedify #tutorial. If a tutorial on creating an #ActivityPub server needs to deal with persistent data, where should they be stored? I want the tutorial to focus as much as possible on implementing the business logic and as little as possible on other things.
Option | Voters |
---|---|
Regular files | 0 (0%) |
SQLite | 0 (0%) |
MySQL or PostgreSQL | 0 (0%) |
Redis | 0 (0%) |
@fedify@hollo.social
If you read a #Fedify #tutorial, what #ActivityPub software would you like to see as an #example in the tutorial?
Option | Voters |
---|---|
Microblog (like Mastodon) | 21 (32%) |
Long-form blog (like WordPress) | 10 (15%) |
Photo blog (like Pixelfed) | 7 (11%) |
Forum (like NodeBB) | 6 (9%) |
Link aggregator (like Lemmy) | 9 (14%) |
Much simpler one! | 13 (20%) |
@hongminhee@fosstodon.org
Are there any #ActivityPub server implementations that support #Misskey-style quote sharing and #Mastodon-compatible APIs at a time?
@strypey@mastodon.nzoss.nz · Reply to Strypey's post
I wonder how this might fit with the work done to extend easy account migration across the fediverse, with Portable Objects (FEP-ef61)?
https://codeberg.org/fediverse/fep/src/branch/main/fep/ef61/fep-ef61.md
The developer of Streams contributed a lot to this FEP, based on the NomadicIdentity features it's shared with Hubzilla for years(1). So it's already been implemented in Streams.
I'm curious to see it added to other ActivityPubs apps so I can test an app-to-app migration.
@strypey@mastodon.nzoss.nz
This is a fascinating read from the end of 2023, about the #ActivityPods team's plans for v2.0 and the v1.0 limitations it's being designed to overcome;
@django@social.coop
#introduction
I'm a developer, have been working with #php #javascript, #WordPress for years, exploring others as well. Hacking on #ActivityPub wp plugin, interested in #CivicTech
language nerd: native bilingual #Français, English, hablo español, falo portugues, foghlaim gaeilge leis an ulchabhan. And smidgens of a few others.
Interests and what I might post about: #lowtech, #cooperatives, #music (electro, folk, jazz), #bikes, #anthropology, #mythology, #sociology, #CommunityOrganizing
@mauve@mastodon.mauve.moe
Hey folks into #ActivityPub and #p2p / #dweb tech. We've got a new #FEP in the works to bridge between the two worlds based on the work we've been doing at @distributed
Come check it out and let us know what you think and if you'd like to implement it yourselves!
@PeterBronez@hachyderm.io
Has anyone written a good “Fediverse for Politicians” post?
I want to encourage my representative to include the #Fediverse in their communications strategy. I think the meaningful fundraising demonstrated by #mastodonforharris will be more convincing than technical arguments.
I’d rather not write yet another introduction to #Mastodon and #ActivityPub post, so show me what you’ve got!
@hello@social.wedistribute.org
@_elena@mastodon.social
🚀 The Future is Federated - issue no.6 👩🚀
The Future of Social is Here: a Show and Tell (part 1: #Mastodon ↔️ #Pixelfed )
with shout-outs to @phanpy @tapbots @ivory @Tusky @dansup
✨ and special thanks to @evan @cwebber for your work on #ActivityPub, the magic protocol that is making all this possible ✨
#TheFutureIsFederated #tech #Fediverse #bigtech #socialmedia #FOSS #blog #RebelAlliance
@pmmueller@mastodon.social
Wir haben den Blog auf einstieg-in-wp.de mit ActivityPub fedifiziert, sodass man ihn hier auf Mastodon abonnieren kann:
@blog (at-einstieg-in-wp.de)
Einfach auf den Link klicken und folgen.
ActivityPub kann man sich wie interaktives RSS vorstellen, denn Kommentare zu Beiträgen erscheinen sowohl auf Mastodon als auch im Blog auf unserer Website.
Bin gespannt, ob und wie das in der Praxis funktioniert.
@badgerclops@mastodon.social
Somebody should just code and replicate #tumblr’s exact user interface/experience and then port it over to the #fediverse. #activitypub
@rwg@aoir.social
I'm a little in over my head, but I'm just about to give a presentation based on my book about #Mastodon to the #IETF120 meeting. I'm going to talk about the development of #ActivityPub to a group interested in standards development:
https://datatracker.ietf.org/meeting/120/materials/agenda-120-rasprg-04
@iamwaseem@mastodon.social
Should I write a very lightweight #activitypub implementation in order to learn the technology to the core?
I've gone through the specification and believe me it isn't well documented.
There are blogs which are far better than the official specification.
@fedify@hollo.social
#Fedify, an #ActivityPub server framework, has released v0.12.0. It's a minor release in about a month, so there's quite a few changes:
fedify
command can now also be installed with npm. It can be installed with npm i -g @fedify/cli
in Node.js and bun i -g @fedify/cli
in Bun.fedify init
command to help set up a new Fedify project.ChatMessage
, Move
, Read
, Travel
, View
, TentativeAccept
, and TentativeReject
classes. (Thanks to @moreal!)hostname
, host
, and origin
properties of the Context
.It's available on JSR and npm now, and you can upgrade it using the deno add
command on Deno:
deno add @fedify/fedify@^0.12.0
Or using the bun add
command on Bun:
bun add @fedify/fedify@^0.12.0
Or using the npm add
command on Bun:
npm add @fedify/fedify@^0.12.0
@haubles@fosstodon.org
I’m lucky in my work to see firsthand the impact of what we do on systems and the people that run them.
We’re supporting @Mastodon through #FastForward because @Gargron, @renchap, and the entire #Mastodon team are doing important work and we want to help them scale it with integrity.
Well and it’s pretty neat to have a front-row seat (walk-on part?) to the revolution 😎 #TheFutureIsFederated
https://dev.to/fastly/welcome-mastodon-to-fast-forward-11g4 #ActivityPub #fediverse #OpenSource
@js@podcastindex.social
Anyone out there in #ActivityPub land that can point me to a real-world payload with the "streams" property?
ie this one: https://www.w3.org/ns/activitystreams#streams
@fedify@hollo.social
Since #Fedify v0.12.0, when verifying HTTP Signatures or Object Integrity Proofs, it will cache the public keys once fetched. It is okay even if a cached key becomes outdated because a verification failure due to a cached key will invalidate the cache and force a verification retry.
This feature is available for preview in v0.12.0-dev.307+235629d5 (JSR or npm).
@J12t@social.coop
Interesting #ActivityPub implementation roadmap by the #Ghost team: instead of implementing the standard, and then optimizing interop of their implementation with other implementors like Mastodon, they start with making it work with other implementations and then come back to the standard.
https://activitypub.ghost.org/mapping-out-activitypub-support/
@strypey@mastodon.nzoss.nz
Looks like the #fediverse has champions at the Verge;
"But all of this stuff only works if there is a standard, and I’d bet $10 that ActivityPub is going to be that standard. It’s the one that’s overseen by the World Wide Web Consortium, it’s the one with the most momentum, it’s the one Threads is supposedly going to support — it’s just kind of clearly winning."
#DavidPierce, Verge editor-at-large and Vergecast co-host, 2024
https://www.theverge.com/24063290/fediverse-explained-activitypub-social-media-open-protocol
@danie10@mastodon.social
Oh, Zot! Nomadic Identity is Coming to ActivityPub: This could change the Fediverse forever
Years before there was Mastodon and even ActivityPub, there was Mike Macgirvin who created the Zot protocol, which Hubzilla runs on. One of Hubzilla’s most amazing features (apart from also integrating with Activity and the Fediverse, and having cha ...continues
@janboddez@indieweb.social
Updating #IndieBlocks’ Facepile block to allow multiple inner [Facepile Content] blocks. Here’s me splitting up likes and bookmarks.
It supports Webmention as well as ActivityPub reactions. As you may be able to tell, the “response count” excludes likes, etc.
While the #ActivityPub plugin for #WordPress does not (yet) support likes, I’ve been able to add support for them through some custom callback functions.
@thisismissem@hachyderm.io
Two big new Mastodon Issues created today, to try to improve the reporting and moderation tools and experiences for both users and moderators alike:
Ability to exchange updates about Reports for Users and Moderators: https://github.com/mastodon/mastodon/issues/31083
Ability to discuss a Report with a local account: https://github.com/mastodon/mastodon/issues/31081
Relatedly, there's also Federation of Report Notes in https://github.com/mastodon/mastodon/issues/27562
@hongminhee@fosstodon.org
꽤 많은 사람들이 #Mastodon 具顯이 ActivityPub을 特定한 方式으로 쓰기 때문에 생기는 問題들을 #ActivityPub 自體의 問題라고 錯覺하는 것 같다.
@weekinfediverse@mitra.social
Week in Fediverse 2024-07-19
Servers
- PeerTube v6.2.0
- Hubzilla v9.2.1
- ActivityPub for WordPress v2.6.0
- Ktistec v2.0.0
- Iceshrimp v2023.12.8
- NeoDB v0.10.4
- PieFed development update July 2024 - Lightbox, Mod log, Wikis
Clients
- Jerboa v0.0.70
- Tuba v0.8.2
- Photon v1.31.0
- Raccoon v1.12.1
Tools and Plugins
- FediTest v0.3.0
- PeerTube Livechat Plugin v10.3.2
Protocol
- FEP-c551: Use ECMAScript Modules to Create Conformance Tests for Fediverse Enhancement Proposals
- FEP-c4ad: Viewership History
- FEP-a5c5: Web Syndication Methods
- FEP-eb48: Hashtags
- FEP-c893: DOAP
Articles
- ActivityPods Releases Example App to Help Developers
- Privacy and Consent for Fediverse Developers: A Guide
- New Features for ActivityPub.Academy
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0190a734-01fc-7fed-9452-c96540d52127
@pfefferle@mastodon.social
We just released version 2.6.0 of the #ActivityPub plugin for #WordPress
You can now (finally) add/edit/delete the extra fields, we improved the remote-reply overlay quite a bit and made a lot of smaller tweaks and fixes.
Let us know if you have some feedback!
@heiglandreas@phpc.social
So using the #ActivityPub plugin in my #WordPress means that right after publishing a post I'll get over 3k requests for said post within a minute... Which is quite a bit for a small server that usually gets about 2 to 3 requests per minute 🙈
Note to self: Publish about a recent blog post on social media 10 minutes AFTER release. Otherwise people will run into delays...
@box464@mastodon.social
Just read an email newsletter from @newsmast about their upcoming Patchwork platform. It’s a plugin system to extend existing fediverse platforms.
One of their upcoming plugins will be local only posts. It’s a nice feature I used on Firefish, allowing nonfederated community discussions. Looking forward to it!
@zicklag@mastodon.social · Reply to Zicklag's post
@mauve @silverpill @smallcircles Something important that I don't think I've made very clear in my posts so far:
The "protocol" that I am describing is merely a minimal serialization format and schema standard on top of the #willowprotocol and nothing more.
Even the serialization format is just #borsh. It's not custom.
We aren't making a totally new protocol, we're describing a more organized way to store data on the #willowprotocol.
Granted the #willowprotocol is new and isn't #activitypub.
@steve@social.technoetic.com · Reply to silverpill's post
@silverpill @smallcircles @zicklag
>> But ActivityPub is also largely underspecified
> ActivityPub is not underspecified. … It is a protocol for building all kinds of decentralized social applications.
Which results in it being underspecified for any specific application (especially if interop is a goal). But it’s an interesting spin. ;-) As others have noted over the years, #ActivityPub more of a sketch or outline of an idea than a protocol.
@inventaire@mamot.fr
#inventaireio users and entities activities can now be followed from the #Fediverse!
Some examples of followable actors:
- a user: @Georges
- an author: @wd-Q46248
- a serie: @inv-083c773e8b26776230e40657fdfadeb9
- a publisher: @wd-Q3213929
- a publisher collection: @inv-582c0644d0a9c06d4758deb86d49ff1e
This is the result of our first experiments with #ActivityPub: let us know if you find it useful!
Learn more: https://wiki.inventaire.io/wiki/What_is_the_Fediverse#Inventaire_and_the_Fediverse
@hongminhee@fosstodon.org
소프트웨어 프로그래머 블로깅 플랫폼인 velog에 ActivityPub을 붙이는 것을 이슈로 만들어 보았습니다.
@zicklag@mastodon.social · Reply to Zicklag's post
@silverpill @smallcircles If #activitypub supports everything that we need, it should be trivial to layer it on top of this protocol, possibly built-in, without needing a separate server/bridge.
But I want to build the smallest thing I need first.
I want to avoid tying myself to a protocol that has been, as far as all common implementations are concerned, implemented with different goals and trade-offs in mind.
As far as our testing and experimentation now, the more focused the better.
3/3
@zicklag@mastodon.social · Reply to silverpill's post
@silverpill @smallcircles Interesting thoughts.
The biggest thing pushing me away from #ActivityPub is that I want a content replication system, similar to #ipfs :
- I want an efficient way to serve content to the global network and save that content offline without losing signatures of authenticity.
- I want all the data hosted by one client/server to be transparently loadable by any other client/server with permission.
- I want clients to be able to connect to each-other, without servers.
1/3
@silverpill@mitra.social · Reply to Zicklag's post
>But ActivityPub is also largely underspecified
ActivityPub is not underspecified. Developers might get frustrated when they read the spec and discover that it doesn't explain how to communicate with Mastodon. But this is only because the scope of the spec is much broader. It is a protocol for building all kinds of decentralized social applications, and some of them can be quite different from micro-blogging services.
>We prefer to make a very precise protocol specification to give tight interoperability at it's core, but allow component data and schemas to develop independently for extension.
You can create an interop profile for ActivityPub which can be as precise as you want. It can be very strict and at the same time compatible with many existing applications (best practices for interop has been already discovered, and the work on formalizing them is ongoing).
Extensibility is baked in (ActivityPub is a culmination of several decades of experimentation with semantic web concepts).
Of course, you can design a different protocol, but bootstrapping protocols is a very difficult task. #ActivityPub is already popular, and it has all the properties of the Web of Data you've described in your post.
>That said, interoperability with ActivityPub is something we are very interested in.
Interoperability can be achieved by adopting ActivityPub data model (ActivityStreams 2.0). A common language will enable communication without centralized bridges. Transport protocols are secondary
@astrojuanlu@social.juanlu.space
My three favorite blog posts giving a critical perspective of #activitypub:
1️⃣ "ActivityPub: The “Worse Is Better” Approach to Federated Social Networking" by @ariadne@treehouse.systems https://ariadne.space/2019/01/07/activitypub-the-worse-is-better-approach-to-federated-social-networking/ (technical problems)
2️⃣ "On standards divisions and collaboration (or: Why can't the decentralized social web people just get along?)" by @cwebber http://dustycloud.org/blog/on-standards-divisions-collaboration/ (human problems)
and the best 3️⃣🏆 "ActivityPub - Final thoughts, one year later" by Dennis Schubert https://overengineer.dev/blog/2019/01/13/activitypub-final-thoughts-one-year-later.html (UX)
@crepels@mastodon.social
New Features for ActivityPub.Academy!
On https://ActivityPub.Academy, you now can
🌟 Write your own Activities and send them to any inbox!
🌟 Control the response of the WebFinger endpoint!
🌟 Change the type of your actor!
This greatly expands the set of Fediverse services that can effectively be analyzed with ActivityPub Academy.
Find out more on my blog post.
https://seb.jambor.dev/posts/new-features-for-activitypub-academy/
@youronlyone@c.im
A couple of links that will help you as a new citizen of the Fediverse (in no particular order).
---
I. Submit Fediverse ideas
👉🏽 https://codeberg.org/fediverse/fediverse-ideas
II. Accepted Fediverse proposals
👉🏽 https://codeberg.org/fediverse/fep
III. List of Fediverse apps / software
👉🏽 https://codeberg.org/fediverse/delightful-fediverse-apps
I guarantee you will be surprised how big of a support the fediverse network has.
IV. User list / Follow interesting people!
👉🏽 https://fediverse.info/explore/people
V. A brief history of the Fediverse
A trip down memory lane, the history / timeline of the Fediverse.
👉🏽 https://codeberg.org/ddfon/federated-sns OR https://codeberg.org/ddfon/federated-sns/src/branch/main/fediverse-history.markdown
---
#FAQ #Fediverse #SNS #ActivityPub #SocialWeb (some call #Mastodon) #SocialNetwork #FediTips #FediHelp #T2pub @fedihelp @feditips #SNS #SocialMedia
@youronlyone@c.im
A list of alternative webclients for various #fediverse software:
Notes:
* webclient: you use your own credential from your own instance
* Listed are: official webclient hosts; or an instance list.
* Optional: other instances.
* In alphabetical order.
For #Lemmy:
1: #Nemmy — https://nemmy.app
2: #Slemmy — https://slemmy.libdb.so
3: #Voyager — https://vger.app
For Mastodon and #Pleroma:
1: #Brutaldon — https://brutaldon.org — also works with text-based browsers like Lynx.
2: #Halcyon — https://www.halcyon.social/instances.php|| https://halcyon.mstdn.social — Twitter-look
3: #Phanpy — https://phanpy.social — also works as a PWA
4: #Soapbox — https://fe.soapbox.pub
For #Mastodon:
1: #Elk — https://elk.zone || https://elk.infosec.exchange — default in https://mozilla.social
2: #Pinafore — https://pinafore.social
3: #Semaphore — https://semaphore.social
4: #Trunks — https://trunks.social — with mobile clients
#frontend #webclient #ActivityPub
For more, see: https://codeberg.org/fediverse/delightful-fediverse-clients
@youronlyone@c.im
The #CIM family of #Fediverse services:
Theme: single-letter domain name.
1: https://c.im — a Mastodon software instance. (#microblogging)
2: https://c.wtf — a Rebased+Soapbox (fork of Pleroma with Soapbox frontend) software instance. (microblogging)
3: https://p.lu — a PeerTube software instance. (#video hosting)
4: https://r.nf — a Lemmy software instance. (#threadiverse)
#ActivityPub #Lemmy #Mastodon #PeerTube #Pleroma #Rebased #Soapbox
---
Inspired by https://c.im/@jerry@infosec.exchange/110781964569113496
@abelio@mastodon.social
Abelio supports couple of ways of posting your content. One of them is a block-style editor (something like on Medium) for those of you who needs to post articles in a convenient, non-markdown way.
@J12t@social.coop
The #Ghost people are doing excellent #ActivityPub marketing with their weekly newsletters, such as today’s. I don’t agree with some of the details of their points of view, but that doesn’t matter in the grand scheme of things, they are doing a great service educating potential users beyond the niche of today’s typical Mastodon users. Recommended.
And you can get the newsletter by following @index
https://activitypub.ghost.org/its-all-about-the-infrastructure/
@fediversereport@mastodon.social
Last Week in #fediverse and #bluesky - ep 77
The news this week:
- Dutch government plans to expand their #Mastodon project
- Nomadic Identity (decoupling user identity from servers) over #activitypub comes to the fediverse
- @openvibe combines Mastodon, #nostr and now Bluesky into a single app and a single feed.
Read at: https://fediversereport.com/last-week-in-fediverse-and-bluesky-ep-77/
@Deuchnord@mamot.fr
Hey the #Fediverse!
Today, I have released the version 0.1.0 of my new project, f2ap, an application that adds a compatibility layer for #ActivityPub to your website thanks to your #RSS/#Atom feed!
You can see a running example at @blog! 🤩
Currently, only the support for Mastodon is guaranteed, but there are a lot of other platforms out there. If you are on another social platform, please help me document the platforms support! 🙏
https://github.com/Deuchnord/f2ap/wiki/Social-platforms-compatibility
@sublinks@utter.online
@erlend@writing.exchange
From @bnewbold:
https://whtwnd.com/bnewbold.net/3kwzl7tye6u2y
A relay of the entire Bluesky network can be run for $153/month. That’s mighty impressive!
Many #ActivityPub hosters are paying this amount for member counts in the low thousands.
@weekinfediverse@mitra.social
Week in Fediverse 2024-07-12
Servers
- Hubzilla v9.2
- Streams v24.7.8
- snac v2.56
- Hatsu v0.2.2
- Mitra v2.25.0
- NeoDB v0.10.3.2
- Trunk & Tidbits, June 2024
- ActivityPub server for Ghost, built with Fedify
Clients
- Mastodon for Android v2.6.0
- mlmym v0.0.49
- Voyager 2.13.0
- Photon v1.30.4
- Raccoon v1.12.0
Tools and Plugins
- PeerTube Livechat Plugin v10.3.0
Protocol
- FEP-9091: Export Actor Service Endpoint
- FEP-6fcd: Account Export Container Format
Articles
- Substack rival Ghost federates its first newsletter
- ForgeFed: Team-Resource Links
- An Admin’s Guide to Fixing PeerTube
- Custom fediverse emoji
- Last Week in Fediverse – ep 76
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01908479-57df-9c53-cdcb-0dc85fd80d66
@tom@tomkahe.com
One cool thing about running your own #ActivityPub server is you can create bots that post hundreds of times a day and lock it so only you can follow it and it doesn't bother anyone or hit random API limits
@fromjason@mastodon.social
The Medium is The Message is part one of a series (probably). In it, I argue that #Threads is not the assumed victory for the #fediverse it appears to be.
Longterm interpolation with Threads sends the wrong signal— not that Meta and Mastodon use #ActivityPub, a protocol the average user doesn’t understand, but that both share the same beliefs for the #openweb.
#PostsFromJason #FediSeriesFJ
https://fromjason.xyz/p/notebook/the-medium-is-the-message-threads-isn-t-a-win-for-the-fediverse/
@fromjason@mastodon.social
For Google, Amazon, Microsoft and Meta ( #GAMM ), the old cloud sync-and-share business model wasn’t working anymore.
So what did they do?
They convinced us that our notetaking apps require an internet connection and forty thousand dollar GPUs located on a server three hundred miles away. That's the future they've made for us.
#SmallWeb #IndieWeb #Fediverse #ActivityPub
https://fromjason.xyz/p/notebook/any-technology-indistinguishable-from-magic-is-hiding-something/
@_elena@mastodon.social
The Future is Federated issue 4:
« Your data, your power: the Fediverse's big advantage over the walled gardens of Big Tech »
with shout-outs to @dot_social
@mike
@johnonolan @PixelFed
#thefutureisfederated #Mastodon #Pixelfed #BigTech #tech #socialmedia #FOSS #ActivityPub #blog
@_elena@mastodon.social
My first post on @pixelfed — it’s awesome to see it pop up in my #Mastodon feed, it feels like magic.
LOVE LOVE LOVE the #Fediverse and #ActivityPub
✨🌳✨
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Ready to simplify your #fedidev? Check out #Fedify!
Join us in building a more connected and decentralized web! 🌐 #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify also focuses on the practical side of #ActivityPub. Its docs includes guidance on using the vocabulary API in line with de facto norms set by popular implementations like #Mastodon. Build more interoperable apps with less headache! 🤝
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Debugging #ActivityPub interactions can be tricky, but #Fedify's got your back! It includes a CLI toolchain for testing and debugging, making development and troubleshooting a breeze. Spend less time scratching your head and more time building awesome features! 🔍
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Out of the box, #Fedify comes packed with features crucial for #fediverse development:
@fedify@hollo.social
Introducing #Fedify: A powerful #TypeScript library for building #ActivityPub server apps in the #fediverse! 🚀
Fedify aims to simplify the complex world of federated apps, allowing developers to focus on what matters most—their unique features and user experience. Let's explore what makes Fedify stand out! 🧵
@ksild@masto.es
Con esta tarea de investigar para aprender más sobre el #fediverso me doy cuenta de las muchas opciones que hay pero la verdad se me hace difícil acceder a ellas. Algunas cosas no termino de comprenderlas.
Por ejemplo, me gustaría estar en una comunidad donde se hable sobre libros, ensayos, novelas, etc... he encontrado #bookWyrm que si no entiendo mal utiliza #ActivityPub por lo que desde mi cuenta de masto.es debería poder conectarme, lo que no termino de encontrar son cuentas a las qus seguir... Me parece que debo abrirme una cuenta nueva en el servidor por ejemplo @comelibros.club pero veo que la mayoría de las cuentas de ese Server están inactivas o es que no sé buscarlas bien ¿o cómo debería hacerlo para encontrar cuentas castellanoparlantes para poder seguir e interactuar?
@MrLee@aus.social
I was feeling inspired after listening to this podcast. https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37 So I decided to have a go at visualising “What a Social Web Browser could look like in the near future” This is my 2nd Mock up. This time I have added a few notes.
-
Ignoring the design, what other features/services do you think should be integrated the Social Web in the coming years?
#ActivityPub #Mastodon #Fediverse #PixelFed #PeerTube
@mike
@box464@mastodon.social
Streams just nonchalantly mentions adding nomadic identity over ActivityPub in the latest release. 🤯
From: @streams
https://fediversity.site/item/d9dd01e1-96fd-4306-9bd9-27c2ebe1a1d5
@ksild@masto.es
¡Hola querida comunidad!
Quería preguntar por videos, artículos que estén buenos y fáciles de entender, preferiblemente en castellano sobre el #fediverso, el protocolo #activitypub y servicios como #mastodon, #peertube... Me he propuesto hacer un artículo sobre ello para el trabajo ya que creo que es importante difundir estas alternativas. Por supuesto mencionaré las autorías de las fuentes.
Sé que @kyva tenía un vídeo explicativo molón pero son incapaz de encontrarlo de nuevo
Les agradezco mucho lo que sea que puedan aportarme :blackspipixelheart:
@weirdwriter@tweesecake.social
Oh look! Ghost open sourced their #ActivityPub integration . https://github.com/TryGhost/ActivityPub #Fediverse #Ghost #OpenSource #ActivityPub
@jonpainterphoto@lawfedi.blue
Ghost is beginning to publish federated content! @index
@silverpill@mitra.social · Reply to Shreyan 🐘's post
@shreyan Most of what you are talking about in "ActivityPub" section is only true for Mastodon. #ActivityPub is much more capable.
>identity is extremely tied to your initial server
>Your data is not really portable
ActivityPub specification doesn't say that identity must be tied to a server. Identity can be tied to a secret key or a DID too, and users with different identity types can even communicate with each other.
Specifically, DID-based identity scheme has been proposed in FEP-ef61. Data portability easily follows from it.
So, with ActivityPub one can have everything that ATProto and Nostr offer, and much more.
@BeAware@social.beaware.live
It's been awhile so I figured I'd do an updated #Introduction post:
Hi, I'm BeAware, sometimes I abbreviate it, BA. I am VERY passionate about decentralized systems like #ActivityPub and #Nostr and tend to discuss these topics at length. Especially the nuances of each and try to keep up with all the things regarding them.
I have #ADHD and #Hydrocephalus, which effects various aspects of my day to day life and how I think. I am also on disability because of it.
I am also very #AI-positive because it helps me with every day life. With my brain disorders, I don't think the same way others do, so AI helps me with describing things accurately and to make sure I get my point across in the way I mean to. I also tend to post #AIart from time to time to realize my creativity.
I'm a #Gamer that primarily plays PC games or games that are Cross Platform. Generally I enjoy #MMORPG, #SurvivalGames and such where I can just "zone out" and vibe without much stress.
Sometimes you'll see me discuss #Technology news as well.
If these seem to be within your interests, feel free to follow and if you have similar interests laid out in your bio, chances are good that ill follow back.
I've been here for a year and this is, by far, my favorite social media platform I've ever been on.
Thank for reading and may you be as federated as you wish!
Sincerely,
B.A.
@aakselrod@infosec.exchange
There's one main thing I like about #BlueSky, #Nostr, #Cwtch, and the in-development P2P-ified #Matrix over #ActivityPub and Matrix as they're generally deployed now: your ID doesn't depend on DNS.
I've not been in the Fediverse very long, but I've already seen people lose their entire social graph because an admin unilaterally took down an instance. When you tie your identity to DNS, you're at the mercy of the domain owner and every point of control over the DNS as a whole, including the court systems in every authoritarian jurisdiction. Not your keys, not your identity.
I like the admins of my instance here, but I see the toll it takes on them running it even with the community's contributions. It's a lot of pressure and a lot of power to have that much control over identity and trust for your users.
I don't think we have to wholesale move to other protocols, though. The beauty of open networks is the freedom to build bridges. When people do migrate between them, it can and should be as smooth as migrating between ActivityPub instances in the happy path, and remain fully interoperable.
@fedify@hollo.social
Finally, @ghost has open sourced their #ActivityPub implementation powered by #Fedify! For Fedify users, this means another production-grade example code.
If you'd like to follow updates on #Ghost's ActivityPub implementation, you can do so by following @index!
@NIGHTEN@hi.nighten.fr
While being stranded for 24h in Germany and Paris’ airport, I finished a first version of a “Mastodon Unroller”, a simple way to take activitypub threads and make clean article out of them in your Astro website.
After a few iteration I think it’s now time to show a little demo!
@neodb@mastodon.online
Hello, Fediverse!
We just shipped NeoDB 0.10 , with revamped i18n support and other features. A dedicated project site is also up: https://neodb.net
If you haven't heard about #NeoDB , it's basically Goodreads+ Letterboxd + RateYourMusic + Podchaser, all in one place, #opensource, powered up with #ActivityPub, plus microblogging, like #Mastodon and its apps.
Love to hear your thoughts, and if you find this project useful, or think someone else may think so, please help boost!
@thomas@metalhead.club
I finally got around to cleaning up the code of my ActivityPub visualization project "FediWatch" and publishing it!
https://github.com/ThomasLeister/fediwatch
I'm sure the documentation is not yet complete or still has bugs - just like the application itself. But if you are brave enough, you are welcome to give it a try.
... or simply take a look at the demo for the metalhead.club: https://watch.metalhead.club
#fediwatch #metalheadclub #foss #fediverse #mastodon #activitypub
@weekinfediverse@mitra.social
Week in Fediverse 2024-07-05
Servers
- Pixelfed v0.12.2
- Mastodon v4.2.10
- Mitra v2.24.0
- ActivityPub for Wordpress v2.5.0
- Castopod v1.12.3
- tootik v0.11.3
- Highlighting journalism on Mastodon
Clients
- IceCubesApp v1.10.44
- Mastodon for iOS v2024.7
Tools and Plugins
Protocol
- FEP-e3e9: Actor-Relative URLs
- FEP-d9ad: Create Conformance Tests for Fediverse Enhancement Proposals
Articles
- tootgroup.py with GoToSocial
- Storytelling in the Fediverse
- Last Week in Fediverse – ep 75
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01906039-fa01-bb0c-4792-e93344e59722
@abelio@mastodon.social
👋 Hello #fediverse ! Abelio is a new work-in-progress federated media publishing platform aiming to become a #tumblr and #photoblog alternative for #artists and any sort of #creators (#writers included).
I don't have any demo to show you yet but i needed a way to announce and ask for things - so if you care, please follow! Here is how admin panel looks so far.
Spreading the info and participating in discussion highly appreciated! ❤️
@mbajur@mastodon.social
Given there is a single-site multi-user app based on #activitypub (single domain blogging platform with multiple users posting) - should an Application type represent entire site and Person types posting to it? Or Group type instead of Application? Or entire site should be one single Person type? What's your take on that? #needhelp #development #fediverse
@J12t@social.coop
"The lack of a social interaction layer has always been the hardest sell about having your own website. It's been lonely."
@johnonolan on why #Ghost is implementing #ActivityPub and why they are doing it now.
@f@todon.nl · Reply to Eduardo Mercovich (él)'s post
@edumerco @cibor_yogui @sutty @distributed es eso más un plugin de #jekyll que desarrollamos en @sutty, que convierte los artículos al formato de #activitypub , los publica y le avisa a social.distributed.press para que le avise a las cuentas que te siguen.
el plugin https://jekyll-activity-pub.sutty.nl
@acambronero@federate.blogpocket.com
He activado el modo #fediverso en mi perfil personal de WordPress.com (que he aprovechado para limpiar y adecentar). Desde allí voy a microbloguea de todo lo que se me ocurra, con un tono más personal.
Sígueme:
@Flipboard@flipboard.social
ICYMI: Last week saw a new episode of Dot Social, the fediverse podcast hosted by Flipboard CEO
@mike, in which he interviewed @ghost's @johnonolan. Here's a taste of their conversation; you can listen to the whole episode here or wherever you get your podcasts:
https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37.
“We’re at a very grassroots stage of a mix of hackers and enthusiasts collaborating to make the thing they want, not the thing that has the most funding, and I love that. That speaks to my heart.”
#Fediverse #Mastodon #OpenSocialWeb #Publishing #Podcast #DotSocial #Federation #ActivityPub #Flipboard #SocialMedia #SpreadMastodon #Ghost
@tommi@pan.rent
Yesterday’s #FediverseMeetup at @offline, #Berlin was so cool and insightful! Lovely to chat with very knowledgeable and interesting folks.
I have been thinking about the discussion so much that last night I dreamt of @liaizon telling the story of how they built their whole self hosted #ActivityPub instance in one single #PHP file.
This is not true and I have no idea how my unconscious could have conceived this ahahah
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
#Fedify now has a queue for incoming activities and they are automatically retried when they fail. The default retry strategy is good enough (exponential backoff + decorrelated jitter), and it's even fully customizable. Updated also the docs:
https://unstable.fedify.dev/manual/inbox#making-inbox-listeners-non-blocking
You can give it a try by installing 0.12.0-dev.265+cb851932, the latest unstable release:
https://jsr.io/@fedify/fedify@0.12.0-dev.265+cb851932
https://www.npmjs.com/package/@fedify/fedify/v/0.12.0-dev.265
@hongminhee@fosstodon.org
In the next version of #Fedify, the #RetryPolicy type is introduced to let you fully customize the retry policy of the task queue for incoming and outgoing activities. Of course, you can also simply adjust the parameters of the built-in exponential backoff + decorrelated jitter policy.
@julian@fietkau.social
I haven't posted about my #ActivityPub training wheels project @DailyRucks in a while, but it's been going strong with its daily voice line posts. 😀
Today marks the start of its first month-long special event, in which the bot will recount the Kid's origin story in a continuous thread, one sentence per day, until July 31st, starting with today's post: https://fietkau.software/daily_rucks/ap/activity/2024-07-01
If you enjoy Logan Cunningham's voice acting, be sure to follow along. 🙂
@raphael@communick.com
Follow up to my idea of getting https://cupid.careers integrated with #activitypub .
I could've simply written a bot that uses the Mastodon API to interact with the followers and send all the questions as polls. Or;
I could have spent some days grokking out https://codeberg.org/Vocata/vocata to have my application running as a client of the service. Or;
I could spend an indeterminate amount of time writing my own AP library for django.
Guess which one I chose?
@kubikpixel@chaos.social
👋 #Willkommen sind alle neuen User hier auf #Mastodon / #Fediverse / #ActivityPub. Ich wünsche euch spannende so wie friedlichen Verlauf von Unterhaltungen hier!
Durchsucht die User und ihre Posts so wie Inhalte und folgt diese bei euer Interesse an ihren Themen & Hashtags ☺️
@fedify@hollo.social
In the next version of #Fedify, the Context.hostname
, Context.host
, and Context.origin
properties will be added for better multitenancy/virtual hosting support.
https://github.com/dahlia/fedify/issues/66#issuecomment-2198967566
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
When there is no queue, if the process fails, the inbox can just respond with a 500 server error and the sender will resend it.
But with a queue, by the time the inbox responds, it doesn't know if the process will fail because it hasn't run yet. So the sender won't retry whether it fails or not.
So, should it have its own retry logic when there is a queue?
@hongminhee@fosstodon.org
I'm adding a queue for incoming activities in #Fedify, and I have a concern. If an error occurs while processing an activity, should it retry?
https://hollo.social/@fedify/0190687b-1a09-728b-8a0d-bcbd4dca54cd
@fedify@hollo.social
#Fedify has always been queuing outgoing activities, but not incoming activities. Thanks to @ghost's sponsorship, we are now implementing queues for incoming activities!
@hrefna@hachyderm.io
I really by and large have mostly lost faith that anything short of a miracle will get #ActivityPub to where I would like it to be, and the forces working against success here are just hard to even look at
I support the groups that are trying to define a way forward, and I suspect in many, many ways the battle is lost until and unless one of those efforts succeeds well enough to define a better way forward, and there's no way to know what that would look like or if it is even possible.
1/
@hongminhee@fosstodon.org
TIL #ChatMessage type, a vendor-specific #ActivityPub extension proposed by #Pleroma. It's also used by #Lemmy and #Mbin.
Thanks for @melroy letting me know!
https://docs.pleroma.social/backend/development/ap_extensions/#chatmessages
@josemurilo@mato.social
Brazilian #Museums Rock the #Fediverse: by stitching two #WordPressPlugins, #Tainacan & #ActivityPub, #Brasiliana has managed to provide a framework for "digitally sharing #museum cultural heritage collections with indigenous communities."
“In its new role as a facilitator of dialogue on memory, heritage, and collections, the #museum creates a conducive environment for open, transparent, and well-documented discussions.”
@daltonmartins
https://brasiliana.museus.gov.br/digital-decolonization-of-collections-innovation-broadens-the-scope-of-museums/
@sl007@digitalcourage.social
💖 now can't sleep cause saw https://github.com/dahlia/fedify/
#fediverse #framework which is wonderful.
@hongminhee : we do also start to build anything #ActivityPub with #deno (incl. journalistic CMS client, public broadcaster thing, taxiteam client) and so, I work on a UI system with #fresh for all the `type`s …
PS Confs https://redaktor.me/#home
@atomicpoet@mastodon.social
😮
Wait. People are saying Meta's decentralized app will be powered by #ActivityPub, and will interoperate with Mastodon.
On top of it, it will be Instagram-branded.
Surprising. But again, I'll believe it when I see it.
@sl007@digitalcourage.social
[EN: about 2 books in german language …]
Hallo #Fediverse
es war ein netter Tag mit Teilen von Euch in Köln :)
Habe 2 neue Bücher zu meinem inventaire zugefügt.
Sie sind ganz frisch und sehr sehr gut.
“In der Social Media Falle –
Wie wir unsere digitale Freiheit retten” @bjoernsta
https://inventaire.io/items/56f8b4f4c6199b30e41195e8404dc8c9
dort findet Ihr auch was über Dezentralisierung, Föderation, #ActivityPub und ein Interview mit mir, in dem ich natürlich und wie gewohnt maßlos übertreibe ;)
Und dann hat mir Fedifreund @clemensg zum Geburtstag geschenkt
“Big Tech muss weg!”
https://inventaire.io/items/66f02830b8fae81d60638b1f25d9a544
und heute ist in Köln https://fsfe.org/news/2023/news-20230712-01.de.html
Yuhu!
@sl007@digitalcourage.social
Esteemed #Fediverse 💖
all the nice videos from #PubConf24 popped up in the peertube channel.
Our Talk on the Why and How of #ActivityPub is https://video.publicspaces.net/w/9USsJ37cHVy4tY9Pn7DX2X
An hour is incredible short, we should maybe demo the protocol on a large table rather in an expo space next year (?)
You can view all videos at the channell page
:digitalcourage: https://video.publicspaces.net/c/pubconf/videos
@js@podcastindex.social
‘It makes perfect sense, and yet is somehow completely new’
interesting analogue between #ActivityPub Article objects and email newsletters, sans the gatekeepers
🎧 clip of @johnonolan from Ghost speaking with @mike from Flipboard, on the latest dot social podcast episode: https://dot-social.simplecast.com/episodes/john-onolan-g6azzKz0
@hongminhee@todon.eu
#Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
• Type-safe objects for Activity Vocabulary (including some vendor-specific extensions)
• #WebFinger client and server
• HTTP Signatures
• Middleware for handling webhooks
• #NodeInfo protocol
• #Node.js, #Deno, and #Bun support
• CLI toolchain for testing and debugging
If you're curious, take a look at the Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@box464@mastodon.social
Iceshrimp.NET has entered the beta phase. It’s in an interesting state! The Mastodon API compatibility is quite good, allowing the use of many existing apps.
The front end ui is still in progress. Any adventurous fedi nerds that want to install and provide feedback are welcome.
@weekinfediverse@mitra.social
Week in Fediverse 2024-06-28
Servers
- Sharkey v2024.5.1
- Gancio v1.18.0
- Mitra v2.23.0
- neodb v0.10.2.3
- Castopod v1.12.0
- NodeBB v4.0.0-alpha (aka ActivityPub alpha release)
- Hollo: Federated single-user microblogging software powered by Fedify
Clients
- IceCubesApp v1.10.43
- Tuba v0.8.1
- Pachli v2.6.0
- mlmym v0.0.46
- P2Play v0.8.1
- Phanpy changelog
Tools and Plugins
- FediFetcher v7.1.1
- Granary v7.0
- Fedify v0.11.0
- Betulon: A simple utility to add Mastodon bookmarks to Betula
Articles
- Meta is connecting Threads more deeply with the fediverse
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01903bb6-c8eb-3a66-3305-460bf5a946d1
@Flipboard@flipboard.social
In the words of Fatboy Slim, "we've come a long long way together." Here, @miaq breaks down Flipboard's federation journey so far.
"We could [federate Flipboard] with a quick flip of the switch but we’ve chosen to act more intentionally," she writes. "We’re taking measured steps to test, learn, and ensure that everything we’re doing stays true to our values and those of the fediverse. Maintaining quality is top of the list."
https://about.flipboard.com/inside-flipboard/federation-timeline/
#Federation #Fediverse #Flipboard #FediCurious #ActivityPub #Publishing #Media #Technology #MastodonMigration #Mastodon
@Flipboard@flipboard.social
@ghost founder and CEO @johnonolan wants to build a tech company that thinks differently. Learn how ActivityPub is enabling a new kind of publishing platform, with integrity at its core. It’s a new episode of the Dot Social podcast highlighting leaders in the fediverse, hosted by @mike
https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37
Catch up on past episodes of the podcast in Mike’s Storyboard collection:
https://flipboard.com/@mike/dot-social-the-future-of-the-social-web-3r0pl8ge5dju9965
To learn more about what Flipboard's doing in the fediverse, sign up here:
http://about.flipboard.com/a-new-wave
#Fediverse #Mastodon #OpenSocialWeb #DotSocial #Federation #ActivityPub #Flipboard #SocialMedia #SpreadMastodon #Ghost
@js@podcastindex.social
Since there seems to be renewed interest in podcasting cross-app-comments over #ActivityPub, I've done a brain dump over here with a current perspective on the high-level of how it all works and to clear up a bit of terminology being thrown around.
imo the comments scenario is ready to build against (that's what I focus on here) with the ability for custom podcast-specific objects/fields down the road, using the same federated channel.
https://github.com/Podcastindex-org/podcast-namespace/discussions/623
@tom@tomkahe.com
Wrote a blog post about my modifications to my mastodon server to clean up hashtags
https://tomcasavant.com/the-problem-with-hashtags/
@tom@tomkahe.com
They said 'there's no point' and 'that's dumb'
Well look at me now (assuming the video doesn't get compressed into nothing, here's a @Minetest mod that bridges messages across activitypub)
@LemmyDev@mastodon.social
Inaugural Post for Lemmy, a decentralized, easily self-hostable #reddit / link aggregator alternative, intended to work in the #fediverse:
@fedify@hollo.social
Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
If you're curious, take a look at the #Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@fedify@hollo.social
Hello, #fediverse! It's the official fedi account of the Fedify, an #ActivityPub server framework!
@chrismessina@mastodon.xyz
I don't care what anyone says. It's awesome to see fediverse replies appear on a Meta property.
Considering Threads isn't even a year old, this is enormous progress over anything Twitter ever did.
Jack claims that "Twitter should have been a protocol", but here we're seeing #ActivityPub interop being achieved as we live in breathe.
@OldAintDead@mastodon.sdf.org
Question for #ActivityPub users. I installed it on my WordPress site and expected to see the two posts I've published since then here at @oldaintdead@oldaintdead.com
However I'm seeing nothing and can't figure out what I'm missing on the settings or the way the results should appear.
@pfefferle@mastodon.social
it's often so complex to add #ActivityPub to an already existing platform (for example #WordPress ) and it gets even more complex if it is not built for social media 😱
For example
1. Deleting Users from the Fediverse, that still exist on the blog.
2. Delete the whole blog from the fediverse, but take temporary plugin deactivations/deletions into account.
3. Caching by third party plugins.
4. Shared hosting.
5. Posts and Comments in different DB tables
6. Publish only a subset of posts
@BeAware@social.beaware.live
I love when Fediverse scrapers get Fediblocked MULTIPLE times then start making new instances under obscure domain names to hide their data stealing...🤬
Awakari created a new instance on Indy.rest on June 24. 4 days after I called for Fediblock on their other attempt at ban evasion (awakari.app)
Indy.rest seems to be down at the moment. However, given their track record, this is a required block if you value your data not being sold.
#Fedi #Fediverse #Fediblock #FediScraper #ActivityPub #MastoAdmin #FediAdmin
@erlend@writing.exchange
I think this is the most important (WIP) Fediverse Enhancement Proposal of this year for the #ActivityPub protocol:
FEP-7952: Roadmap for Actor and Object Portability — by @by_caballero and @dmitri
It ties a lot of elementary building blocks for #nomadicidentity neatly together, most succinctly summed up by one particularly magic feature:
Bring-your-own Actor ID! 🪪💫
Actor profiles can now be hosted separately from the instance (including as a static JSON object (…)
@hikatamika@mastoart.social
I wish #Mastodon / #ActivityPub had like, native, seamless, keep-the-old-timestamp post migration between instances tbh. I do miss my .ART backlog.
Even though #Bluesky is only allowing self-hosted PDS instances (right NOW*), you can take your backlog and social graph with you when moving within #ATProto
@BeAware@social.beaware.live
It's kinda gross to see these corporate walled gardens intentionally misrepresent their Fedi integrations and just start using Fediverse in their PRs like their a genuine Fedi participant.
Looking at you, BlueSky and Threads. BlueSky lied about being decentralized and uses Brdigy Fed, a third party bridge to Fedi made by one man, to say they're decentralized. Threads keeps adding fake Fediverse interactions and promoting them as legit Fediverse interactions. They "added" replies from Fediverse without mentioning that they're private and can only mention 1 person or it won't be federated...🤦♂️
If you intentionally misrepresent your integrations for clout, you're doing nothing but harboring mistrust here on Fedi.
#Fediverse #Fedi #Bluesky #Threads #Meta #ActivityPub #Mastodon #SocialMedia
@michael@newsmast.social
Essential listening/viewing from @mike and @johnonolan . “No-one owns this space - it’s being built by a bunch of hackers and enthusiasts who are building what they want…#ActivityPub is going to be bigger than any other social network…It’s moat-less technology. Let’s fill in all the canals and grass them over.” Fantastic!
@mike@flipboard.social
If you’re at all interested in the future of how people could discover, enjoy and pay for great content in the #fediverse and the broader web, this episode of #DotSocial is for you.
Here @johnonolan and I go deep on the product, technical and business model mechanics that will ultimately support a more sustainable, social web thanks to Ghost’s upcoming full integration of #ActivityPub.
Listen to this episode wherever you get your podcasts or watch it on our #PeerTube instance at https://flipboard.video/w/sQCNmXx332xi3Y3dVVjd37
@chrisafk@fosstodon.org
What is the best activity pub platform for uploading short-ish personal videos? #activitypub #fediverse #mastodon #pixelfed
@BeAware@social.beaware.live
And....my hype for Threads replies has immediately been killed.
Replies are only shown to the OP. It's *something* but all this fake integration crap is starting to piss me off now...🤬
Edit: Confirmed. Replies are only shown to 1 person. You can't mention multiple Threads users and have them see it publicly. This is ridiculous at this point...🙄
@pieceofthepie@n8e.dev · Reply to pieceofthepie :coffefied:'s post
@jan I think, funnily enough, that this is Facebook following ActivityPub more closely than Mastodon - specifically the parts around Inbox Forwarding, which Mastodon doesn't do.
It's the reason people invent things like #FediFetcher
@youronlyone@c.im
“Announcing Ditto”
> Ditto is a Nostr community server. It has a built-in Nostr relay, a web UI, and it implements Mastodon's REST API.
> Since Ditto implements the Mastodon API, it can work with any Mastodon app!
> Users of Mastodon and Pleroma will be happy to see search functionality that actually works. 😂
> Ditto is built in Deno with TypeScript. It's basically a REST API with a built-in Nostr relay. This is the same design as Mastodon and Pleroma, replacing ActivityPub with Nostr.
https://soapbox.pub/blog/announcing-ditto/
Tags: #Nostr #Ditto #Deeno #Mastodon #Pleroma #ActivityPub #Fediverse #SocialWeb #MycelialWeb #MyceliumNetwork #Nostrich #SNS #SocialMedia #Soapbox
@torgo@mastodon.social
Just gave a talk to Japanese @w3c member companies, presenting about the #Fediverse and encouraging some more engagement between W3C Japan and local communities & projects that are working with #ActivityPub. Already, one person on the call said they are active on #Misskey and will reach out to them. 💗
@fluffykittycat@furry.engineer
What's the #activitypub server software landscape like these days? It's been a while since I've checked and I want to know what people are running and what's new in the past couple years
@tom@tomkahe.com
Anyone have a good blog post on the fediverse for people who have 0 technical know how? Something like Fediverse for Dummies in 5 minutes
@BeAware@social.beaware.live
Interesting new ActivityPub project called @hollo for a single user instance!
It still has to build features that are required for mass adopting (blocking and muting aren't implemented yet) but I'm really interested in single user instance software that's somewhat minimalistic so whenever it's fully released, I might try it out!
@deadsuperhero@social.wedistribute.org
This is just a mockup for now. I’m not that far along yet. 😅
My goal with my little Fedify #ActivityPub project is to have an easy lookup utility. It does two things:
I don’t know how useful this will actually be to anybody, but it might be handy for looking at activities, figuring out how to implement stuff, maybe even show output for posts that don’t work correctly? 🤔
@box464@mastodon.social
.NET is making its way into the fediverse. IceShrimp.NET, Toki, Letterbook, Smilodon to name a few!
#FediDevs #ActivityPub #FediNET #Dotnet
From: @prefetcher
https://miku.place/objects/5c1e2b59-1cc1-4047-8c75-f7a9d93a83f0
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 74
This weeks' news:
- More updates by Ghost on their work on implementing #ActivityPub
- Statistics shared by Mastodon show the power of an open API, and the incredible diverse ecosystem that it enables
- NLnet supports fediverse event planning software Gancio with a new grant
Read at: https://fediversereport.com/last-week-in-fediverse-ep-74/
@hollo@hollo.social
Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.
It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post.
Oh, and Hollo is built using #Bun and #Fedify.
@dajb@social.coop
New #introduction time:
👋 Hey, I've been here on the Fedi since early 2017
Founding member of @weareopencoop working at the intersection of #learning, #technology & #community.
Was PM of #MoodleNet, a decentralised digital commons built on #ActivityPub from 2018-2020 which has morphed into @bonfire, a federated app toolkit.
Wrote doctoral thesis on #digitalliteracies. Was on Mozilla's #OpenBadges team & led #WebLiteracy work.
Pursuing MSc in #SystemsThinking
I like 🏔️🥃⚽
@quillmatiq@mastodon.social
Ghost has some exciting news in their latest #ActivityPub progress update:
"The other thing we're now working full-speed towards is open sourcing the new ActivityPub Service GitHub repository. That means the code will be available for anyone and everyone to see, use, follow-along-with, or contribute-to."
This is dope! Looking forward to tracking the development live 👀
https://activitypub.ghost.org/day5/?ref=build-log-newsletter #Fediverse
@skribe@aus.social
If you like my blog posts, you can follow them on mastodon @skribe@skribeworks.com
@MrBerard@pilote.me
Hey Mastodon,
I'm looking for a well put together written case for institutions (academic, professional) to set up their own Mastodon instance.
Something that not only highlights the obvious benefits, but also that the technical costs are within the capacity of most places that have a decent IT department.
Please do not make the case here, I'm looking for links. 😜
Boost for visibility, plz?
@mbajur@mastodon.social
Any ideas for a fun tiny #activitypub website i could implement to demonstrate the rails activitypub library I’m working on? :) #needhelp
@prismo@mastodon.social
#activitypub based Link Aggregation app is coming really soon! 🤠
@mbajur@mastodon.social
Just a little sneak peek of a new #activitypub based project I'm working on
@weekinfediverse@mitra.social
Week in Fediverse 2024-06-21
Servers
- GoToSocial v0.16.0
- diaspora* v0.9.0.0
- Mitra v2.22.0
- Lemmy v0.19.5
- Hatsu v0.2.1
- Pleroma ActivityRelay v0.3.2
- NeoDB v0.10.2
- Discover Castopod's Plugins Architecture
Clients
- Mastodon for Android v2.5.2
- Mastodon for iOS v2024.6
Tools and Plugins
- Fedify v0.10.0
- PeerTube Livechat Plugin v10.1.0
- Feditest: Test federated protocols such as those in the Fediverse
Articles
- Alright, let's Fedify
- Fediverse domain blocks
- Lemmy and my Switch to PieFed
- Lisa Melton: The fediverse’s own algorithm
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0190181b-34fd-984c-3ed6-b06b56913fe3
@okpierre@mastodon.social
Federated single user microblogging software through activitypub that is also compatible with mitra
Interact with users on Mastodon, Pixelfed, Misskey, etc
Github repo here: https://github.com/dahlia/hollo
#hollo #microblogging #federated #activitypub #opensource #foss #mastodon #fediverse #mitra #mastodon #pixelfed #misskey
@kariboka@harpia.red
Have someone got their #Discourse instance to federate with #ActivityPub?
I’ve read something about it but didn’t see any real case yet.
Also, does it federates articles? like #Lemmy, #Kbin, #PieFed, #NodeBB, #Friendica
@mbajur@mastodon.social
🚨 INTRODUCING: a new in-progress #rubyonrails #activitypub engine that aims to make it able to add AP features to any Rails app.
It's still a work in progress but i would really love to hear your feedback and ideas on that! Feel free to message me here or open a discussion on github repo.
See README for more details:
https://github.com/mbajur/activity_pub_app
PS: A new kind of AP service/app will be based on this, more info soon :)
@feditest@mastodon.social
ANN: FediTest 0.2 is out. This is our first release, even if early as you can tell from the version number.
feditest is now in the python repos, so you can say "pip install feditest", and the documentation is current on https://feditest.org
You can currently use it to run your own WebFinger server tests similar to https://feditest.org/assets/2024-06-05/webfinger-server-all-wellknown-saas-imp.testmatrix.html Obviously much more to come.
Feedback appreciated!
/cc @activitypubtestsuite #fediverse #activitypub #webfinger #testing #qa
@hongminhee@todon.eu
Version 0.10.0 of #Fedify, an #ActivityPub server framework, has been released! Starting with this release, Fedify, previously distributed under AGPL 3.0, is now distributed under the MIT License to encourage wider adoption. Here are the major changes:
• In addition to RSA-PKCS#1-v1.5, Fedify now supports Ed25519 for signing and verifying the activities.
• FEP-521a: Multiple key pairs can now be registered for an actor.
• FEP-8b32: Implemented Object Integrity Proofs.
• Added Arrive and Question classes.
@fediversereport@mastodon.social
New: Last Week in #Fediverse - ep 73
This week's news:
- Scraper drama as AI-powered network Maven works on implementing #ActivityPub
- Ghost will use fediverse server framework Fedify for their ActivityPub implementation
- @Castopod releases version 2.0 with plugins
- an on-device 'For You' algorithmic feed for Lemmy with 3rd party client Quiblr
- Lemmy releases local-only communities
Read at: https://fediversereport.com/last-week-in-fediverse-ep-73-and-72/
@hongminhee@todon.eu
#Mastodon sends Create(Question) for the poll, even though the Question itself is an Activity. Does it see Question as a regular Object rather than an Activity?
@hongminhee@todon.eu
I'm very excited that the #Ghost team has chosen #Fedify to implement #ActivityPub. I've been working closely with the Ghost team, and it's been a lot of fun, and I can't wait to see the ActivityPub implementation at Ghost.
@box464@mastodon.social
Ghost will be using the open source Fedify server framework to manage the activitypub bits and pieces of their service.
https://activitypub.ghost.org/day-4/?ref=build-log-newsletter
@weekinfediverse@mitra.social
Week in Fediverse 2024-06-14
Servers
- Lemmy v0.19.4
- Betula v1.3.0
- snac v2.54
- streams v24.6.10
- Smithereen v0.8.0
- Owl Blogs: A simple blogging solution with IndieWeb and Fediverse in mind
Clients
- IceCubesApp v1.10.42
- Jerboa v0.0.69
- Photon v1.30.2
- Raccoon v1.11.2
- Pixelix: Android Client for Pixelfed
Tools and Plugins
- Fedify v0.9.1
- FediFetcher v7.0.5
- Fediverse Redirect v1.13.3
Protocol
- FEP-5e53: Opt-out Preference Signals
Articles
- Maven Imported 1.12 Million Fediverse Posts
- Integration models of end-to-end encrypted messaging into ActivityPub
- Your WordPress as Your Personal Mastodon Instance
- Trunk & Tidbits, May 2024
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/018ff3bc-19c2-9b77-48c0-55d79c15552c
@hongminhee@todon.eu · Reply to 洪 民憙 (Hong Minhee) 🤏🏼's post
Thanks to @silverpill, #Fedify is finally FEP-8b32 compliant! Though it's not ready for general release yet, it's passing tests in the latest main branch. I'll test it with Mitra and other FEP-8b32-compliant implementations, and if it works well, it'll be included in 0.10.0.
You can try it out in version 0.10.0-dev.205+0cbca257.
@spacetimedonut@mastodon.social
How do devs test their app integrations with mastodon? #activitypubdev #activitypub
@grishka@mastodon.social
#Smithereen 0.8 is out! In this release:
- Reposts and quote-reposts
- Post embeds
- Remote interaction popup when you try to interact with a post without an account
- New profile fields (starting to feel like a social network now)
- Comment view setting: threaded (default), two-level, flat
- Hover cards for mentions
- Mention autocomplete
- Bookmarks for profiles and groups
- Lots of minor fixes and improvements
@hongminhee@todon.eu
#Hollo now supports sharing posts (reblogs)!
@hongminhee@todon.eu · Reply to 洪 民憙 (Hong Minhee) 🤏🏼's post
Implementing Object Integrity Proofs (FEP-8b32) and my implementation is not passing the test vectors. I haven't found the reason for 24 hours… 😫
@julian@fietkau.social
Should #Shadertoy have #ActivityPub / #Fediverse support? 🤔
I have an account there, containing a dodgy old raytracing experiment. But I like looking at other people's stuff.
The site already has profiles, posts, likes, follow mechanics.
It's fun to think about how one would federate Shadertoy posts. HTML iframe with a fallback animated GIF somehow?
The site lets high-tier Patreon supporters make feature suggestions. Any Shadertoy enthusiasts interested in asking?
@hongminhee@todon.eu · Reply to 洪 民憙 (Hong Minhee) 🤏🏼's post
FEP-521a has been implemented in #Fedify.
Actors now have the #assertionMethods property, and the #Multikey class has been added. For example, if you look at the the actor from the Fedify Example Blog (https://fedify-blog.deno.dev/users/fedify-example), you can see that it has the assertionMethods property in addition to the publicKey property.
You can try it out in version 0.10.0-dev.196+55cc34d1.
@dsoft@techhub.social
It almost feels like Mastodon do not want us to self host. There is no direct link on the main webpage to install on server. Digging through the docs, finally found documentation and there is no Docker container or a package for any OS for easy installation. They require us to install from source along with all the dependencies. I don't mean to bad mouth it but they do not do enough to encourage self hosting (if not discourage).
Would like to know your opinions or ideas on how to self host it easily with minimum maintenance (auto upgrades, etc).
Source: Mastodon server install docs: https://docs.joinmastodon.org/admin/install/
#Mastodon #SelfHost #SelfHosting #SelfHosted #ActivityPub #Fedi #Docker #NixOS #Linux #Pleroma #MissKey
@hongminhee@todon.eu · Reply to 洪 民憙 (Hong Minhee) 🤏🏼's post
#Misskey throws an error when a remote actor has multiple public keys, so I sent a patch to fix this bug.
This is my first patch for Misskey!
@hongminhee@todon.eu
As a first step towards adding Object Integrity Proofs (FEP-8b32) to #Fedify, I've made it support #Ed25519 keys. I've also enabled multiple keys to be associated with an actor. For example, if you look at the actor from the Fedify Example Blog (https://fedify-blog.deno.dev/users/fedify-example), you'll see that it has two public keys, one for RSA and one for Ed25519.
You can try it out in version 0.10.0-dev.190+4dffb89a.
@cmdr_nova@mkultra.monster
I've written a bit of an extensive guide on navigating ActivityPub and its many apps, and instances, along with some initial questions new users might have, and links to mobile apps.
https://nova.mkultra.monster/pages/activitypub/
#activitypub #mastodon #misskey #pleroma #lemmy #friendica #GNUsocial #peertube #pixelfed #wafrn
@hongminhee@todon.eu
Version 0.9.0 of #Fedify, an #ActivityPub server framework, has been released! Here are the main changes:
• Added Tombstone, Hashtag, and Emoji classes.
• Added normalizeActorHandle() function to normalize an actor handle. This is needed when the domain of the actor handle is an IDN, or when the domain contains capital letters.
• Added an option to the sendActivity() function, excludeBaseUris, to exclude specified servers from sending activities. This can be used when you don't want to send activities to your own server.
• Added Context.parseUri(), a method to parse actor, object, inbox, and collection URIs.
• The time window for HTTP Signatures verification is now configurable.
• The @fedify/fedify/httpsig module has been renamed to . This is in preparation for implementing additional object integrity proofs other than HTTP Signatures.
• Improved interoperability with #Misskey.
@evan@cosocial.ca
Very happy to announce that @tomcoates and I have been given a #SummerOfProtocols grant to develop an end-to-end encryption (E2EE) protocol for #ActivityPub DMs, including a reference implementation and a report to submit to the W3C SocialCG.
https://forum.summerofprotocols.com/t/sop-2024-pig-and-pog-grantees/1270
@continue5645@misskey.io
Misskeyをはじめとする #分散型SNS の紹介ポスターを作りました。常識の範囲内で自由にお使いください。
#activitypub #atprotocol #nostr
@matt@writing.exchange
Still in development, but got #ActivityPub replies working! Once it goes live, replies from the fediverse will show up on Remark.as.
Last major issue is to add some basic moderation. Already got instance-level blocking done so I can easily defederate from bad servers, but want to make sure we can handle any potential abuse from individual users too.
@dansup@mastodon.social
Don't get me wrong, I love Mastodon and everything it's done for the fediverse
That being said, I don't want Loops to become the only short form video platform, or the only well known one
I'm working with @stux on his own short vid platform called #GoldFish and PeerTube to enable seamless interop
We're stronger and better together
There is no reason NOT to work with "competitors" because when you have the right mindset and goals:
You build for the people, and listen wisely.
@FlipboardDE@flipboard.social
Wir haben von einigen aus der Community das Feedback erhalten, die Artikelanzahl sei für einige föderierte Publisher sehr hoch. Daher möchten wir einen Überblick dazu geben:
Die Anzahl der Beiträge bezieht sich auf die Gesamtbeiträge bei Flipboard und damit i.d.R. auf einen Zeitraum von mehreren Jahren.
Folgendes ist aus unserer Sicht die beste Möglichkeit, sich auf dem Laufenden zu halten und dabei spezifischen Content eines bevorzugten Publishers zu bekommen: den Flipboard-Magazinen zu folgen, um kuratierte Artikel zu bestimmten Themen zu erhalten.
Was bedeutet das konkret? Wenn du dich für Wirtschaftsnachrichten oder Klimapolitik interessierst, kannst du den Magazinen eines Publishers ausschließlich zu diesen Themen folgen, oder wenn du alle Inhalte sehen willst, kannst du dem Profil des Publishers folgen – so hast du mehr Möglichkeiten, die Art der Inhalte, die du in deinem Home-Feed siehst, anzupassen.
Das föderierte Profil eines Publishers ist nur eine weitere Möglichkeit, seinen Inhalten zu folgen und mit ihnen zu interagieren.
So folgst du einzelnen Magazinen über Mastodon:
1) Verwende die Suche, um nach den Magazinen eines Publishers zu suchen (Die Liste an bisher föderierten Publisher haben wir in unserem Profil angeheftet).
2) Wähle "Alle ansehen" bei den Suchergebnissen aus.
3) Folge nun den thematischen Magazinen, die dich interessieren. Wir haben hierzu einen Screenshot von ZEIT ONLINE als Beispiel hinzugefügt.
@FlipboardDE@flipboard.social
Im letzten Dezember haben wir damit begonnen, Flipboard für das Fediverse zu öffnen. Heute machen wir einen weiteren wichtigen Schritt in diese Richtung, indem wir unsere Testphase ausweiten: Die ersten Publisher aus Deutschland sind nun für das gesamte Fediverse zugänglich.
Mehr Infos dazu findet ihr auf unserem Blog:
https://de-de.about.flipboard.com/flipboard-zieht-ins-fediverse
@Aphrodite@chaos.social
Hi!
Are you viewing this account through #Bluesky?
If so, you need to know that this account does NOT consent to being brought inside Jack’s new walled garden.
You know, the one that’s been paid for by some jerk who bought Jack’s old walled garden and turned the dying Spaces into toxic waste?
VC is the engine that #enshittifies the Internet. His BS site will follow that path soon.
Noninteroperabilty is tar that traps users. If BS wants to access #Fedi, it should be on #ActivityPub.
@abecker@fruef.social
Update zur Bolztribüne @news!
Wir haben die Kommentare aufgemacht und da wir #ActivityPub benutzen bedeutet das: Was ihr hier unter einen Post kommentiert, landet im Blog als Kommentar. Und wenn von uns jemand im Blog auf den Kommentar antwortet, wird es auch hier angezeigt. Ich find das ziemlich genial.
@Eigenraum@podcasts.social
Ich habe auf eigenpod.de auch #ActivityPub aktiviert, d.h. die Webseite selbst ist jetzt im #Fediverse und ihr könnt ihr direkt folgen. So siehts jetzt aus:
Unter @eigenraum_folgen_feed postet die Webseite sofort neue Folgen und sonst nichts. Wenn ihr diesen Account auf Mastodon erwähnt, merkt aber keiner was davon!
Der @Eigenraum hier hingegen wird menschlich betrieben (von @tomkalei ) und kann mit euch socializen.
Neue Folge kommt bald! Wir hören uns. ✌️🎧
@ale@social.manalejandro.com
#ActivityPub es el protocolo, indiferente si es un servidor o cliente/servidor.
@rl_dane@alpha.polymaths.social
I'd like to interject for a moment.
What you're referring to as #Mastodon is in fact the #Fediverse.
Mastodon is not a network unto itself, but rather another open component of a fully functioning network made useful by #ActivityPub.
Every Mastodon user is in fact a user of the fediverse without realizing it.
There really is a Mastodon, and these people are using it, but it is just a part of the greater whole. Mastodon is one example of a service using the AcivityPub spec, and is an essential part of the Fediverse, but of limited utility by itself; it is best understood and functions at its greatest when used in combination with other Fediverse services.
@andi1984@toot.cafe
I wrote about the #activitypub #plugin for #wordpress and why – in my eyes – it is a game-changer.
https://dev.to/andi1984/bridging-communities-an-overview-of-the-wordpress-activitypub-plugin-o9o
Shutout to one of the core plugin authors: @pfefferle. Give him a follow, hug, coffee...
@reiver@mastodon.social
There are a lot of different types in the ActivityStreams Vocabulary.
https://www.w3.org/TR/activitystreams-vocabulary/
But because Mastodon only supports 8 of them (with only 2 of them being supported properly), there is "pressure" on other Fediverse software to restrict themselves to these 8.
https://docs.joinmastodon.org/spec/activitypub/#payloads
Because they want to be compatible with Mastodon.
@reiver@mastodon.social
The ActivityPub Client-Server API
https://www.w3.org/TR/activitypub/#client-to-server-interactions
@Sylkeweb@mastodon.social
Testing the Fediverse’s interconnectivity - how it all began or “The Fediverse is more than Mastodon”.😅
#SylkewebBlog #Fediverse #TestingTheFediverse #ActivityPub #HowToFediverse #WordPress #Mastodon #Pixelfed #Friendica #Firefish #Hubzilla
@Sylkeweb@mastodon.social
How a WordPress blog interacts with several different services in the Fediverse. Some points to consider.
http://sylkeweb.com/2023/10/15/wordpress-and-the-fediverse/
#SylkewebBlog #Fediverse #TestingTheFediverse #ActivityPub #HowToFediverse
#WordPress #Mastodon #Pixelfed #Friendica #Firefish #Hubzilla
@freemo@qoto.org
So its done! I finally released a fairly easy to install (from scratch) Hugo based Static Site generator with full ActivityPub support.
It has step-by-step instructions on how to set it up for your own blog or static website.
One of the coolest features for me, other than having your static site blog posts show up as posts in the Fediverse is the support for interacting with those posts. Any replies you leave, likes, or boosts will show up in the "comments" section of the website on the page associated with the post. How cool is that!
@atomicpoet@firefish.city
According to HackerNoon, they consider #ActivityPub as the "future of social networks". In addition, they have crafted an outstanding explanation of its functionalities and capabilities, accompanied by remarkable code-based illustrations.
It is highly recommended reading material for developers interested in constructing a Fediverse app.
https://hackernoon.com/a-brief-introduction-of-activitypub-the-future-of-social-networks
@box464@mastodon.social
If you're curious how ActivityPub works exactly (like me) this site does a great job of show and tell.
On the surface it looks like any other Mastodon instance, but on closer inspection, provides you insight into the ActivityPub back and forth going on behind the scenes!
Check out the great work by @crepels
@dirk@gts.0x7be.net
Oh, and I just noticed, you can open or close registration/connection in #Elk by setting the volume used for /elk/data
as readable only or readable and writable.
When it’s writable you can register whatever you like, if it’s readable you can only connect with previously registered #ActivityPub instances.
Not sure if there any other downsides.
@elk can we somehow prevent users from registering new instances in an intended way (or is that the intended way?).
@maverick604@mastodon.social
Everyone is announcing their new account on the latest privacy destroying (Jesus, look at the privacy report!) social network the tech-bros have regurgitated. Well…
I’m not on #Facebook, #Instagram, #Threads, or anything by #Meta, #Twitter, or whatever #Google is pushing this week… and never will be.
If you need me, you can find me here – on this advertising-free, algorithm-free, non-billionaire-controlled, open, & decentralized social media platform.
@tsupasat@infosec.exchange · Reply to Dare Obasanjo's post
@carnage4life "Decentralisation is not a selling point for 99% of people." Ouch. That cuts deep, man. #fediverse #activitypub #twittermigration
@Swanye@fosstodon.org
#Tumblr implement #ActivityPub, yet?
Welp; guess it's up to us.
@mariusor@metalhead.club
For people invested in the migration from #reddit. Here's some details about #BrutaLinks one of the projects I'm working on, which is a reddit-like discussion platform, built on top of #ActivityPub.
It didn't benefit from the attention and funding that lemmy got, so probably it's overall less polished and performant, but some love from the community would do it good.
https://brutalinks.tech/~ild/e469b98e-4b48-48a8-86e5-6c61ebd9aff8
@dansup@mastodon.social
The real magic of the #fediverse is collaboration.
Many of the largest projects have worked together behind the scenes on compatibility.
It's not that common now that ActivityPub has matured, but you better believe the early days of 2018 had big players like Mastodon and Pleroma working closely on compat.
#ActivityPub = Community + Collaboration
The magic formula that sets us apart!
@j_forrest@mastodon.elest.io
One the best things you can do to help the decentralized network grow is to self-host apps using things like #ActivityPub.
This distributes the resource needs of supporting a large number of users on single instances of applications that use #ActivityPub or similar protocols to "federate" or interoperate with one another.
The more servers, the more people can find their community, and the more than can join in and take back their net experience! #selfhost
@j_forrest@mastodon.elest.io
I'm very excited to be an ambassador for https://Elest.io!
I'll be talking about some of the great fully-managed software they offer to take control of your social networking with the Fediverse and the ActivityPub protocol, and also highlight some other great FOSS offerings on their impressive list of services.
So follow me if you're interested in #FOSS, #DIYCreator, #ContentCreator, #Fediverse, #activitypub
Remember that #JohnMastodon wants you to decentralize!
@liaizon@social.wake.st · Reply to wakest ⁂'s post
Flickr CEO Don MacAskill (@d0n) is currently running a poll to decide whether to add #ActivityPub to Flickr to join the #fediverse (Mastodon, Pixelfed, Peertube, etc.)
Make your voice heard:
https://sfba.social/@d0n/109422647995225732
Poll on Twitter too:
https://twitter.com/DonMacAskill/status/1597256480519966720
Remember this has good and bad repercussions whether you use Flickr or not, it would be the first time an old giant joins us but also would bring many many new issues we would have to face together. Please boost for reach!
@liaizon@social.wake.st
the CEO of Flickr, who is now active here at @d0n, is wondering if #Flickr should implement #ActivityPub and become part of the #fediverse!
https://twitter.com/donmacaskill/status/1594945727255699457 #FediNews
@mattjbones@mastodon.social
I’m matt and I spend a lot of my time building things that people use on the internet. I’m always down for #Frontend chat on all things #JavaScript, #React, #WebAssembly etc.
I’m part scientist🔭🥼 (in another life), part maker🔩🪛, part runner🏃🏽♀️🏃♂️, part climber🧗🧗♂️… the list goes on.
I’m also super curious about how #ActivityPub works and the #Fediverse, so now that I’ve been afforded some time off I may take a deeper look 👀
Nice to meet you, let’s chat! 🗣️
@kidehen@mastodon.social
#introduction
I am an open data access (#ODBC, #JDBC, and #HTTP), integration (#DataVirtualization), and data management (#DBMS and/or #KnowledgeGraph) technologist, enthusiast, and entrepreneur.
I am passionate about open standards for #GenAI, #AI, #Identity #Authenticity, #SocialMedia (#ActivityPub & #ActivityStreams), and data de-silo-fication initiatives (e.g. #SemanticWeb, #LODCloud, #LinkedData, #RWW, and #SmallData).
I don't like any kind of silo!
@asonix@masto.asonix.dog
Just a reminder that I do maintain an #ActivityPub relay written in #rustlang and licensed under the #AGPL.
I run an invite-only instance of this relay primarily for furry servers at https://relay.asonix.dog, but if you want to run your own, the code and documentation is available at https://git.asonix.dog/asonix/relay with container images published at https://hub.docker.com/r/asonix/relay
@schmittlauch@toot.matereal.eu
I'm so excited to present my work on #Fediverse-wide hashtag federation, search, and subscription at #ActivityPubConf.
The recording will be available later, but if you're interested in enabling a global consistent view on hashtags, know stuff about DHTs or #ActivityPub relays, you can have a look at the paper: https://git.orlives.de/schmittlauch/paper_hashtag_federation/src/branch/master/paper_hashtag_federation.pdf
Please contact me about any questions, remarks or other feedback!
So here's a TL;DR:
@wakest@mastodon.social
so now that features are really starting to diverge between different #activitypub sites we really need a way to come together and decide how these little bits can fit together. for instance #misskey has a ton of features they have implemented recently like polls and reactions other then 'star',
the masto fork now.kibousoft.co.jp has implemented #bbcode in their instance and it looked like misskey is doing something similar with https://misskey.xyz/notes/5b7c8643894f8100445b1f28