February Update on ActivityPub Development

Hello everybody!

It's dark and miserable outside, on account of it being rainy in my little corner of Canada, but in this little corner of the fediverse, there are some definitely exciting things happening!

Wait, what's the fediverse?

Last month I provided an update on the work I've been doing in 2024, which is a long-running project to bring ActivityPub integration into NodeBB. A more thorough overview of ActivityPub can be found in the first announcement announcing the green-light from the NLNet Foundation.

Today marks the day that our community forum connects to the fediverse. We've updated the code and switched over to the activitypub branch, and enabled federation on two categories, the NodeBB Development category (which is read-only for everybody but NodeBB staff), and the Testing Ground, which is meant for content of no consequence.

It also means that henceforth any bugs discovered are public and I'd be on the hook to fix them post-haste 😅

We're doing this gradual rollout not only because I'm quite excited to share what I've achieved so far, but also because I'm developing in public and it's important to gather feedback as early on as feasible.

It also means that — barring some crazy regression causing me to roll everything back — I'll be providing development updates on this account instead of my personal (@devnull).


So, what works, and what doesn't?

  • User-specific topic lists and the global topic list
    • If you navigate to /world, you'll be brought to your custom topic list of remote content, of which there won't be any unless you start following some users
  • Bi-directional user follows
    • You are able to follow a remote user from within NodeBB by navigating to their profile. Doing so at this time is rather difficult, see below.
    • Likewise, people outside of NodeBB can follow you from sites like Mastodon, Pixelfed, kbin, etc. simply by searching for your username.
    • Your "handle" is your username followed by @community.nodebb.org.
  • Bi-directional federation of content
    • Topic and replies posted to this category and the testing ground will be automatically propagated out to your followers (if any), and responses to that content from outside of NodeBB will show up here.
  • Propagation of likes to the local NodeBB
    • Likewise, if your post is liked by someone outside of NodeBB, it will be reflected in the topic
  • Announces (aka "Boosts")
    • If your post is "boosted" or shared by someone outside of NodeBB, there will be a notification within the topic.

No update would be complete without a list of what doesn't work, so here goes...

  • Finding remote content and users
    • Discoverability of remote content is currently quite limited. You are not able to search for content outside of the local NodeBB, but this will be worked on in due course.
    • You are currently able to navigate to remote profiles by manipulating the URL (e.g. NodeBB's fosstodon profile: https://community.nodebb.org/user/nodebb@fosstodon.org
  • Emoji
    • If you're reading this from outside of the NodeBB community forum, you won't see the emoji I put in the post... yet 😅
  • Mentions
    • @oplik0 is planning to work on integrating mentions, but that is currently at the to-do stage
  • Notifications
    • When a remote user interacts with you (e.g. upvotes, replies, and follows), you currently aren't notified
  • ... plus about a thousand other things.

There's a huge amount of work to do still, but we'll be seeing a more featureful integration in the coming weeks/months.

Also, there is a non-zero probability that when I hit post, this will cause the NodeBB community to crash.

So... here goes... 3... 2... 1...

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • rosin
  • thenastyranch
  • osvaldo12
  • cubers
  • InstantRegret
  • DreamBathrooms
  • cisconetworking
  • magazineikmin
  • Youngstown
  • Durango
  • mdbf
  • slotface
  • ngwrru68w68
  • kavyap
  • JUstTest
  • tacticalgear
  • modclub
  • khanakhh
  • anitta
  • ethstaker
  • tester
  • everett
  • GTA5RPClips
  • normalnudes
  • megavids
  • Leos
  • provamag3
  • lostlight
  • All magazines