I just discovered why some of my followers from larger #Mastodon instances (like mastodon.social) would mysteriously unfollow me after a while!

A pull request was just merged in Mastodon that fixes a critical bug in their follower synchronization mechanism.

Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!

This explains so much about the strange behavior I've been seeing with #Hollo and other #Fedify-based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.

Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on #ActivityPub!

This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊

for any #fedidev trying to build a distributed database: are your activities ACID-compliant? do you expect or require other people’s incoming activities to represent ACID-compliant transactions?

somewhat rhetorical question for #fedidev space: are you trying to build a web of documents or a distributed database? the difference matters more than you may think.

I'm finally unveiling the #ActivityPub project that has been consuming my weekends: Encyclia, an #ORCID bridge that will make ORCID records followable and interactable on the fediverse. 🙂

It's early-stage and the ORCID following function is not publicly available yet. We're seeking community feedback on functionality and safety aspects. Read more at https://encyclia.pub or follow @encyclia for news!

Just something I noticed while testing non-public posts... when I try to message @jdp23@blahaj.zone, sharkey tries to grab the inReplyTo, but it attempts to do so with the instance actor, which obviously doesn't have access to the chat.

Feels like a Sharkey bug, but I also noticed this behaviour when I tried to use @crepels@mastodon.social's activitypub.academy... using the search bar (and the explorer) caused the request to be made with the instance actor.

So now I'm not even sure what to think.

i wonder how many #fedidev people realize that building a fedi viewer is on the scale of complexity of building a web browser

We think this can shake up social media 🕺

Our new Amplifier lets you curate your timeline as you scroll with the flick of a switch and personalise your social web.

By simplifying your feed, you can catch up on conversations that matter to you. Just turn on the Amplifier in your Newsmast settings!

Now on the Newsmast app, update or download on the App & Play Stores then login with your Mastodon account.

I'm happy to announce that I have tagged the latest commit in the activitypub branch as v4.0.0-alpha. That designation means (mostly symbolically) that we have moved past the "proof-of-concept" stage of ActivityPub research and development, and into the alpha phase.

This release has been a long time in coming. Work on the ActivityPub integration back in late 2023, although work accelerated around February of this year. The initial idea was to create a proof-of-concept build of NodeBB that could communicate with other fediverse apps, and federate local content outwards for other applications to consume.

As it turns out, it is difficult to temper your expectations when using a protocol with implementations that expect richer compatibility than one can provide! It seemed like a disservice to only offer a minimal subset of expected features, and so we started a deeper integration into ActivityPub with the aims of providing full user-to-user following, notifications, and two-way communication.

In the interim, FediForum happened, causing us to once again re-evaluate our short-to-medium term plans. Devs from NodeBB and Discourse, along with many other interested parties, formed the SWICG Forum and Threaded Discussions Task Force, which aims to promote the use and broader acceptance of threaded discussions as a modality of communication, as opposed to the expected "microblogging" format.

What this release contains

The alpha build contains a fully-capable ActivityPub server instance, including:

  • Two-way follow relationships between local and remote users
  • Two-way communication with fediverse content
  • A dedicated page (/world) to view remote content that is not organized into local categories
  • Categories followable from the fediverse (via FEP 1b12)
  • Integration with local flagging tools (reports sent to originating server)
  • Server-wide domain blocks (allow/deny list capability)

What this release does not contain

  • Support for emoji (images are federated out, which are sometimes stripped)
  • Support for non-public notes, as NodeBB does not currently have the facility to maintain or display them. Research on this problem is ongoing.

Roadmap

Now that the alpha has been tagged and released, I will be making our working roadmap public → you can take a look at it here

I will be starting a new backlog/roadmap for beta items, and existing backlogged items will be carried over.

Final Thoughts

We wouldn't have even thought to implement ActivityPub if it were not for the funding granted to us by the NLNet foundation. They allowed us the runway to pursue the necessary R&D work, and we're pleased that everything has been pointing positively so far!

This entire time, it has been particularly satisfying to continually see the integration working on this instance (the NodeBB support forum). Expanding the reach of NodeBB beyond the confines of the "local" mindset and into the "global fediverse" mindset has been daunting, but is well worth the price of admission.

I'm happy to also say that now that we've proceeded to the alpha stage, it signifies a commitment toward a beta phase, then an RC, and then towards the release of NodeBB v4. ActivityPub has legs, and we're invested in making it work!