digitalcourage.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Diese Instanz wird betrieben von Digitalcourage e.V. für die Allgemeinheit. Damit wir das nachhaltig tun können, erheben wir einen jährlichen Vorausbeitrag von 1€/Monat per SEPA-Lastschrifteinzug.

Server stats:

812
active users

#federation

6 posts6 participants1 post today
Blender Dumbass ( J.Y.Amihud )<p>From: blenderdumbass . org</p><p>This article is published on a website which is powered by BDServer. And I'm trying to make this website support ActivityPub, so you could for example, subscribe to me from your Mastodon account. Yet it is easier said than done.</p><p>If you have any experience with ActivityPub, web-development or Python, please consider helping me. We have BDServ...</p><p>Read: <a href="https://blenderdumbass.org/articles/please_help_me_with_activity_pub" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blenderdumbass.org/articles/pl</span><span class="invisible">ease_help_me_with_activity_pub</span></a></p><p><a href="https://mastodon.online/tags/activitypub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>activitypub</span></a> <a href="https://mastodon.online/tags/fediverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fediverse</span></a> <a href="https://mastodon.online/tags/mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mastodon</span></a> <a href="https://mastodon.online/tags/bdserver" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bdserver</span></a> <a href="https://mastodon.online/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://mastodon.online/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.online/tags/webdev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webdev</span></a> <a href="https://mastodon.online/tags/federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>federation</span></a> <a href="https://mastodon.online/tags/API" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>API</span></a></p>
Flipboard<p>Good news! You can now find <span class="h-card" translate="no"><a href="https://flipboard.com/@Defector" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>Defector</span></a></span> on Flipboard and in the fediverse, thanks to their federated account. Follow them for coverage of sports, pop culture, and more. </p><p><a href="https://flipboard.com/@defector" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">flipboard.com/@defector</span><span class="invisible"></span></a></p><p><a href="https://flipboard.social/tags/Flipboard" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Flipboard</span></a> <a href="https://flipboard.social/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a> <a href="https://flipboard.social/tags/ActivityPub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ActivityPub</span></a> <a href="https://flipboard.social/tags/Sports" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Sports</span></a> <a href="https://flipboard.social/tags/Media" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Media</span></a> <a href="https://flipboard.social/tags/Journalism" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Journalism</span></a> <a href="https://flipboard.social/tags/Fediverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Fediverse</span></a></p>
Flipboard<p>The iPad. Rainbow Looms. "Inception." They all arrived on the scene in 2010 — and so did we. In 2025, we're celebrating Flipboard's 15th birthday. Here's to the next 15 and more! Check out the spreadsheet here to discover all the Magazines you can find in the fediverse —&nbsp;and comment below if there's a publication you'd love us to federate.</p><p><a href="https://about.flipboard.com/inside-flipboard/15-years-of-flipboard/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">about.flipboard.com/inside-fli</span><span class="invisible">pboard/15-years-of-flipboard/</span></a></p><p><a href="https://docs.google.com/spreadsheets/d/1iUFTo6rPvhqzCReLaM1c6-xUKRuBVqlZVStZl9Al-EU/edit?gid=1764807022#gid=1764807022" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">docs.google.com/spreadsheets/d</span><span class="invisible">/1iUFTo6rPvhqzCReLaM1c6-xUKRuBVqlZVStZl9Al-EU/edit?gid=1764807022#gid=1764807022</span></a></p><p><a href="https://flipboard.social/tags/Flipboard" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Flipboard</span></a> <a href="https://flipboard.social/tags/FlipboardMagazines" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FlipboardMagazines</span></a> <a href="https://flipboard.social/tags/ActivityPub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ActivityPub</span></a> <a href="https://flipboard.social/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a> <a href="https://flipboard.social/tags/Fediverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Fediverse</span></a> <a href="https://flipboard.social/tags/OpenSocial" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenSocial</span></a> <a href="https://flipboard.social/tags/OpenSocialWeb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenSocialWeb</span></a></p>
Hazelnoot<p>Concept for discussion: <b>Replacing HTTP Signatures with Bearer Tokens for ActivityPub Federation</b><span><br><br>Curious what other people think about this idea. What if federation security was re-worked to use target-assigned </span><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Authentication#bearer" rel="nofollow noopener" target="_blank">bearer tokens</a><span> to authenticate GET/POST requests? This would remove the need for complicated signing schemes and reduce system load under heavy traffic bursts (as no cryptography is required).<br><br></span><b>A basic implementation could look like this:</b><span><br>1. When instance A (</span><code>a.example.com</code>) first attempts to federate with instance B (<code>b.example.com</code>), a POST request is made to a dedicated registration endpoint. (for discussion, we'll say it's <code>https://b.example.com/activity-pub/register-instance</code>). This request includes fields necessary for verification, including the <b>source domain name</b>, <b>target domain name</b>, and a securely-generated <b>verification token</b><span>. Other metadata could be included to allow instance B to selectively allow/prohibit federation based on other criteria, but this is optional.<br>2. Instance B makes a POST request back to a dedicated verification endpoint on instance A (for discussion, we'll say it's </span><code>https://a.example.com/activity-pub/verify-registration</code><span>). This request must include the target domain name and verification token provided in step 2.<br>3. Instance A checks the verification token (and verify that it matches the target domain name) and return a successful value. </span><b>The verification code must be invalidated after this call!</b><span><br>4. Instance B, after verifying instance A's request, returns a securely-generated </span><b>federation key</b> back to instance A. This federation key is a bearer token used to authenticate all requests from instance A to instance B. <b>This key must be unique to instance A!</b><span><br>5. Instance A completes the original request with the </span><code>Authorization</code> header set to <code>Bearer {federation_key}</code><span>.<br>6. Instance B receives the request, detects the federation key, and checks it against the list of registered instances.<br>7. If the key does not exist or A has been defederated, then a </span><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/401" rel="nofollow noopener" target="_blank"><code>403 Forbidden</code> error</a><span> is returned.<br>8. If the key is expired or revoked, then </span><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/401" rel="nofollow noopener" target="_blank"><code>401 Unauthorized</code> error</a> is returned. Upon receiving a 401 error, instance A should start over from step 1 to re-authenticate and complete the request with a new token. <b>This process should not be repeated for recursive failures!</b><span><br>9. If the key is approved, then a </span><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/200" rel="nofollow noopener" target="_blank"><code>200 OK</code> response</a> or <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/202" rel="nofollow noopener" target="_blank"><code>202 Accepted</code> response</a><span> is returned, and A can consider the request as successful.<br><br></span><b>Advantages versus HTTP Signatures:</b><span><br>- No cryptography requirements.<br>- Simple logic, no edge cases around HTTP query parameters or header order.<br>- Equally effective for all request types.<br>- Keys can be easily revoked or rotated.<br>- Supports authorized fetch and defederation use cases "by default".<br><br></span><b>Disadvantages versus HTTP Signatures:</b><span><br>- Breaks the actor model - instances are required as a first-class concept. (but really, the actor model is basically dead already. you can't even federate reliably without a WebFinger server, at minimum.)<br>- Requires multi-request "handshake" before communication. (but this is already required in practice, since a signature can't be validated without first requesting the signing actor.)<br>- Out-of-band protocol - communication can't happen over ActivityPub / ActivityStreams because this is a prerequisite to authenticate any request. (but again, we already require WebFinger and some software requires NodeInfo for full support.)<br><br>So, what are your thoughts? Good idea? Bad idea? Did I miss something? Please let me know, I welcome replies here!<br><br></span><a href="https://enby.life/tags/ActivityPub" rel="nofollow noopener" target="_blank">#ActivityPub</a> <a href="https://enby.life/tags/AP" rel="nofollow noopener" target="_blank">#AP</a> <a href="https://enby.life/tags/Federation" rel="nofollow noopener" target="_blank">#Federation</a></p>
Malcolm Nance<p>💀 The head of the Supreme Court of the <a href="https://defenseofliberty.social/tags/Russian" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Russian</span></a> <a href="https://defenseofliberty.social/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a>, Irina Podnosova, died in <a href="https://defenseofliberty.social/tags/Moscow" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Moscow</span></a>.</p>
xoron :verified:<p><a href="https://infosec.exchange/tags/Decentralized" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Decentralized</span></a> <a href="https://infosec.exchange/tags/Module" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Module</span></a> <a href="https://infosec.exchange/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a> <a href="https://infosec.exchange/tags/Microfrontend" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Microfrontend</span></a> <a href="https://infosec.exchange/tags/Architecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Architecture</span></a> </p><p>I'm working on a <a href="https://infosec.exchange/tags/webapp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webapp</span></a> and I'm being <a href="https://infosec.exchange/tags/creative" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>creative</span></a> on the <a href="https://infosec.exchange/tags/approach" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>approach</span></a>. It might be considered <a href="https://infosec.exchange/tags/overcomplicated" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>overcomplicated</span></a> (because it is), but I'm just trying something out. It's entirely possible this approach won't work <a href="https://infosec.exchange/tags/longterm" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>longterm</span></a>. I see it as there is <a href="https://infosec.exchange/tags/onewaytofindout" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>onewaytofindout</span></a>. I don't recommend this approach. Just sharing what I'm trying/#investigating.</p><p>How it will be <a href="https://infosec.exchange/tags/architected" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>architected</span></a>: [<a href="https://positive-intentions.com/blog/decentralised-architecture](https://positive-intentions.com/blog/decentralised-architecture)" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">positive-intentions.com/blog/d</span><span class="invisible">ecentralised-architecture](https://positive-intentions.com/blog/decentralised-architecture)</span></a><br>Some <a href="https://infosec.exchange/tags/benefits" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>benefits</span></a> of the <a href="https://infosec.exchange/tags/approach" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>approach</span></a>: [<a href="https://positive-intentions.com/blog/statics-as-a-chat-app-infrastructure](https://positive-intentions.com/blog/statics-as-a-chat-app-infrastructure)" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">positive-intentions.com/blog/s</span><span class="invisible">tatics-as-a-chat-app-infrastructure](https://positive-intentions.com/blog/statics-as-a-chat-app-infrastructure)</span></a></p><p>I find that <a href="https://infosec.exchange/tags/modulefederation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>modulefederation</span></a> and <a href="https://infosec.exchange/tags/microfrontends" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microfrontends</span></a> to generally be <a href="https://infosec.exchange/tags/discouraged" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>discouraged</span></a> when I see posts, but I think it works for me in my <a href="https://infosec.exchange/tags/approach" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>approach</span></a>. I'm <a href="https://infosec.exchange/tags/optimistic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>optimistic</span></a> about the approach and the <a href="https://infosec.exchange/tags/benefits" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>benefits</span></a> and so I wanted to <a href="https://infosec.exchange/tags/share" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>share</span></a> details.</p><p>When I serve the <a href="https://infosec.exchange/tags/federatedmodules" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>federatedmodules</span></a>, I can also host the <a href="https://infosec.exchange/tags/storybook" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>storybook</span></a> statics so I think this could be a good way to <a href="https://infosec.exchange/tags/document" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>document</span></a> the modules in <a href="https://infosec.exchange/tags/isolation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>isolation</span></a>.</p><p><a href="https://infosec.exchange/tags/Cryptography" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Cryptography</span></a> modules - <a href="https://cryptography.positive-intentions.com/?path=%2Fdocs%2Fcryptography-introduction--docs" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">cryptography.positive-intentio</span><span class="invisible">ns.com/?path=%2Fdocs%2Fcryptography-introduction--docs</span></a></p><p><a href="https://infosec.exchange/tags/P2P" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>P2P</span></a> framework - <a href="https://p2p.positive-intentions.com/?path=%2Fdocs%2Fe2e-tests-connectionstatus--docs" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">p2p.positive-intentions.com/?p</span><span class="invisible">ath=%2Fdocs%2Fe2e-tests-connectionstatus--docs</span></a></p><p>This way, I can create <a href="https://infosec.exchange/tags/microfrontends" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microfrontends</span></a> that consume these <a href="https://infosec.exchange/tags/modules" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>modules</span></a>. I can then <a href="https://infosec.exchange/tags/share" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>share</span></a> the <a href="https://infosec.exchange/tags/functionality" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>functionality</span></a> between <a href="https://infosec.exchange/tags/apps" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>apps</span></a>. The following apps are using a different codebase from each other (there is a <a href="https://infosec.exchange/tags/distinction" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>distinction</span></a> between these apps in <a href="https://infosec.exchange/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a> and <a href="https://infosec.exchange/tags/closesource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>closesource</span></a>). Sharing those <a href="https://infosec.exchange/tags/dependencies" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dependencies</span></a> could help make it easier to roll out <a href="https://infosec.exchange/tags/updates" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>updates</span></a> to <a href="https://infosec.exchange/tags/coremechanics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>coremechanics</span></a>.</p><p><a href="https://infosec.exchange/tags/P2P" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>P2P</span></a> chat - [<a href="https://chat.positive-intentions.com/](https://chat.positive-intentions.com/)" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">chat.positive-intentions.com/]</span><span class="invisible">(https://chat.positive-intentions.com/)</span></a><br><a href="https://infosec.exchange/tags/P2P" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>P2P</span></a> file transfer - [<a href="https://file.positive-intentions.com/](https://file.positive-intentions.com/)" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">file.positive-intentions.com/]</span><span class="invisible">(https://file.positive-intentions.com/)</span></a></p><p>The <a href="https://infosec.exchange/tags/functionality" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>functionality</span></a> also works when I create an <a href="https://infosec.exchange/tags/Android" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Android</span></a> build with <a href="https://infosec.exchange/tags/Tauri" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tauri</span></a>. This could also lead to it being easier to create <a href="https://infosec.exchange/tags/newapps" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>newapps</span></a> that could use the <a href="https://infosec.exchange/tags/modules" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>modules</span></a> created.</p><p>I'm sure there will be some distinct <a href="https://infosec.exchange/tags/test" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>test</span></a>/#maintenance <a href="https://infosec.exchange/tags/overhead" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>overhead</span></a>, but depending on how it's <a href="https://infosec.exchange/tags/architected" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>architected</span></a> I think it could work and make it easier to <a href="https://infosec.exchange/tags/improve" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>improve</span></a> on the current <a href="https://infosec.exchange/tags/implementation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>implementation</span></a>.</p><p>Everything about the <a href="https://infosec.exchange/tags/project" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>project</span></a> is far from finished. It could be seen as this is a <a href="https://infosec.exchange/tags/complicated" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>complicated</span></a> way to do what <a href="https://infosec.exchange/tags/npm" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>npm</span></a> does, but I think this <a href="https://infosec.exchange/tags/approach" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>approach</span></a> allows for greater <a href="https://infosec.exchange/tags/flexibility" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>flexibility</span></a> by being able to <a href="https://infosec.exchange/tags/separate" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>separate</span></a> <a href="https://infosec.exchange/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a> and <a href="https://infosec.exchange/tags/closesource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>closesource</span></a> code for the <a href="https://infosec.exchange/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a>. (Of course as <a href="https://infosec.exchange/tags/javascript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>javascript</span></a>, it will always be "source code available". Especially in the age of <a href="https://infosec.exchange/tags/AI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AI</span></a>, I'm sure it's possible to <a href="https://infosec.exchange/tags/reverseengineer" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>reverseengineer</span></a> it like never before.)</p><p>(mastodon might not be the place for something like this, so let me know if you dont like this kind of content. i typically post on reddit and would like to shift it more towards mastodon. i also use lemmy, but mastodon has a better reach.)</p>
Socialhome HQ<p><strong>Socialhome v0.22.0 released, with a completely new UI!</strong></p> <p></p> <p>This is a massive milestone for the <a class="hashtag" href="https://socialhome.network/streams/tag/socialhome/" rel="nofollow noopener" target="_blank">#Socialhome</a> project, one that could not have been possible without the hard work of <a class="mention" href="https://jase.social/u/alain/" rel="nofollow noopener" target="_blank">@alain@jase.social</a>. If you have followed the Socialhome project, you'll know that Alain has been responsible for most of the development of project in the recent years. This includes rewriting the <a class="hashtag" href="https://socialhome.network/streams/tag/federation/" rel="nofollow noopener" target="_blank">#federation</a> library to ensure <a class="hashtag" href="https://socialhome.network/streams/tag/activitypub/" rel="nofollow noopener" target="_blank">#ActivityPub</a> support is first class. More recently Alain has taken the challenge of rewriting the frontend, which has fallen into a rather poor state over the years.</p> <p></p> <p>The new UI work is actually a coordination of two people working many years apart. Way back years ago <a class="mention" href="https://mastodon.xyz/@lightone" rel="nofollow noopener" target="_blank">@lightone@mastodon.xyz</a> made some UI designs for a new Socialhome UI (thank you! &lt;3). While the designs were not implemented for years, they were not forgotten. In 2023 Alain jumped to the challenge and started the full UI rewrite of the Socialhome frontend. This UI has now matured into a state that it is good for daily usage - which is the main focus of this release!</p> <p>Currently, a Socialhome installation will still default to the old UI. If you do want to try out the new UI for example on <code>socialhome.network</code>, go to the account settings and toggle the "New UI" flag. Going back is also easy, should the new UI cause unforeseen issues (please do report!).</p> <p></p> <p>If you are a server admin, see the <a href="https://codeberg.org/socialhome/socialhome-ui/src/branch/main/INSTALLATION.md" rel="nofollow noopener" target="_blank">new UI installation instructions</a> for how to add the new UI to your instance.</p> <p>This is not all! The releases of v0.21.0 and v0.22.0 also contain a bunch of other changes and fixes. Most notably;</p> <ul> <li>ActivityPub profiles are now richer, including bio and a larger picture, in addition to an avatar.</li> <li>Many new API's to support the new UI, including session authentication, search, media upload, content fetching over uuid, profile organize and profile settings.</li> <li>Whoosh has been replaced with Xapian as a search index backend.</li> </ul> <p>See the <a href="https://socialhome.readthedocs.io/en/latest/changelog.html" rel="nofollow noopener" target="_blank">full changelogs</a>. Additionally, the federation library has received a ton of changes and fixes which can be found <a href="https://codeberg.org/socialhome/federation/src/branch/master/CHANGELOG.md#0-26-0-2025-05-24" rel="nofollow noopener" target="_blank">here</a>.</p> <p>Also, last but not least, we moved from GitLab to Codeberg. Check out the new <a href="https://codeberg.org/socialhome" rel="nofollow noopener" target="_blank">repositories</a>.</p> <p><strong>Installing and updating</strong></p> <p>We recommend using the <a href="https://codeberg.org/socialhome/-/packages/container/socialhome/0.22.0" rel="nofollow noopener" target="_blank">Docker images</a> (amd64/arm64).</p> <p>Notes on how to use the Docker images can be found <a href="https://socialhome.readthedocs.io/en/latest/installation/docker.html#installation-docker" rel="nofollow noopener" target="_blank">in the docs</a>.</p> <p><strong>What is Socialhome?</strong></p> <p>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.</p> <p>Please check the official site for more information about features. Naturally, the official site is a Socialhome profile itself.</p> <ul> <li><a href="https://socialhome.network" rel="nofollow noopener" target="_blank">Official site</a></li> <li><a href="https://socialhome.readthedocs.io" rel="nofollow noopener" target="_blank">Documentation (for admins)</a></li> <li><a href="https://codeberg.org/socialhome/socialhome" rel="nofollow noopener" target="_blank">Code repository</a> (<a href="https://github.com/jaywink/socialhome" rel="nofollow noopener" target="_blank">GitHub mirror</a>)</li> <li><a href="https://matrix.to/#/#socialhome:federator.dev" rel="nofollow noopener" target="_blank">Chat room on Matrix</a></li> </ul> <p><strong>Try Socialhome?</strong></p> <p>If you want to try Socialhome first before trying to install it, register at <a href="https://socialhome.network" rel="nofollow noopener" target="_blank">https://socialhome.network</a> and then ping us with a comment on the user name chosen to get the account approved. You can also request account approval in the <a href="https://matrix.to/#/#socialhome:federator.dev" rel="nofollow noopener" target="_blank">chat room</a>. This unfortunately approval step is due to spammers.</p> <p><strong>Contribute</strong></p> <p>Do you 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 href="https://matrix.to/#/#socialhome:federator.dev" rel="nofollow noopener" target="_blank">a friendly chat room</a> for questions.</p> <p><a class="hashtag" href="https://socialhome.network/streams/tag/socialhome/" rel="nofollow noopener" target="_blank">#socialhome</a> <a class="hashtag" href="https://socialhome.network/streams/tag/federation/" rel="nofollow noopener" target="_blank">#federation</a> <a class="hashtag" href="https://socialhome.network/streams/tag/fediverse/" rel="nofollow noopener" target="_blank">#fediverse</a> <a class="hashtag" href="https://socialhome.network/streams/tag/activitypub/" rel="nofollow noopener" target="_blank">#activitypub</a> <a class="hashtag" href="https://socialhome.network/streams/tag/diaspora/" rel="nofollow noopener" target="_blank">#diaspora</a> <a class="hashtag" href="https://socialhome.network/streams/tag/django/" rel="nofollow noopener" target="_blank">#django</a> <a class="hashtag" href="https://socialhome.network/streams/tag/vuejs/" rel="nofollow noopener" target="_blank">#vuejs</a></p>
Robert Wolff<p><span class="h-card" translate="no"><a href="https://floss.social/@forgejo" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>forgejo</span></a></span> My personal highlight of this release: You can now use your <a href="https://nerdculture.de/tags/fediverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fediverse</span></a> handle in <a href="https://nerdculture.de/tags/markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>markdown</span></a> documents and it will be marked up as a link to your user profile (or group, etc.).<br><a href="https://forgejo.org/2025-07-release-v12-0/#redirecting-fediverse-handles" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">forgejo.org/2025-07-release-v1</span><span class="invisible">2-0/#redirecting-fediverse-handles</span></a><br>I'm excited about the future, when mentioning fediverse handles will actually be federated and will send notifications everywhere!<br><a href="https://nerdculture.de/tags/Forgejo" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Forgejo</span></a> <a href="https://nerdculture.de/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a> <a href="https://nerdculture.de/tags/forgefed" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>forgefed</span></a></p>
Blender Dumbass ( J.Y.Amihud )<p>From: blenderdumbass . org</p><p>This article is published on a website which is powered by BDServer. And I'm trying to make this website support ActivityPub, so you could for example, subscribe to me from your Mastodon account. Yet it is easier said than done.</p><p>If you have any experience with ActivityPub, web-development or Python, please consider helping me. We have BDServ...</p><p>Read: <a href="https://blenderdumbass.org/articles/please_help_me_with_activity_pub" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blenderdumbass.org/articles/pl</span><span class="invisible">ease_help_me_with_activity_pub</span></a></p><p><a href="https://mastodon.online/tags/activitypub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>activitypub</span></a> <a href="https://mastodon.online/tags/fediverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fediverse</span></a> <a href="https://mastodon.online/tags/mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mastodon</span></a> <a href="https://mastodon.online/tags/bdserver" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bdserver</span></a> <a href="https://mastodon.online/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://mastodon.online/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.online/tags/webdev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webdev</span></a> <a href="https://mastodon.online/tags/federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>federation</span></a> <a href="https://mastodon.online/tags/API" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>API</span></a></p>
skribe 🇺🇦 :verified_mustard:<p>My activitypub enabled blog enables me to respond to comments made by those on the fediverse. However, the link says 'Reply with federation', and I keep thinking that I need permission from <span class="h-card" translate="no"><a href="https://universeodon.com/@georgetakei" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>georgetakei</span></a></span> before I can do that. 🤣 </p><p><a href="https://aus.social/tags/ActivityPub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ActivityPub</span></a> <a href="https://aus.social/tags/StarTrek" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>StarTrek</span></a> <a href="https://aus.social/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a></p>
Flipboard<p>All Rise News, by journalist Adam Klasfeld, is now available on Flipboard and in the fediverse via his federated Magazines. </p><p>Follow the profile, <span class="h-card" translate="no"><a href="https://flipboard.com/@allrisenews" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>allrisenews</span></a></span>, for all his stories on the law, your rights and your powers to effect change in the Trump era. He also has Magazines specifically about immigration, <span class="h-card" translate="no"><a href="https://flipboard.com/@allrisenews/tonight-in-your-rights-immigration-vbusnnu3z" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>tonight-in-your-rights-immigration-allrisenews</span></a></span>, and about significant developments in the case of Kilmar Abrego Garcia, <span class="h-card" translate="no"><a href="https://flipboard.com/@allrisenews/kilmar-abrego-garcia-a8ac0a64z" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>kilmar-abrego-garcia-allrisenews</span></a></span>. </p><p><a href="https://flipboard.social/tags/News" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>News</span></a> <a href="https://flipboard.social/tags/Publishers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Publishers</span></a> <a href="https://flipboard.social/tags/Fediverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Fediverse</span></a> <a href="https://flipboard.social/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a> <a href="https://flipboard.social/tags/Flipboard" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Flipboard</span></a> <a href="https://flipboard.social/tags/LegalNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LegalNews</span></a> <a href="https://flipboard.social/tags/KilmarAbregoGarcia" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>KilmarAbregoGarcia</span></a> <a href="https://flipboard.social/tags/Immigration" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Immigration</span></a></p>
Rodrigo Pio<p>Doctor and Patient in the Fediverse of Madness (love the title)</p><p><a href="https://www.youtube.com/watch?v=BLyhUp-KKvQ&amp;t=1201" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=BLyhUp-KKv</span><span class="invisible">Q&amp;t=1201</span></a></p><p>Definitely worth your watch! </p><p>Thank you <span class="h-card" translate="no"><a href="https://mastodon.social/@wernerkeil" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>wernerkeil</span></a></span> and <span class="h-card" translate="no"><a href="https://mastodon.social/@javapro" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>javapro</span></a></span> for this video.</p><p>Just follow the tags to see what it's all about :masto_wink: </p><p><a href="https://fosstodon.org/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a> <a href="https://fosstodon.org/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> <a href="https://fosstodon.org/tags/BlueSky" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BlueSky</span></a> <a href="https://fosstodon.org/tags/ActivityPub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ActivityPub</span></a> <a href="https://fosstodon.org/tags/Matrix" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Matrix</span></a> <a href="https://fosstodon.org/tags/Healthcare" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Healthcare</span></a> <a href="https://fosstodon.org/tags/Java" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Java</span></a></p>
David O'Brien<p>Wholeheartedly agree.</p><p>Best thing is, we don't need to be on the same server, the same platform, the same software.</p><p><a href="https://mastodon.social/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a> via <a href="https://mastodon.social/tags/ActivityPub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ActivityPub</span></a> or other protocols may or may not be *the* way forward... but it's definitively a better way than MegaPlatforms and the harm they cause.</p><p><span class="h-card" translate="no"><a href="https://bsky.brid.gy/r/https://bsky.app/profile/acuity.design" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>acuity.design</span></a></span></p>
Spatialists<p>wanderer: Decentralized trail database: <a href="https://mapstodon.space/tags/wanderer" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>wanderer</span></a> by <span class="h-card" translate="no"><a href="https://social.tchncs.de/@flomp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>flomp</span></a></span> is a new, <a href="https://mapstodon.space/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a>, <a href="https://mapstodon.space/tags/decentralized" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>decentralized</span></a> <a href="https://mapstodon.space/tags/trail" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>trail</span></a> database where you can upload tracks (or import them from <a href="https://mapstodon.space/tags/STRAVA" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>STRAVA</span></a> or <a href="https://mapstodon.space/tags/Komoot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Komoot</span></a>), create or share routes, and connect with communities through <a href="https://mapstodon.space/tags/ActivityPub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ActivityPub</span></a>-powered <a href="https://mapstodon.space/tags/federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>federation</span></a>. <br><a href="https://spatialists.ch/posts/2025/07/09-wanderer-decentralized-trail-database/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">spatialists.ch/posts/2025/07/0</span><span class="invisible">9-wanderer-decentralized-trail-database/</span></a> <a href="https://mapstodon.space/tags/GIS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GIS</span></a> <a href="https://mapstodon.space/tags/GISchat" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GISchat</span></a> <a href="https://mapstodon.space/tags/geospatial" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>geospatial</span></a> <a href="https://mapstodon.space/tags/SwissGIS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SwissGIS</span></a></p>
PathConnect<p>Nextcloud Talk eignet sich nicht nur für die sichere Kommunikation innerhalb eines Teams, sondern auch für die Kommunikation mit Mitgliedern einer anderen Nextcloud-Instanz. Dank der Federation-Funktion wird Talk zu einem dezentralen Kommunikationssystem, das es dir ermöglicht, über verschiedene Nextcloud-Instanzen hinweg sicher zu kommunizieren.</p><p><a href="https://pathconnect.eu/blog/nextcloud-talk-federation" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">pathconnect.eu/blog/nextcloud-</span><span class="invisible">talk-federation</span></a></p><p><a href="https://mastodon.pathconnect.de/tags/Nextcloud" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Nextcloud</span></a> <a href="https://mastodon.pathconnect.de/tags/NextcloudTalk" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NextcloudTalk</span></a> <a href="https://mastodon.pathconnect.de/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a> <a href="https://mastodon.pathconnect.de/tags/OpenSource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenSource</span></a> <a href="https://mastodon.pathconnect.de/tags/DSGVO" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DSGVO</span></a> <a href="https://mastodon.pathconnect.de/tags/DigitaleFreiheit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DigitaleFreiheit</span></a> <a href="https://mastodon.pathconnect.de/tags/PathConnect" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PathConnect</span></a> <a href="https://mastodon.pathconnect.de/tags/NextcloudHosting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NextcloudHosting</span></a> <a href="https://mastodon.pathconnect.de/tags/CloudKommunikation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CloudKommunikation</span></a></p>
XSF: XMPP Standards Foundation<p>The <a href="https://fosstodon.org/tags/XMPP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>XMPP</span></a> Newsletter for June 2025 is out!</p><p>Read about the latest XMPP universe updates and updates on our <a href="https://fosstodon.org/tags/standards" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>standards</span></a>!<br> <br><a href="https://xmpp.org/2025/07/the-xmpp-newsletter-june-2025/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">xmpp.org/2025/07/the-xmpp-news</span><span class="invisible">letter-june-2025/</span></a></p><p>Enjoy reading! 📰 ☕ :xmpp: </p><p><a href="https://fosstodon.org/tags/jabber" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>jabber</span></a> <a href="https://fosstodon.org/tags/chat" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>chat</span></a> <a href="https://fosstodon.org/tags/interoperability" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>interoperability</span></a> <a href="https://fosstodon.org/tags/rtc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rtc</span></a><br><a href="https://fosstodon.org/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a> <a href="https://fosstodon.org/tags/decentralization" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>decentralization</span></a> <a href="https://fosstodon.org/tags/federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>federation</span></a></p>
SPRAVDI - Stratcom Centre<p>the <a href="https://defenseofliberty.social/tags/Kremlin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kremlin</span></a> is working on the possibility of involving so-called partners in the war under the guise of implementing humanitarian projects in the Russian regions bordering Ukraine.</p><p>Another country that Russia is trying to involve in the war is Laos.</p><p>Currently, the Kremlin is organizing the involvement of a combined unit of engineering troops of the Lao People's Army in demining the territories of the Kursk region of the Russian <a href="https://defenseofliberty.social/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a>.</p>
Blender Dumbass ( J.Y.Amihud )<p>From: blenderdumbass . org</p><p>This article is published on a website which is powered by BDServer. And I'm trying to make this website support ActivityPub, so you could for example, subscribe to me from your Mastodon account. Yet it is easier said than done.</p><p>If you have any experience with ActivityPub, web-development or Python, please consider helping me. We have BDServ...</p><p>Read: <a href="https://blenderdumbass.org/articles/please_help_me_with_activity_pub" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blenderdumbass.org/articles/pl</span><span class="invisible">ease_help_me_with_activity_pub</span></a></p><p><a href="https://mastodon.online/tags/activitypub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>activitypub</span></a> <a href="https://mastodon.online/tags/fediverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fediverse</span></a> <a href="https://mastodon.online/tags/mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mastodon</span></a> <a href="https://mastodon.online/tags/bdserver" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bdserver</span></a> <a href="https://mastodon.online/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://mastodon.online/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.online/tags/webdev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webdev</span></a> <a href="https://mastodon.online/tags/federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>federation</span></a> <a href="https://mastodon.online/tags/API" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>API</span></a></p>
Zuri (he/him) 🕐 CET<p>"If you don't like <a href="https://mastodon.online/tags/YouTube" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>YouTube</span></a>, just use <a href="https://mastodon.online/tags/PeerTube" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PeerTube</span></a> instead"<br>When I have a video on YouTube and I look it up on a <a href="https://mastodon.online/tags/PeerTube" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PeerTube</span></a> instance, I wasn't able to find it there *ever*(!). I know that PeerTube—other than <a href="https://mastodon.online/tags/Invidious" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Invidious</span></a> and piped—is not a YouTube proxy and the video has to have been reuploaded to PeerTube. So far, so good—in theory.</p><p>But there's my problem:</p><p>1/ </p><p><a href="https://mastodon.online/tags/FollowerPower" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FollowerPower</span></a> <a href="https://mastodon.online/tags/Decentralization" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Decentralization</span></a> <a href="https://mastodon.online/tags/Fediverse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Fediverse</span></a> <a href="https://mastodon.online/tags/FOSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FOSS</span></a> <a href="https://mastodon.online/tags/ActivityPub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ActivityPub</span></a> <a href="https://mastodon.online/tags/Federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Federation</span></a></p>
dansup<p>Just built something I don't think any other fediverse project has: ultra-granular federation controls.</p><p>Loopers can pick exactly which servers to federate with, go local-only, or even pause delivery. </p><p>It was tough to code, but our community deserves this power ❤️</p><p><a href="https://mastodon.social/tags/loops" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>loops</span></a> <a href="https://mastodon.social/tags/pixelfed" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pixelfed</span></a> <a href="https://mastodon.social/tags/federation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>federation</span></a> <a href="https://mastodon.social/tags/didItForTheLoopers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>didItForTheLoopers</span></a></p>