Skip to content

NodeBB Development

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

2.8k Topics 18.5k Posts

Subcategories


  • Posts from the NodeBB Development Blog
    96 Topics
    779 Posts
    G
    Very Nice!
  • Found a bug? Why not make a bug report here?
    1k Topics
    7k Posts
    barisB
    Because you ran the forum without indexes you have documents that violate the index constraints. You will have to remove these documents for the create index command to work.
  • Focused discussion related to ActivityPub integration in NodeBB

    107 Topics
    2k Posts
    julianJ
    Could it be that the idea that quoted posts on forums are not rich resources (and thus liable for deletion) are an artifact of an older age of the internet, but at the same time is a feature, not a bug? 100% agreed that in a forum context the ability to quote the text of a post is important. Forum users often extend this in many ways, not limited to: Holding a user accountable (by preserving their words from future editing) Emphasis of certain portions of text Excision of unrelated portions of text Simply displaying the quoted post as a linked resource robs the end user of all that additional functionality, and that is something I am not sure I want to concede. @Christian-Stange @[email protected] @Panzz
  • Help Translate NodeBB
  • Template/logic: IF ELSE inside another IF ELSE

    3
    0 Votes
    3 Posts
    2k Views
    agarcia17A
    @Baerrus oh ok thank you
  • npm ERR! extraneous: [email protected]

    5
    0 Votes
    5 Posts
    4k Views
    BaerrusB
    I got it, now that I understand what installs redis. The way I upgrade is I create a brand new workspace, install a new version of nodebb, copy over the config.json. I think that makes sense in real deployment scenario versus executing "git pull" in place. This way I retain a fully functional prior version installation I can fall back to in a instant should something fail with a new version.
  • header.tpl changes

    3
    2 Votes
    3 Posts
    3k Views
    BaerrusB
    @baris I started working on a more SEO friendly theme/plugin. I hoped I could keep all the changes within a lavender derived theme, but I cannot. Some changes will be in the core. FOr example, server side rendered pagination. I am looking for some advice on how to coordinate making changes in a theme and core nodebb?
  • websocketAddress setting change

    1
    0 Votes
    1 Posts
    2k Views
    barisB
    This was a setting under admin>settings>sockets it has been moved to config.json. Old name was websocketAddress now its just address under the socket.io object. Sample config.json { "url":"yourforum.com", "socket.io": { "address": "", //or url to socket.io server "transports": ["websocket", "polling"] } } Relevant commit: https://github.com/NodeBB/NodeBB/commit/14e46a87a63f5e983a58a73109710027297924f3 The reason is if you put a invalid value here sockets will not connect and since the admin page uses sockets to save settings you can't change it back.
  • 0.6.0 Breaking Changes

    25
    3 Votes
    25 Posts
    16k Views
    barisB
    Updated with header.tpl changes, relevant thread https://community.nodebb.org/topic/3488/header-tpl-changes
  • Nodebb ranks poorly on PageSpeed Insights

    7
    0 Votes
    7 Posts
    3k Views
    A
    @peter setting the number of recent posts on the homepage to 0 got me my 100% usability on mobile. As it removes a lot of the padding issues that it complains about, read more being the main culprit. It's not big enough for mobile.
  • Are Chat messages ever deleted?

    8
    0 Votes
    8 Posts
    4k Views
    MegaM
    @a_5mith @Ted Thank you!
  • Widget system

    2
    0 Votes
    2 Posts
    1k Views
    barisB
    https://github.com/NodeBB/nodebb-widget-essentials/blob/master/library.js#L80-L113 Should give you some ideas, the active users widget changes behaviour based on where it is displayed, if its inside a topic it shows the poster in that topic, if its inside a category it shows recent posters in that category etc. widget.area.url gives the url of the page the widget is in.
  • Simple tags

    8
    0 Votes
    8 Posts
    121k Views
    A
    @h_kirk said: I see the predicament. Nasty job to generalize that problem Strtolower solves 100% of issues.
  • Administration translation at transifex?

    2
    0 Votes
    2 Posts
    2k Views
    julianJ
    @priapo At present, it's lower priority, as it's much easier to maintain the templates for NodeBB when they are all in English. However, if there is a need for it, then we will consider the demand when prioritising our tasks
  • config.json cluster change

    5
    2 Votes
    5 Posts
    8k Views
    wzrdtalesW
    Finally the pull request is open https://github.com/NodeBB/NodeBB/pull/2527. I'm out for today guys, hope you get everything. If not just ask, gn8.
  • Possible to catch custom socket messages in a plugin?

    6
    0 Votes
    6 Posts
    2k Views
    julianJ
    @riteshsanap A bit of a hint can be found here
  • hot deploy of plugins?

    2
    0 Votes
    2 Posts
    1k Views
    A
    @Macrow-Willson said: Hi, just checkin in, I know Node can be quite clumsy in that matter and I am wondering how to deploy plugins on the production server, do i need to restart the entire instance? thank you! Just reload NodeBB from the ACP. Does the same thing, but doesn't take the site offline.
  • Invalid CSRF token

    8
    0 Votes
    8 Posts
    7k Views
    mootzvilleM
    I figured out my issue... MongoDB user I was using had a readWrite role, but I guess it needs the dbAdmin role as well. When I tried creating a new user in the nodebb admin area, then it would make things go wonky without the dbAdmin role and result in invalid csrf tokens.
  • This topic is deleted!

    Locked
    9
    0 Votes
    9 Posts
    56 Views
  • New Settings Framework

    7
    3 Votes
    7 Posts
    3k Views
    frissdiegurkeF
    @BDHarrington7 If you're referring to the master-branch the problem is that you cache the value of var userExt = settings.get('strings.extensions'); (and some further operations) once at plugin-start and don't refresh those values after settings.sync(); (within a callback). So you need to re-calculate the regex variable within a callback for settings.sync.
  • Lavender Theme: auto append new topic feature

    3
    0 Votes
    3 Posts
    2k Views
    agarcia17A
    ohhhh ok, got it! thanks @baris
  • nodebb-plugin-homepage-api: Getting content of mainPid?

    2
    0 Votes
    2 Posts
    2k Views
    agarcia17A
    nvm, I got it working. I was confused how async.each() worked..! here's what I ended up with: function getMainPost(topics, callback) { posts.getPostFields(topics.mainPid, ["content"], function (err, data) { topics.content = data.content; callback(null); }); } function getRecentTopics(category, callback) { categories.getCategoryTopics(category.cid, 0, parseInt(category.numRecentReplies, 10), uid, function (err, data) { var topics = data.topics; category.topics = topics; category.topic_count = topics.length; async.each(topics, getMainPost, function (err) { callback(null); }); }); } async.each(categoryData, getRecentTopics, function (err) { next(err, categoryData); });
  • middleware.admin.isAdmin is not needed

    3
    0 Votes
    3 Posts
    1k Views
    julianJ
    @pitaj Yes, isAdmin() is the middleware, whereas isAdministrator is the library method. They are functionally similar, except the middleware handles redirecting the user to 403
  • Security logging?

    3
    0 Votes
    3 Posts
    2k Views
    D
    Yeah, events.js seems like it should contain the functionality for this. It currently only logs UID, but a lot of those functions should probably log the IP of the triggering party as well. It seems like the only way to do that is to have IP be a parameter for most of those calls. That's a little tedious. my fantasy: events are logged to the db as well as flatfile, have severity/importance levels, contain as much info as possible about who triggered it if the logging fn is passed a socket or request object, there's hooks for events of high severity, by default sends email or notification to admins when high-sev occurs