mathstodon.xyz is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon instance for maths people. We have LaTeX rendering in the web interface!

Server stats:

2.7K
active users

#fedidev

8 posts5 participants0 posts today
洪 民憙 (Hong Minhee)<p>Okay, I've just deployed a bleeding edge <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a>, which implements both RFC 9421 and double-knocking, to <a href="https://hackers.pub/" rel="nofollow noopener noreferrer" target="_blank">Hackers' Pub</a>. 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.)</p><p><a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a></p>
洪 民憙 (Hong Minhee)<p>Looking for <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> implementations with <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/RFC9421" target="_blank">#<span>RFC9421</span></a> support! 🔍</p><p>As mentioned in the <a href="https://hollo.social/@fedify/0196b3e9-275d-7141-b228-9e978521d3d9" rel="nofollow noopener noreferrer" target="_blank">Fedify announcement</a> below, I've implemented <a href="https://www.rfc-editor.org/rfc/rfc9421" rel="nofollow noopener noreferrer" target="_blank">RFC 9421</a> (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.</p><p>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:</p><ul> <li>has implemented RFC 9421 (even in a development branch)</li><li>is currently implementing it</li><li>has plans to implement it soon</li> </ul><p>Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a>'s main branch.</p><p>Any leads or connections would be greatly appreciated! 🙏</p><p><a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
Fedify: an ActivityPub server framework<p>We're excited to announce that we've implemented <a href="https://www.rfc-editor.org/rfc/rfc9421" rel="nofollow noopener noreferrer" target="_blank">RFC 9421</a> (HTTP Message Signatures) in <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a>, complete with our <a href="https://swicg.github.io/activitypub-http-signature/#how-to-upgrade-supported-versions" rel="nofollow noopener noreferrer" target="_blank">double-knocking</a> mechanism to maintain backward compatibility with the <a href="https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12" rel="nofollow noopener noreferrer" target="_blank">draft cavage</a> version.</p><p>This implementation includes both signature generation and verification, meaning <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/RFC9421" target="_blank">#<span>RFC9421</span></a> is used when both sending and receiving activities. While we haven't merged the <a href="https://github.com/fedify-dev/fedify/tree/rfc9421" rel="nofollow noopener noreferrer" target="_blank">RFC 9421 implementation branch</a> yet, we're currently conducting interoperability tests with development versions of Mastodon and other <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> implementations. Once these tests confirm compatibility, we'll proceed with the merge.</p><p>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 <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a>. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.</p><p>Currently, we support RSA-PKCS<a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/1" target="_blank">#<span>1</span></a>-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.</p><p>We look forward to contributing to a more standardized and secure fediverse!</p><p><a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
@reiver ⊼ (Charles) :batman:<p>4/</p><p>This relay could even use the ActivityPub actor type "Feed".</p><p><a href="https://mastodon.social/tags/ActorTypeFeed" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ActorTypeFeed</span></a> <a href="https://mastodon.social/tags/CustomFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CustomFeeds</span></a> <a href="https://mastodon.social/tags/DeSo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DeSo</span></a> <a href="https://mastodon.social/tags/FediDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDev</span></a> <a href="https://mastodon.social/tags/FediDevs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDevs</span></a> <a href="https://mastodon.social/tags/FediUX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediUX</span></a> <a href="https://mastodon.social/tags/Fediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Fediverse</span></a> <a href="https://mastodon.social/tags/FediverseCustomFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseCustomFeeds</span></a> <a href="https://mastodon.social/tags/FediverseFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseFeeds</span></a> <a href="https://mastodon.social/tags/FediverseUX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseUX</span></a></p>
@reiver ⊼ (Charles) :batman:<p>3/</p><p>I think you could address this 'want' (for community feeds) by using relays.</p><p>A relay could represent a community.</p><p>And could selectively relay posts from specific users (across the Fediverse) that are part of that community.</p><p><a href="https://mastodon.social/tags/ActorTypeFeed" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ActorTypeFeed</span></a> <a href="https://mastodon.social/tags/CustomFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CustomFeeds</span></a> <a href="https://mastodon.social/tags/DeSo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DeSo</span></a> <a href="https://mastodon.social/tags/FediDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDev</span></a> <a href="https://mastodon.social/tags/FediDevs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDevs</span></a> <a href="https://mastodon.social/tags/FediUX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediUX</span></a> <a href="https://mastodon.social/tags/Fediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Fediverse</span></a> <a href="https://mastodon.social/tags/FediverseCustomFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseCustomFeeds</span></a> <a href="https://mastodon.social/tags/FediverseFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseFeeds</span></a> <a href="https://mastodon.social/tags/FediverseUX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseUX</span></a></p>
@reiver ⊼ (Charles) :batman:<p>2/</p><p>I remember some people years ago saying that — they wanted to "subscribe" to the "server live feeds" on community servers different from the one that they are on</p><p>This is a way of following &amp; perhaps even joining a community without necessarily being on that server</p><p>Which for example is useful if you wanted to be part of more than one community but use the same account</p><p><a href="https://mastodon.social/tags/ActorTypeFeed" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ActorTypeFeed</span></a> <a href="https://mastodon.social/tags/CustomFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CustomFeeds</span></a> <a href="https://mastodon.social/tags/DeSo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DeSo</span></a> <a href="https://mastodon.social/tags/FediDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDev</span></a> <a href="https://mastodon.social/tags/FediDevs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDevs</span></a> <a href="https://mastodon.social/tags/FediUX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediUX</span></a> <a href="https://mastodon.social/tags/Fediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Fediverse</span></a> <a href="https://mastodon.social/tags/FediverseCustomFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseCustomFeeds</span></a> <a href="https://mastodon.social/tags/FediverseFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseFeeds</span></a> <a href="https://mastodon.social/tags/FediverseUX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseUX</span></a></p>
@reiver ⊼ (Charles) :batman:<p>1/</p><p>Some servers on the Fediverse represent a community.</p><p>Maybe a community of bird photographers, or a cognitive science community, or a community of open-source software developers, etc.</p><p>...</p><p><a href="https://mastodon.social/tags/ActorTypeFeed" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ActorTypeFeed</span></a> <a href="https://mastodon.social/tags/CustomFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CustomFeeds</span></a> <a href="https://mastodon.social/tags/DeSo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DeSo</span></a> <a href="https://mastodon.social/tags/FediDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDev</span></a> <a href="https://mastodon.social/tags/FediDevs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDevs</span></a> <a href="https://mastodon.social/tags/FediUX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediUX</span></a> <a href="https://mastodon.social/tags/Fediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Fediverse</span></a> <a href="https://mastodon.social/tags/FediverseCustomFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseCustomFeeds</span></a> <a href="https://mastodon.social/tags/FediverseFeeds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseFeeds</span></a> <a href="https://mastodon.social/tags/FediverseUX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseUX</span></a></p>
Strypey<p>How hard would it be for a fediverse app to give me a daily or weekly notification about each of my saved drafts? So I can start a reply, decide it needs more thought, save it, and get reminded of it.</p><p>Bonus points for being able to schedule a reminder notification for each saved post. A day for this one, a week for this one, and so on.</p><p><a href="https://mastodon.nzoss.nz/tags/fediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fediverse</span></a> <a href="https://mastodon.nzoss.nz/tags/FediverseIdeas" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediverseIdeas</span></a> <a href="https://mastodon.nzoss.nz/tags/FediDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDev</span></a></p><p><span class="h-card" translate="no"><a href="https://floss.social/@moshidon" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>moshidon</span></a></span></p>
Bolet :neobread_eyes:<p>Great news for the wafrn app !!</p> <p>As a culmination of the big journey of the past weeks, the Wafrn App is now listed in the official <span class="h-card" translate="no"><a href="https://fosstodon.org/@unifiedpush" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>unifiedpush</span></a></span> documentation as one of the apps that support UnifiedPush</p> <p>Check it at <a href="https://unifiedpush.org/users/apps/" rel="nofollow noopener noreferrer" target="_blank">https://unifiedpush.org/users/apps/</a></p><br> <a class="hashtag" href="https://app.wafrn.net/dashboard/search/WafrnDev" rel="nofollow noopener noreferrer" target="_blank">#WafrnDev</a> <a class="hashtag" href="https://app.wafrn.net/dashboard/search/FediDev" rel="nofollow noopener noreferrer" target="_blank">#FediDev</a> <a class="hashtag" href="https://app.wafrn.net/dashboard/search/UnifiedPush" rel="nofollow noopener noreferrer" target="_blank">#UnifiedPush</a> <a class="hashtag" href="https://app.wafrn.net/dashboard/search/Degoogle" rel="nofollow noopener noreferrer" target="_blank">#Degoogle</a> <a class="hashtag" href="https://app.wafrn.net/dashboard/search/FreeServices" rel="nofollow noopener noreferrer" target="_blank">#FreeServices</a>
洪 民憙 (Hong Minhee)<p>After reviewing <a href="https://w3id.org/fep/5624" rel="nofollow noopener noreferrer" target="_blank">FEP-5624: <em>Per-object reply control policies</em></a> and GoToSocial's <a href="https://docs.gotosocial.org/en/latest/federation/interaction_policy/" rel="nofollow noopener noreferrer" target="_blank">interaction policy</a> spec, I find myself leaning toward the latter for long-term considerations, though both have merit.</p> <p>FEP-5624 is admirably focused and simpler to implement, which I appreciate. However, <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hackers.pub/tags/GoToSocial" target="_blank"><span class="">#</span><span class="">GoToSocial</span></a>'s approach seems to offer some architectural advantages:</p> <ol> <li>The three-tier permission model (allow/require approval/deny) feels more flexible than binary allow/deny</li> <li>Separating approval objects from interactions appears more secure against forgery</li> <li>The explicit handling of edge cases (mentioned users, post authors) provides clearer semantics</li> <li>The extensible framework allows for handling diverse interaction types, not just replies</li> </ol> <p>I wonder if creating an <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hackers.pub/tags/FEP" target="_blank"><span class="">#</span><span class="">FEP</span></a> that extracts GoToSocial's interaction policy design into a standalone standard might be worthwhile. It could potentially serve as a more comprehensive foundation for access control in <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hackers.pub/tags/ActivityPub" target="_blank"><span class="">#</span><span class="">ActivityPub</span></a>.</p> <p>This is merely my initial impression though. I'd be curious to hear other developers' perspectives on these approaches.</p> <p><a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hackers.pub/tags/FEP5624" target="_blank"><span class="">#</span><span class="">FEP5624</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hackers.pub/tags/fedidev" target="_blank"><span class="">#</span><span class="">fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hackers.pub/tags/fediverse" target="_blank"><span class="">#</span><span class="">fediverse</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hackers.pub/tags/replycontrol" target="_blank"><span class="">#</span><span class="">replycontrol</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hackers.pub/tags/interactionpolicy" target="_blank"><span class="">#</span><span class="">interactionpolicy</span></a></p>
Everyday.Human Derek<p><span class="h-card" translate="no"><a href="https://dice.camp/@Da_Gut" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>Da_Gut</span></a></span> <br><a href="https://ecoevo.social/tags/fediadmin" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fediadmin</span></a><br><a href="https://ecoevo.social/tags/fedidev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fedidev</span></a> <br><a href="https://ecoevo.social/tags/protocol" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>protocol</span></a></p><p>I not sure.🤔 hopefully these tags help</p>
Bolet :neobread_eyes:<p>So… I did a thing: <a href="https://github.com/juandjara/expo-unified-push" rel="nofollow noopener noreferrer" target="_blank">https://github.com/juandjara/expo-unified-push</a><br> This library will help everybody developing React Native apps to use the Unified Push Android library, so they can have native notifications without depending on Google and Firebase systems.</p> <p>Next step, integrating it into wafrn</p><br> <a class="hashtag" href="https://app.wafrn.net/dashboard/search/wafrnDev" rel="nofollow noopener noreferrer" target="_blank">#wafrnDev</a> <a class="hashtag" href="https://app.wafrn.net/dashboard/search/fediDev" rel="nofollow noopener noreferrer" target="_blank">#fediDev</a> <a class="hashtag" href="https://app.wafrn.net/dashboard/search/react%20native" rel="nofollow noopener noreferrer" target="_blank">#react-native</a>
ayo<p>Hey fedi devss! (Hints &amp; boosts appreciated)</p><p>Mastodon API question — which instance/server API says where the URL redirects when there is no signed in user?</p><p>For example:<br>1. <a href="https://social.ayco.io" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">social.ayco.io</span><span class="invisible"></span></a> goes to my profile; but<br>2. <a href="https://fosstodon.org" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">fosstodon.org</span><span class="invisible"></span></a> goes to the explore tab</p><p>I am looking for the info via REST API</p><p><a href="https://social.ayco.io/tags/askMastodon" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>askMastodon</span></a> <a href="https://social.ayco.io/tags/fedidev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fedidev</span></a></p>
洪 民憙 (Hong Minhee)<p>For those skeptical of DMs in <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a>: I'm also considering an alternative verification approach using ActivityPub's <code>Question</code> 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?</p><p><a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/OTP" target="_blank">#<span>OTP</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/auth" target="_blank">#<span>auth</span></a></p>
洪 民憙 (Hong Minhee)<p>I'm exploring a new idea called FediOTP (codename): an authentication system that uses <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> DMs to deliver one-time passwords, allowing any <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> account to authenticate with web services. Unlike current solutions that rely on specific APIs (<a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/Mastodon" target="_blank">#<span>Mastodon</span></a>, <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/Misskey" target="_blank">#<span>Misskey</span></a>), 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.</p><p><a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/OTP" target="_blank">#<span>OTP</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/auth" target="_blank">#<span>auth</span></a></p>
洪 民憙 (Hong Minhee)<p>My stance on <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a>'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.</p><p><a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/JSONLD" target="_blank">#<span>JSONLD</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
Fedify: an ActivityPub server framework<p>Hey folks! We're excited to share a preview of a new API coming in <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> 1.6 that should make structuring larger federated apps much cleaner: <a href="https://unstable.fedify.dev/manual/federation#builder-pattern-for-structuring" rel="nofollow noopener noreferrer" target="_blank"><code>FederationBuilder</code></a>.</p><p>As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new <a href="https://unstable.fedify.dev/manual/federation#builder-pattern-for-structuring" rel="nofollow noopener noreferrer" target="_blank"><code>FederationBuilder</code></a> pattern helps solve this by separating the configuration phase from instantiation.</p><p>Instead of this:</p><pre><code>// federation.ts import { createFederation } from "@fedify/fedify"; export const federation = createFederation&lt;AppContext&gt;({ kv: new DbKvStore(), queue: new RedisMessageQueue(), // Other options... }); // Now we need to import this federation instance in other files // to register dispatchers and listeners... </code></pre><p>You can now do this:</p><pre><code>// builder.ts import { createFederationBuilder } from "@fedify/fedify"; export const builder = createFederationBuilder&lt;AppContext&gt;(); // other files can import and configure this builder... </code></pre><pre><code>// actors.ts import { builder } from "./builder.ts"; import { Person } from "@fedify/fedify"; builder.setActorDispatcher("/users/{handle}", async (ctx, handle) =&gt; { // Actor implementation }); </code></pre><pre><code>// inbox.ts import { builder } from "./builder.ts"; import { Follow } from "@fedify/fedify"; builder.setInboxListeners("/users/{handle}/inbox", "/inbox") .on(Follow, async (ctx, follow) =&gt; { // Follow handling }); </code></pre><pre><code>// 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... }); </code></pre><p>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 <code>Federation</code> instance.</p><p>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!</p><p>Want to try it right now? You can install the development version from <a href="https://jsr.io/@fedify/fedify@1.6.0-dev.777+1206cb01" rel="nofollow noopener noreferrer" target="_blank">JSR</a> or <a href="https://www.npmjs.com/package/@fedify/fedify/v/1.6.0-dev.777" rel="nofollow noopener noreferrer" target="_blank">npm</a>:</p><pre><code># 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 </code></pre><p><a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
洪 民憙 (Hong Minhee)<p>I've been reflecting lately on projects like <a translate="no" class="h-card u-url mention" href="https://hollo.social/@fedify" rel="nofollow noopener noreferrer" target="_blank">@<span>fedify</span></a>, <a translate="no" class="h-card u-url mention" href="https://hollo.social/@hollo" rel="nofollow noopener noreferrer" target="_blank">@<span>hollo</span></a>, and <a translate="no" class="h-card u-url mention" href="https://hollo.social/@botkit" rel="nofollow noopener noreferrer" target="_blank">@<span>botkit</span></a>. Sometimes I wonder if I'm solving problems that very few people actually need solved. How many developers truly want to build their own <a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> server from scratch?</p><p>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?</p><p>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.</p><p>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.</p><p>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.</p><p><a class="mention hashtag" rel="nofollow noopener noreferrer" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
@reiver ⊼ (Charles) :batman:<p>A HEALTH-CHECK URL would, for example, make sure:</p><p>• the web-server is up,<br>• the database connection is fine,<br>• maybe query one or more important tables to make sure that still works, <br>• make sure any 3rd party APIs are working,<br>• etc.</p><p>If any of those things has a problem, then it would return "500 Internal Server Error".</p><p>Else (if everything was fine then) it would return "200 OK".</p><p><a href="https://mastodon.social/tags/DeSo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DeSo</span></a> <a href="https://mastodon.social/tags/FediAdmin" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediAdmin</span></a> <a href="https://mastodon.social/tags/Fediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Fediverse</span></a> <a href="https://mastodon.social/tags/FediDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDev</span></a> <a href="https://mastodon.social/tags/FediDevs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDevs</span></a></p>
@reiver ⊼ (Charles) :batman:<p>A lot of Fediverse software has a HEALTH-CHECK URL.</p><p>But not all Fediverse does.</p><p>It would be better if ALL Fediverse software had a HEALTH-CHECK URL.</p><p>...</p><p>A HEALTH-CHECK URL is a special URL that tell others if the system is running properly.</p><p>It would return "200 OK" if everything is fine. And return "500 Internal Server Error" if there is a problem</p><p>...</p><p>A HEALTH-CHECK URL is important to those who actual run and administrate Fediverse servers</p><p><a href="https://mastodon.social/tags/DeSo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DeSo</span></a> <a href="https://mastodon.social/tags/FediAdmin" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediAdmin</span></a> <a href="https://mastodon.social/tags/Fediverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Fediverse</span></a> <a href="https://mastodon.social/tags/FediDev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDev</span></a> <a href="https://mastodon.social/tags/FediDevs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FediDevs</span></a></p>