Hello all!

(Sorry, I could not resist with the title :laughing:)

Today we are releasing NodeBB v4.9.0, on a Friday, toward the end of the day, because we like having our weekends ruined.

As usual, we recommend you update to this stable version of NodeBB, not least because it fixes a federation issue accidentally introduced last month.

There are a bunch of new features and usability improvements here, for both end users and admins. Federation improvements abound, as well as a few moderation upgrades. As usual, we fixed a ton of bugs, and even a couple open issues from the 2010s :scream:

Here is a list of the changes and new features you should expect to see!

:world_map: New “World” page

/world has been updated so that is closer to a feed-reader than a topic list. While I will continue to iterate on this design over time to better promote topics, I am hoping that this proves to be more accessible of an interface compared to the old topic listing.

Your watched/tracked remote categories will be listed in a sidebar (hidden behind a drawer on mobile views) for easy access.

The default view (“Latest”) continues to be a list of content from people you follow, and content shared by those same people. The other view (“Popular”) shows unconstrained content, and can include content from people you don’t follow.

:lock: Remote topics now unavailable to guests

After an Alibaba bot was recorded mercilessly scraping a lot of the public content served up by NodeBB, we decided to restrict access to that content to registered users.

While this would normally mean that “View Original URL” would stop working from other federates sites (since visitors are usually guests), we have added an exclusion to this logic that will continue to serve up the content to guests if at least one local user has commented on the topic.

:writing_hand: UX change for composer and chats

@baris worked on a number of usability fixes that make the experience of using our post composer and chat interface much better. For the longest time we had issues with the composer not properly resizing when mobile keyboards opened.

Composing and replying should work much better now that we are using the latest CSS and javascript tooling to properly detect visual viewport changes.

:bell: Better notifications

@baris also updated the notifications system so that bodyLong, which usually contains post text, is now sent with all notifications. This should increase the usability of notifications (both via web, email, or push).

:arrows_counterclockwise: Cross-posting privilege

A previous release introduced the ability to cross-post content into local categories. This functionality can now be gated behind a privilege at the category level.

:wave: Guest call-to-action

@baris introduced a new guest “call-to-action” banner that will help guide guests toward registering a new account to contribute to your community :blush:

:label: Title-less topics

As part of the changes to /world, we also allow the creation of topics without a title. If you don’t pass in a title, we will generate one for you based on the first sentence in your post. The same title generation logic was applied to remote content in the past, and now it also applies to local content.

This also means you can use the /world page to just fire off something quickly without having to do the hard work of thinking up a title. You’re welcome :laughing:

:sparkles: Opportunistic backfill

Now that the fediverse’s largest implementor, Mastodon, supports context, which enables backfill, we have implemented an opportunistic backfill feature that will check for new replies when you enter a topic. It’ll also regularly check the top most popular remote topics known by the instance for new posts.

:no_entry: Reasons

You can now set up a recurring list of “reasons”, which you can invoke on certain moderation actions. These custom reasons can be used when a user is banned, muted, or on post queue rejection.

You can set up these reasons from ACP > Manage > Users > (Gear) > Manage Custom Reasons

image (2).png

:information_desk_person: Registration queue now applies for SSO plugins

This issue, open since 2016 is finally fixed. SSO plugins don’t automatically bypass the registration queue anymore. This was a common vector for spammers to bypass registration limitations.

:bug: Additional features and bug fixes

  • An improvement to auto-installation of plugins
  • Removed many remote tids and pids stored in the db for no reason (thanks @baris)
  • A regression that caused nodebb-to-nodebb federation to fail (and possibly many others)
  • Notifications can now be passed custom icons
  • ACP privilege selector now no longer shows remote categories
  • Improvements to mentions to better handle periods at end of sentences, or names within names
  • All cached used internally are now exposed in the admin panel for better management.
  • Sitemap cache duration is now configurable
  • Infinite scrolling now works on /world
  • Slug generation errors when you mixed and matched - and .
  • Topic pruning applies to all remote cids now, not just cid -1
  • Chats list updated properly now, when new messages are received, chat messages now properly backfilled upon reconnection
  • NodeBB now federates Delete on both deletion and purge

