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

  • projectmoon@forum.agnos.is
    link
    fedilink
    arrow-up
    1
    ·
    8 days ago

    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?

  • eeeee@community.nodebb.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    9 days ago

    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!

    • Kichae@community.nodebb.org
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      9 days ago

      @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.

      • nutomic@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        8 days ago

        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.

        • Kichae@community.nodebb.org
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          8 days ago

          @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.

          • nutomic@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            7 days ago

            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.

  • Kichae@community.nodebb.org
    link
    fedilink
    arrow-up
    1
    ·
    9 days ago

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

    • julian@community.nodebb.orgOP
      link
      fedilink
      arrow-up
      1
      ·
      8 days ago

      @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.

  • projectmoon@forum.agnos.is
    link
    fedilink
    arrow-up
    1
    ·
    8 days ago

    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
    
  • Fitik@fedia.io
    link
    fedilink
    arrow-up
    1
    ·
    8 days ago

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