Updates to the world page

tl;dr — you can now find remote categories and see your tracked/watched categories in /world.

A new alpha version of NodeBB was tagged today: v4.3.0-alpha.3. The biggest change is to the /world route, which up until now showed a list of topics from outside of the local NodeBB instance.

New to this alpha release:

  1. A quick search widget was added, allowing you to directly search for remote categories. There is no need to navigate to to the search page to discover new categories.
  2. Your list of tracked and watched categories will show at the top of the page.
    • "Tracking" and "Watching" categories—both local and remote—is how content discovery happens in NodeBB. Tracked categories will have new content show up in the "unread" page, while watched categories take that a step further and notify you when new content is posted.
    • Tracking and watching a category will tell NodeBB to subscribe to that remote community for updates

At this time we're continuing to look for stability issues with the remote category integration. We'll be working on QoL fixes as we move into the beta phase this/next week.

60bd030a-7626-4629-9ac4-8ddd2bd34f3f-image.png

0a11627f-65cc-477b-8c33-49f1ea6de53f-image.png

6 Likes

This is incredible, Julian. I'm legitimately kind of stunned by this, how well it's working already, and how quickly this got refactored.

1 Like

This looks good.
Just my thoughts on Lemmy, I have various issues with it not federating well to various site at times. I mention this only if you encounter testing issues with Lemmy, more likely the issue is their side.
It has some good features but its frustrating as the instance I use appears to have bugs!

@eeeee Yeah, Lemmy is rougher at the edges than it looks sometimes. Part of the issue, I think, is that older versions of the software don't parallelize federation, so the queues can get way backed up. I've also just had follow requests from nodeBB dropped at an unusually high rate, which makes me think that Lemmy is doing things internally to compensate for some of the sharp edges of federation.

Does this refactoring also include changes to the synchronization of local + remote categories? Or is it still trying to follow Group actors as a Group, which Lemmy does not like?

And how it works with PieFed ? :)

Very cool ! That's amazing :D

1 Like

I've successfully managed to find and track https://sh.itjust.works/c/localllama from my instance. But when I try, for example, https://lemmy.world/c/technology, I can't find anything. These Lemmy communities DO, however, show up as users on my NodeBB instance. Is there something I'm doing wrong? I tried going directly to /category/@technology@lemmy.world too.

@projectmoon@forum.agnos.is have you tried navigating directly to the url without the preceding @? It isn't required (for NodeBB).

In cases where the category is currently a user, you'll have to put the whole handle into the search box and execute the search, the category will then be migrated from the user.

1 Like

Not specifically that URL, no. Now I just tried it. It resulted in a deadlock in Postgres. :smile:

2025-04-08T12:42:10.933614676Z 2025-04-08 12:42:10.933 UTC [32590] DETAIL:  Process 32590 waits for ShareLock on transaction 35424413; blocked by process 32626.
2025-04-08T12:42:10.933621228Z 	Process 32626 waits for ShareLock on transaction 35424434; blocked by process 32590.
2025-04-08T12:42:10.933624695Z 	Process 32590: 
2025-04-08T12:42:10.933626920Z 	INSERT INTO "legacy_object" ("_key", "type")
2025-04-08T12:42:10.933629244Z 	SELECT k, $2::TEXT::LEGACY_OBJECT_TYPE
2025-04-08T12:42:10.933631398Z 	  FROM UNNEST($1::TEXT[]) k
2025-04-08T12:42:10.933633432Z 	    ON CONFLICT
2025-04-08T12:42:10.933635396Z 	    DO NOTHING
2025-04-08T12:42:10.933637329Z 	Process 32626: 
2025-04-08T12:42:10.933639423Z 	INSERT INTO "legacy_object" ("_key", "type")
2025-04-08T12:42:10.933641588Z 	SELECT k, $2::TEXT::LEGACY_OBJECT_TYPE
2025-04-08T12:42:10.933643603Z 	  FROM UNNEST($1::TEXT[]) k
2025-04-08T12:42:10.933645586Z 	    ON CONFLICT
2025-04-08T12:42:10.933647519Z 	    DO NOTHING
2025-04-08T12:42:10.933654783Z 2025-04-08 12:42:10.933 UTC [32590] HINT:  See server log for query details.
2025-04-08T12:42:10.933656978Z 2025-04-08 12:42:10.933 UTC [32590] CONTEXT:  while inserting index tuple (6227,69) in relation "legacy_object"
2025-04-08T12:42:10.933659042Z 2025-04-08 12:42:10.933 UTC [32590] STATEMENT:  
2025-04-08T12:42:10.933660966Z 	INSERT INTO "legacy_object" ("_key", "type")
2025-04-08T12:42:10.933663000Z 	SELECT k, $2::TEXT::LEGACY_OBJECT_TYPE
2025-04-08T12:42:10.933664863Z 	  FROM UNNEST($1::TEXT[]) k
2025-04-08T12:42:10.933666666Z 	    ON CONFLICT
2025-04-08T12:42:10.933668430Z 	    DO NOTHING

After restarting NodeBB, I can load the category, though. Maybe some deadlock on initial import of the community.

1 Like

:grimacing:

Great to see! Existed to see better interoperability between Threadiverse software! Well be cool to see NodeBB users posting in Lemmy/Mbin/Piefed communities

I just realized that while we now have the ability to browse and follow remote communities, we don't have a page listing communities ordered by popularity or recency... time to add to my ever expanding list 😩

4 Likes

Is it also possible to add remote communities to the main forum list? Or merge them into existing local categories?

Right now you're able to add remote categories to your world page. It's possible that we could allow admins to add remote categories to the forum index, although that'd be something we add later on.

I'm seeing issues with loading remote categories. I can't load the NodeBB bug reports category at all, and for the ActivityPub category, I can find it in my world category search, but I get a 404 when trying to load it. Also can't load general-discussion@community.nodebb.org for example.

It seems the NodeBB development board is the only one really federating for me. Any way I can solve this?

I am running beta2 of 4.3.0.

@projectmoon@forum.agnos.is hmm... could be a bug in the user migration code path.

Can you run your forum in dev mode (./nodebb dev) and try to load some of the categories here in your forum, and let me know if you see any errors in the console?