Skip to content

NodeBB Development

Stay tuned here to hear more about new releases and features of NodeBB!

3.5k Topics 22.2k Posts

Subcategories


  • Posts from the NodeBB Development Blog
    96 Topics
    778 Posts
    julianJ

    Occasionally, we will get asked whether there are any differences between our hosted service and the open source project.

    It is as though we are holding back some great features and only allowing our paying customers access them! Conversely, it could be assumed that because we are hosting the software for others, that we would somehow out of self-interest or for economic reasons, deliver an inferior version with limitations.

    I'd like to say upfront that this is not the case for NodeBB.

    When you use our hosted service, you receive the same great NodeBB software that you can get for free off of our GitHub repository.

    What we're selling is support, maintenance, upgrades, and peace of mind delivered by our world-class† support team.

    You definitely can host NodeBB on your own! We've strived for years to deliver a piece of software that runs lean and fast on minimal hardware, great docs (some contributed by other admins!) that help you get up to speed quickly, and a fantastic community that will help you if you get stuck.

    The reason I take this principled stand is simple — I think it's unfair when artificial limitations are placed on software just for the purpose of getting customers to pay more.

    We've seen all this time and time again:

    You can't install any plugin you want, just a select few from a small list You can only have X units (tickets, posts, etc) of whatever you're using You can only have X admins/owners You can't see any messages older than X days

    These limitations are all artificial, and serve to restrict the use of something to the bare minimum. Anything extra is — of course — available for the right price.

    We don't do that. We tell everybody that NodeBB is powerful enough to run huge communities, and we stand by it. We tell everybody that NodeBB is flexible enough to look and function however you want, and we stand by it.

    These are the real limitations we impose on our hosting service:

    Hard drive space for uploads are imposed by our upstream provider and are set, though we are happy to add additional drive volumes for a fee) We have soft "pageview" limits that any user on our hosting can exceed (in fact, many do). We set them purely as a benchmark for the point at which your NodeBB may slow down depending on the type of load that you get, and encourage dialogue to make sure that you're on the right plan (server resources, etc.) We do not allow shell access for security reasons (and if you needed it, you probably could self-host)

    So please do rest assured when I and others tell you that what you see is what you get. No more, no less. I'd rather everybody get to use the best of NodeBB, instead of serving a special feature-reduced version for others.

    † I'm going to go out on limb here and say that we're probably the most qualified people to maintain NodeBB. Feel free to disagree 😉

  • You have a cool idea about NodeBB? Post it here.

    805 Topics
    5k Posts
    赵帅更

    Is anyone using WeChat to scan and log in? The plugin seems to be malfunctioning. Does anyone have a solution? Thx.
    Plugin: https://github.com/NodeBB-China/nodebb-plugin-sso-wechat-web

  • Found a bug? Why not make a bug report here?
    1k Topics
    7k Posts
    barisB

    Created an issue https://github.com/NodeBB/NodeBB/issues/12474

  • Focused discussion related to ActivityPub integration in NodeBB

    43 Topics
    492 Posts
    julianJ

    @[email protected] @[email protected] indeed, four different implementations is not ideal. We're at the point where they're all vying for attention.

    Would need to weigh pros and cons of each and see whether there is one winner we can all agree on.

  • Help Translate NodeBB
  • Image upload plugin in nodebb 2.x

    4
    0 Votes
    4 Posts
    361 Views
    oplik0O

    More specifically, the issue is that it defines a static directory in plugin.json:

    "staticDirs": { "s3": "public" },

    But doesn't have it.

    It seems to be an artifact of people forking and updating it without fully understanding what exactly it was doing - looking back at some history at some point someone moved the templates from public/templates to just templates/ and apparently NodeBB wasn't enforcing that directories have to exist at that point, so it wasn't noticed and all future forks inherited this bug.

    NodeBB is IMO doing fine here - a lack of directory a plugin declared to have might suggest some issue with the installation or the plugin itself (for example a typo in a path). A plugin incorrectly declaring something it doesn't use can't really be distinguished from these issues.

    Also, @julian while .gitignore works, I feel like it's a bit of abuse of that feature and the name is misleading (upon seeing a directory with .gitignore my first thought would be that something is supposed to go there but will be ignored. And I feel without knowing much about git I might've assumed it meant the whole directory would be ignored by git - the opposite of what it actually does). I personally prefer the convention of using an empty file named .gitkeep (or just .keep), since it more obviously refers to keeping the directory and wouldn't have any other potential impact on files included by git.

    EDIT: TL;DR of the issue:
    why would nodebb do this

  • 3 Votes
    1 Posts
    202 Views
    julianJ

    Hello all,

    We are notifying you today about a security vulnerability that was present in older versions of NodeBB. We were notified of these vulnerabilities on 25 May 2022, and have patched and released fixed versions of NodeBB, v2.0.1 and v1.19.8, three days later, on 28 May.

    The specifics of this vulnerability are available upon request, but they are considered critical and affect the security of any site running an affected version of NodeBB. Admins are urged to upgrade to these patched versions as soon as possible.

    Alternatively, the following changesets can be cherry-picked into your installation of NodeBB in lieu of a full upgrade:

    v2.x https://github.com/NodeBB/NodeBB/commit/e802fab87f94a13f397f04cfe6068f2f7ddf7888 v1.19.x https://github.com/NodeBB/NodeBB/commit/81e3c1ba488d03371a5ce8d0ebb5c5803026e0f9

    As always, the NodeBB team is available at your disposal to answer any questions or provide assistance in implementing these changesets.

    For more information on the security vulnerability, please visit the GitHub Security Advisory page for this disclosure
  • This topic is deleted!

    5
    0 Votes
    5 Posts
    50 Views
  • 0 Votes
    2 Posts
    311 Views
    julianJ

    @syedasad not out of the box, no. It sounds like you'd need a custom plugin to modify the topic visibility privileges on the fly based on whether the topic is the most recent X topics.

    Feel free to reach out to us for a quote on this kind of custom work 🙂

    [email protected]

  • Getting Reviewer-role in Transifex

    3
    2 Votes
    3 Posts
    357 Views
    cagatayC

    @Livar-Bergheim lets do it bro 🙂

  • Move theme's navigation

    6
    0 Votes
    6 Posts
    560 Views
    julianJ

    @田恩睿 It's probably better to keep the menu where it is, or at least in that file, but play around with the structure and CSS to have a left-side menu.

    Right now it is pinned to the top using .navbar-fixed-top

  • Deploy nodebb to docker

    4
    0 Votes
    4 Posts
    574 Views
    julianJ

    @姬清 any logs?

  • v2.0.0-beta.0 prerelease now available

    Moved
    6
    9 Votes
    6 Posts
    2k Views
    E

    Even the mobile version experience keeps being chaotic on this v2 beta im so glad the development is alive and having a big update like this v2 is nice news

  • 2.0.0 Breaking Changes

    3
    1 Votes
    3 Posts
    1k Views
    PitaJP

    @girish there may be something wrong with your dns. I can access that link just fine.

  • Integrating NodeBB in a CMS

    2
    0 Votes
    2 Posts
    405 Views
    julianJ

    @JoeCaleb likely not the ideal candidate. NodeBB is designed to be a standalone web resource, co-existing alongside another side on a subdomain or subfolder.

    You could customize a theme to match the look and feel of your main site – that's what we do here. The header and footer are dynamically retrieved from NodeBB.org

    See nodebb-theme-community to learn how it is done.

  • Creating multiple admins

    1
    0 Votes
    1 Posts
    200 Views
    R

    Re: Creating multiple Node BB Admins but with limited access to ACP

    @PitaJ , how can we create multiple admins? Can we assign a user as admin in Dashboard, please let me know.

  • Navbar autohiding configuration in Persona

    3
    1 Votes
    3 Posts
    375 Views
    S

    @julian Hi Julian, After some thought I guess I would like to go even further and am wondering how to "pin" the navbar, as well as the topic bar so that they scroll completely normally like the rest of the page. Would this be doable? Thank you in advance. for your advice.

  • How to modify a Bootswatch skin?

    3
    0 Votes
    3 Posts
    354 Views
    zhivkoangelovZ

    @pitaj
    Thanks for the quick reply.
    Well, the modifications are small (mainly change in colors and fonts) but have to be applied to many classes. And the UI/UX guy who will make it is not familiar with NodeBB but is familiar with Bootstrap.
    With this context in mind, do you still advice doing the changes as Custom CSS (I guess you mean using the option in the Admin panel) ?
    Sorry, if my question may sound stupid but I have a short experience with NodeBB and mainly with the API part...

  • Why isn't email required anymore?

    9
    3 Votes
    9 Posts
    903 Views
    gotwfG

    @julian said in Why isn't email required anymore?:

    There were two issues with this:

    Incorrect emails would bounce, causing reputation issues over time

    I run my own mail server and my forums are "small" so the bounces land in my queue/spool and are not a real problem. I see how this could cause significant grief otherwise, especially on larger forums.

    I also use IsTempMail, which seems pretty effective on its intended targets. I wonder how many others do? Been a while since I played with those knobs but iirc, it was pretty painless to set up.

    NodeBB prior to this change would allow any email to be entered, even other peoples' emails. A lot of sites do this, and it's not necessarily something we should guard against, but I personally find it really annoying when someone uses my email to sign up for random sites.

    Hard nut to crack, this one. Maybe add a disclaimer to the welcome message along the lines of "Somebody, hopefully you, used this email address to register for our community at URL. If this was not you we apologize for the inconvenience."? 🤔

  • 0 Votes
    2 Posts
    311 Views
    julianJ

    @raj-0 https://community.nodebb.org/post/86615 duplicate, locking.

  • 0 Votes
    2 Posts
    324 Views
    julianJ

    @subesh-s Have you tried using the login utilities route in the write API? It should send back a valid session cookie.

  • 0 Votes
    4 Posts
    613 Views
    magnusvhendinM

    @julian Okay, I'll do that. Thanks!

  • 1.19.0 Breaking Changes

    9
    2 Votes
    9 Posts
    2k Views
    barisB

    Tags allow % character now, themes will need to be updated to use tags.valueEncoded instead of tags.valueEscaped
    https://github.com/NodeBB/NodeBB/issues/10135

    See changes in persona to update your custom theme https://github.com/NodeBB/nodebb-theme-persona/commit/6aada9127865ddc1cbaf8cd5f548ebc78f7bf90a

  • CTRL-F code search

    3
    0 Votes
    3 Posts
    326 Views
    barisB

    https://github.com/NodeBB/NodeBB/issues/10143

  • 0 Votes
    1 Posts
    223 Views
    S

    every under section, i want to store every category in a seperate <ul/> list
    This is what i currently have, and there are 2 problems:

    all content disappears from the categories, and a bunch more appear for some reason (no clue why this is happening: https://i.imgur.com/pNIGH2v.png)

    not sure how to repeat this loop until section category is reached (forgive my poor logical thinking :D)

    categories.tpl: (nodebb-theme-oxide)
    https://i.imgur.com/Hqyu3zm.png

    https://i.imgur.com/MLpqvY1.png

    https://i.imgur.com/Nw6DHyk.png