Skip Navigation
See you at FOSDEM!
  • @nhl.pl je ne pas parlez francais šŸ˜¬

  • See you at FOSDEM!
  • @m_f@discuss.online good question! The threadiverse can be considered that software, plus other threaded-style software like NodeBB and Discourse. The working group includes members from most of those, in an effort to promote our own priorities forward to the fediverse at large šŸ™‚

  • See you at FOSDEM!

    NodeBB will be making an appearance at this year's FOSDEM!

    I'll like be present at the Social Web dev room during FOSDEM itself, and will be presenting a talk at the Social Web After Hours event alongside @darius@friend.camp, @pfefferle@mastodon.social, and @j12t@j12t.social at Hackerspace Brussels (HSBXL), on Sunday evening.

    I'll be talking up the SWICG Forum and Threaded Discussions Task Force, and what we're working on to solve one of fedi's hard problems: combating the notion that "the fediverse is quiet". Come and listen!

    Thank you to the great folks at @ngizero@mastodon.xyz, who have kindly funded my way there this year.

    4
    NodeBB at HN
  • @rsolva HN should federate so I can respond to the comments here šŸ¤£

  • Is ActivityPub too complicated?
  • @Kichae I'm not seeing an issue (although I haven't done exhaustive testing) between my test instance and this site.

    Can you let me know one of your federating categories, so I can try to set up a sync?

  • Detecting spam content that is not overtly so

    In another thread, @puppygirlhornypost2@transfem.social talks about challenges regarding proliferation of spam (or other unwanted content) on the fediverse:

    > ... I was talking about reddit's "posts require approval" mode. Something that might be of use for new accounts registering on pixelfed instances to prevent things like gorespam from occurring.

    NodeBB has the post queue (our name for it), and it works really well to stop drive-by spammers. Most cheap spam is easily identified as such, and it's only a couple clicks to send them to /dev/null.

    More recently, and especially since we've been federating posts outward, we've started encountering possibly LLM generated content entering our post queue. It could be that these accounts are legitimate users creating an account to respond to remote content, but it's equally likely that they're attempting to create plausible content in order to pass validation, before proceeding to post spam.

    At least here on community.nodebb.org it's trivial to discover, because this forum is for NodeBB support/discussion, and a post out of the blue responding to a post about Trump or Israel/Palestine is very obviously not meant to be on this forum, although it's definitely one of those "hard problems" for more general instances.

    0
    NodeBB v4.0.0 ā€” Federate good times, come on!
  • @projectmoon@forum.agnos.is careful with that though, not all tags are the same, some have a higher signal-to-noise ratio, but others would just be filled with garbage šŸ˜¬

  • Test from Lemmy to NodeBB
  • @projectmoon@forum.agnos.is yes, Lemmy has a local representation of this category, and sends the post here. I see that it's addressed to the category and automatically slot it in

  • NodeBB v4.0.0 ā€” Federate good times, come on!
  • @projectmoon@forum.agnos.is thanks for the suggestion, that's definitely something I'd want to consider.

    Sort of a post queue for federated content that needs automatic or manual review before it is automatically slotted in a category.

  • NodeBB v4.0.0 ā€” Federate good times, come on!
  • @projectmoon@forum.agnos.is

    1. Is currently outstanding: https://github.com/LemmyNet/lemmy/issues/5354

    2. You should be able to do this, although I may have to double check the logic. There have been reports that it is not working as expected.

  • Is ActivityPub too complicated?
  • @arachnibot@nodebb.arachnibot.com said in Is ActivityPub too complicated?: > Mainly wanted to sync remote group actors to a category for organizational purposes.

    Yeah that's a great use case, and definitely what it ought to be used for. Let me look into nodebb-to-nodebb folllowing, that definitely should be working!

  • Is ActivityPub too complicated?
  • I opened an issue on Lemmy's repo

    https://github.com/LemmyNet/lemmy/issues/5354

    The thing is, what is the actual end-result you're looking for? It sounds like you want stuff from a remote lemmy community to be sent to your NodeBB. If that's the case, you could just follow the community as a user. Search for technology@lemmy.ml (for example) in the search bar, and once you follow the community, you will start seeing those posts in your /world feed.

    The category synchronization options are for if you want to see a Lemmy community's posts in a category of your own. Might be that's what you want too.

    But at present Lemmy doesn't support it :)

  • NodeBB v4.0.0 ā€” Federate good times, come on!
  • @phenomlab @cagatay long story short, it works, but this community is running NodeBB v4.1, which is slightly different. Should all work fine once v4.1 is released and everybody updates.

  • Is ActivityPub too complicated?
  • The logic is a little tricky to get right because there's a set sequence of steps that needs to happen in order for the group sync to succeed.

    For example, between NodeBB and Lemmy:

    1. NodeBB admin tries to follow a Lemmy community
    2. NodeBB marks the follow as pending
    3. Lemmy records NodeBB as a follower
    4. Lemmy community tried to send an Accept back
    5. NodeBB marks the follow as established.

    If steps 1-3 succeed but 4-5 fail, then posts might be sent to NodeBB, but NodeBB will silently drop them because they're not addressed to anyone it thinks is following the sender.

    @freamon thanks for the heads up about lemmy's accept shenanigans, I'll take that into account... or maybe ask Felix about it.

    @arachnibot @FrankM

  • Is ActivityPub too complicated?
  • @arachnibot happy to take a closer look, since the category sync functionality should be working but might have broken in the interim during development.

    Can you let me know the Lemmy community you're trying to follow from your instance?

  • Test from Lemmy to NodeBB
  • @scott@loves.tech looks like you found a bug!

  • Test from Lemmy to NodeBB
  • @scott@loves.tech just mention the category actor in a new post and NodeBB will associate it with the category šŸ™‚

  • User Agent Used for Federation?
  • @tankerkiller125 @andrew@pythag.net NodeBB will report the hostname in the next version.

  • NodeBB v4.0.0 ā€” Federate good times, come on!
  • @phenomlab@sudonix.org are you going to just reply remotely from your forum from now on šŸ¤£

  • NodeBB v4.0.0 ā€” Federate good times, come on!
  • @freamon you got it all!

    In addition, at least on NodeBB, when you tag someone remotely, the full handle appears (e.g. @nodebb@fosstodon.org)

    You can tell local users from remote users in topics because they don't have a status (online, away, dnd, etc.)... They just have a little :globe_with_meridians: icon next to their avatar.

  • We made it into TechCrunch!

    It might've taken us ten years, but we finally made it into TechCrunch :flushed: ā€” thanks @sarahp@mastodon.social for the great writeup!

    https://techcrunch.com/2025/01/21/forum-software-nodebb-joins-the-fediverse/

    Next step, maybe they'll let someone write an article about us on Wikipedia.

    3
    NodeBB v4.0.0 ā€” Federate good times, come on!

    Today's the day! :tada:

    After nearly a full year in development, NodeBB v4.0.0 has landed, bringing federation between NodeBB instances (and a connection to the wider fediverse of social media) to forum software.

    Fedi-what?

    Fediverse! Here's a TechCrunch primer about it, but at the end of the day, it doesn't really matter. All you need to know is that NodeBB plugs in to a wider social network so that you don't have to cultivate an audience, they're already there.

    The genesis

    It was back in mid-2023 when I had the initial idea of interconnecting NodeBB forums. Back then, I had far smaller ambitions... I wanted a singular NodeBB to be able to communicate with other forums running NodeBB. To do that, we'd need to build out a centralized service to act as a bridge between instances, and corresponding slim clients on individual installs to consume the relayed data. At the time, concept like decentralization were not even part of my thought process.

    It was during this period when I was doing my research that I stumbled on Mastodon, and later, ActivityPub, the protocol that powers it all. Since then, it's been one wild ride getting NodeBB to speak the same language.

    Funding

    Soon after dipping my toes into all that Mastodon had to offer, I discovered the NLNet Foundation, and their corresponding fund ā€” NGI Zero Core. With the promise of funding, NodeBB could fully commit to implementing the protocol in short order, instead of piece by piece over time. We sent in an application and were delighted to be approved for the August 2023 call.

    Their funding was instrumental in providing the financial stability to experiment with ActivityPub and to participate in developer circles, such as the SWICG, FediForum, and much more.

    The fund continues to operate, perhaps you could benefit, or donate to the cause. It has certainly made a difference to NodeBB.

    Federate, or not, it's your choice

    NodeBB v4 comes shipped with the capability to interact with other NodeBB forums and any other ActivityPub-speaking software, right out of the box. We opted to make this a core feature instead of a plugin, since there were many changes made to core to support even the concept of accepting content from outside itself.

    To that end, any users upgrading from v3.x will automatically have federation disabled, in order to reduce surprise. Any new forums will federate automatically.

    You can turn federation on and off (and adjust some other fun toggles) directly from ACP > Settings > Federation (ActivityPub).

    Even after turning federation on, how you use it shapes how well connected you will be. There is no centralized authority artificially boosting your content, so the name of the game is establishing two-way follow relationships to other sites.

    The ActivityPub Equalizer

    We're not alone in this journey to interoperate with other decentralized services. We're not even the only forum software to attempt to do so.

    • Discourse has a working plugin.
    • Ghost is building out in the open.

    I specifically highlight these two because they both started in the early 2010s, same as NodeBB. It's always been a bit of an informal competition between us, and we always checked in on what the others were doing (growth-wise, pricing-wise, etc.) Truth be told, I don't think the ghost team ever really noticed NodeBB, but I digress...

    The funny thing about ActivityPub is that at the end of the day, the overarching goal of seamless communication breaks down any barriers between competing organizations.

    NodeBB and Discourse have been vying for the exact same market share (forums, community-building, self-started or enterprise) for over 10 years, and it was only after ActivityPub came around that the dev teams even started talking to one another.

    Funny how that works.

    So how does it all work?

    Our documentation portal has been updated with the latest information about the ActivityPub functionality in v4.

    If you have any questions about how it works or how to configure some aspect of it, please don't hesitate to reach out in the corresponding v4 support thread.

    If you run NodeBB, the quickest way to see this in action is to upgrade to v4, and then paste this post's URL into your search bar. It should show up automatically, and you should be able to read and reply to it, directly from your own forum. Neat!

    43
    julian julian @community.nodebb.org

    Co-Founder (NodeBB) | Husband šŸ¤·ā€ā™‚ļø and Dad šŸ™‰ to three | Rock Climber šŸ§—ā€ā™‚ļø | Foodie šŸ„™ | Conductor šŸŽµ | Saxophonist šŸŽ·

    āœ… Small teams craft better code. šŸ—Øļø Federating NodeBB with funding from NLNet ā™„ļøšŸ‡ŖšŸ‡ŗ

    Posts 4
    Comments 21