Updates to the world page

submitted by

community.nodebb.org/assets/uploads//files/1744…

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

15

Log in to comment

15 Comments

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

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

Very cool ! That's amazing :D

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.

What exactly do you mean with parallel federation and queues backed up? There is such a feature but only a single case that requires it, which is federation from lemmy.world to aussie.zone. NodeBB wont be affected by that.

@nutomic@lemmy.ml Mostly what I've observed is significant instances of timing out when trying to find communities on new instances from non-Lemmy-based websites, something that hasn't been notable from Lemmy-to-Lemmy first encounters. From the outside, it points to y'all doing some kind of compensation for possible AP issues.

I know I said "Lemmy is rough around the edges", but I really meant "ActivityPub is rough around the edges". Lemmy's just the hegemon in the AP categorized content space.

In principle that sounds like a problem with NodeBB or other platforms you are using. Lemmy doesnt do anything special to fetch remote communities. But if you notice any error responses served by Lemmy you can open an issue.

And how it works with PieFed ? :)

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

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.

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

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?