this post was submitted on 02 Jun 2025
1 points (100.0% liked)

ActivityPub

0 readers
4 users here now

Focused discussion related to ActivityPub integration in NodeBB


This is a forum category containing topical discussion. You can start new discussions by mentioning this category.

founded 5 months ago
 

It all started with a report about federation breaking between Lemmy and NodeBB. I was subconsciously aware that something was going on, but had chalked it up to network issues.

Observed behaviour showed that some remote categories would be receiving content in spurts, with long gaps in between.

I spent the next 3-4 days looking into it, but came up empty. Whatever was happening wasn't throwing any obvious errors, and along the way, I found what I thought was related (it was), but I wasn't sure why: against some Lemmy servers, the "follow"/"unfollow" mechanic would simply stop working, and this would often coincide with gaps in content. In some egregious cases, the flow of content stopped completely!

Unable to make headway, I had to reach out to the folks at Lemmy to figure out what the issue was. NodeBB occasionally sends non-200 level responses depending on the activity. Specifically, the following scenarios:

  • A remote user upvoting more than 20 posts in a single day (a spam prevention tactic) causing NodeBB to throw an error, which was caught and returned an HTTP 500 Internal Server Error.
  • A Dislike activity, which is not currently handled by NodeBB. In these cases, NodeBB would send an HTTP 501 Not Implemented

When encountering either of these responses, Lemmy would return the activity back to the queue for later delivery and mark a delivery failure. If enough of these (~40) happened within 24 hours, Lemmy would give the instance a time-out and pause delivery completely.

That was it — a quick pair of code updates later, and we started working through Lemmy's backlog of 4.1M activities.

As of 4am this morning, community.nodebb.org is no longer behind lemmy.world.

d2b3dc1c-01f3-4203-b281-2406e949667d-image.png

Fun week. Let's not do that again LOL.

v4.4.2 of NodeBB contains the updated logic for smoother Lemmy federation.

top 6 comments
sorted by: hot top controversial new old
[–] kichae@wanderingadventure.party 2 points 4 weeks ago (1 children)

These little inter-platform quirks are fascinating, and I imagine quite frustrating.

[–] julian@community.nodebb.org 1 points 4 weeks ago (1 children)

kichae@wanderingadventure.party I'm still at the point where seeing two-way federation working for real between instances is so exciting that it overrides the pain of federation 😅

[–] kichae@wanderingadventure.party 2 points 4 weeks ago

julian@community.nodebb.org Yeah, being able to treat Mastodon and Lemmy/mbin/piefed like a bulletin board continues to feel like magic.

[–] sabreW4K3@lazysoci.al 2 points 4 weeks ago

This is really cool. Thanks for sharing.

[–] Blaze@piefed.social 2 points 4 weeks ago

Thank you for sharing!

[–] julian@community.nodebb.org 1 points 4 weeks ago

nutomic@lemmy.ml let me know if I got any of the details wrong. Much thanks to your team for the assist in debugging!