For the full changelog, please take a look at the closed issues list for this milestone, or take a gander at the much less impressive CHANGELOG.md in our repository root.

  • panos@community.nodebb.org
    link
    fedilink
    arrow-up
    1
    ·
    28 days ago

    Unfortunately I’m still having issues in this forum. Latest still shows what seems like all posts this server receives, instead of my follows:

    5d6b5d4b-1ab9-4a4c-9f19-349ffd1a175f-image.jpeg

    Also, when I try to search for my account on another server, it shows my account on nodebb instead:

    29c627ea-9617-4693-b7cf-c8cc9e7ca4ff-image.jpeg

    5d6b5d4b-1ab9-4a4c-9f19-349ffd1a175f-image.jpeg 29c627ea-9617-4693-b7cf-c8cc9e7ca4ff-image.jpeg

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

      @panos Understood, the user searching issue is still outstanding, but the workaround for now is to not put a domain in. Searching panos or panos@ should still show your related remote accounts. Not the best workaround, I know.

      As for the former issue, are you not following lashman?

      • panos@community.nodebb.org
        link
        fedilink
        arrow-up
        1
        ·
        28 days ago

        @julian ah, “panos@” worked. Cool, as long as it’s a known issue. As for your question, no, I follow very few people, and I get new posts all the time, it’s literally like the “global” timeline in other platforms. It’s been like this for months now, and in practice it means that it doesn’t make any difference if I follow someone or not, I’ll still get every post from everyone.

        • julian@community.nodebb.orgOP
          link
          fedilink
          arrow-up
          2
          ·
          28 days ago

          @panos okay, it turns out your account (and like 5 others, me included) had started “tracking” the /world category, which didn’t really make sense. I removed that option awhile back, but the setting probably stayed behind.

          I’ve cleared that setting and manually flushed your inbox now, so you should see a more sane /world page going forward.

  • omega@community.nodebb.org
    link
    fedilink
    arrow-up
    1
    ·
    1 month ago

    Good work all!

    > @julian said: > > New “World” page > /world has been updated so that is closer to a feed-reader than a topic list. While I will continue to iterate on this design over time to better promote topics, I am hoping that this proves to be more accessible of an interface compared to the old topic listing. > > Your watched/tracked remote categories will be listed in a sidebar (hidden behind a drawer on mobile views) for easy access. > > The default view (“Latest”) continues to be a list of content from people you follow, and content shared by those same people. The other view (“Popular”) shows unconstrained content, and can include content from people you don’t follow.

    I have a vague memory I had a sense I suggested this was a challenge a bit back but I’m fuzzy without back tracking.

    So I had a look and what I see (for me) I think is just one topic that I participated in, in that “feed-reader” (is it a look?) and I saw nothing else, before was /world populated with all ActPub topics but now feed view is contextual to the user prefs/activity-state?

    Or, can you qualify this a little more the intention, for the one who hasn’t been at class for some time. When you the time of course. No rush.

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

      @omega the /world page should show content from users outside of the instance that you follow. For users starting out that would be nobody, so it’s an empty feed.

      Not exactly the best user experience, I grant you.

      Until you get some followers, maybe try the “popular” sort?

      • omega@community.nodebb.org
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 month ago

        @julian Ok thanks. You know me still trying to orientate the z axis of this, when we’ve only got the x and y to play with. I guess that’s been the challenge from the start.

        If you don’t mind me asking - What is it you were trying to achieve with this vs before?

        Ya know what problem was being solved in exchange for new ones ;)

        • julian@activitypub.space
          link
          fedilink
          arrow-up
          2
          ·
          1 month ago

          Before, you were seeing the same topics (more or less, I think the logic changed a little bit) but in a “topic list” style — like you were navigating into just another category.

          While that worked fine, the vast majority of content was microblog content that did not come with a title, so one needed to be generated.

          A topic listing with many many long titles (some of which don’t function well as titles) does not a good topic list make 🙂

          • omega@community.nodebb.org
            link
            fedilink
            arrow-up
            1
            ·
            1 month ago

            > @julian@activitypub.space said: > > Before, you were seeing the same topics (more or less, I think the logic changed a little bit) but in a “topic list” style — like you were navigating into just another category.

            Right that’s kinda of how I remember it.

            > @julian@activitypub.space said: > > While that worked fine, the vast majority of content was microblog content that did not come with a title, so one needed to be generated. > > A topic listing with many many long titles (some of which don’t function well as titles) does not a good topic list make

            I see I see… so now I see two topics listed with the new preview box style in what really is /world becasue that is all my user acc has interacted with I guess, so that would be more like /myworld but that is not really correct either is it.

            I also see that activity pub looks more like how you described previous implementation of /world and as I remember. I honestly do not know if I am correct on this point.

            So what is my point?

            I am not sure yet! :dizzy:

            • julian@community.nodebb.orgOP
              link
              fedilink
              arrow-up
              2
              ·
              1 month ago

              @omega I think in your case, because you are not following any remote accounts, your /world feed would be empty. I really wonder what you are seeing :sweat:

              I should add some redirect in there so that it automatically updates the sorting to popular, which is not limited to your followers.