dmv.community is one of the many independent Mastodon servers you can use to participate in the fediverse.
A small regional Mastodon instance for those in the DC, Maryland, and Virginia areas. Local news, commentary, and conversation.

Administered by:

Server stats:

173
active users

#activitypub

56 posts52 participants1 post today

The fact that some hosting services don't support #ActivityPub for federating a #WordPress (.org) blog is a bit of a disappointment for those of us who believe #federation is a solution to the problem of centralized networks. Web hosting services should be independent of the project they host. At least, that's what I thought it should be until now.

Article in Spanish:

acambronero.wordpress.com/2025

#fediverse @wordpress@a.gup.pe @wordpress@chirp.social

En una pintura impresionista, un autobús clásico destaca en un bullicioso paisaje urbano, bañado por los cálidos tonos dorados del atardecer. El letrero en la parte delantera del autobús dice "ActivityPub" y brilla suavemente contra el vibrante fondo. La luz tenue y moteada proyecta sombras delicadas, añadiendo profundidad y encanto a la animada escena urbana. Los árboles y edificios difuminados del fondo enfatizan el movimiento y la vitalidad de la ciudad, creando una atmósfera cautivadora y armoniosa.
Blogpocket (spin-off) · La federación no funciona en todos los servidores
More from Blogpocket (spin-off)

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 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 (gohugo.io/content-management/c), 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?

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:

Two-Stage Fan-out Architecture for Efficient Activity Delivery

#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)
);

Canonical Origin Support for Multi-Domain Setups

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...
});

Optional Followers Collection Synchronization

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
  }
);

Enhanced Key Format Compatibility

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.

Improved Key Selection Logic

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.

New Authorization Options

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.

Efficient Bulk Message Queueing

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.

CLI Improvements

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.

Additional Improvements and Bug Fixes

  • Updated dependencies, including @js-temporal/polyfill to 0.5.0 for Node.js and Bun
  • Fixed bundler errors with uri-template-router on Rollup
  • Improved error handling and logging for document loader when KV store operations fail
  • Added more log messages using the LogTape library
  • Internalized the multibase package for better maintenance and compatibility

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!

Released on March 28, 2025.


Improved activity delivery performance with large audiences through a two-stage queuing system.  Sending activities to many recipients (e.g., accounts with many follow...
GitHubRelease Fedify 1.5.0 · fedify-dev/fedifyReleased on March 28, 2025. Improved activity delivery performance with large audiences through a two-stage queuing system. Sending activities to many recipients (e.g., accounts with many follow...

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.

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)

bandwagon.fm

Bandwagon.fmBandwagon.fm

If anyone has any dosh (cash) can they chuck me a bit to make the site hamishcampbell.com stays online better under load as it's increasings falling over due to #ActivityPub driven readership. Needs some tech work and a noticeable server upgrade. If you find the content useful, please donate here opencollective.com/open-media-

Or drop me a message if you like messing with WordPress config.

hamishcampbell.comHamish Campbell – An #openweb organic intellectual,technologist and part of the #OMN
More from Hamish Campbell

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)

Have @apps or @Tusky considered that? If not why not?

From the community-organizing power of the hashtag to decentralization and the massive shifts ignited by AI, @chrismessina threads the needle on it all. The inventor of the hashtag joins @mike on the latest episode of Dot Social:

about.flipboard.com/fediverse/

About Flipboard · Turning Moments Into Movements, with Hashtag Inventor Chris Messina
More from About Flipboard

Maybe it is because my self-hosted #Mastodon server went down 14-hours yesterday due to a Debian package update that screwed up NGINX and server admin is heavily on my mind, but I woke up in a panic, even screaming "Oh F*ck" ready to take action, because I was in a realistic dream that I had a WordPress blog that received thousands of spam replies with links and when I went to delete all those out of quarantine, I actually approved them and fed the ActvitiyPub firehose tens of thousands of spam.

It left me with wondering if replies originating on a #ActivityPub enabled #WordPress blog federates or not. Time to do some reading.

Vorabankündigung: Am 14.6. findet im @spektralgraz ein #fedicamp statt. Thema sind offene soziale Medien wie #Mastodon oder #Wordpress mit #activitypub-Plugin. Wir wollen einführen und aktuelle Entwicklungen diskutieren.

Wir wollen dazu beitragen, dass sich hier in der Steiermark soziale Medien entwickeln, die wir selbst kontrollieren können und die z.B. nicht Profile anlegen, die von autoritären Regimen und Konzernen missbraucht werden können. Wir hoffen, dass es angesichts der Umstände (wie zum Teil rechtsradikale Regierung in der Steiermark, Tech-Oligarchenherrschaft in den USA) genug Interesse gibt.

@murdelta und ich sind bisher das Orgateam, wir freuen uns über Verstärkung.

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!

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