Skip to content

Upgrade to NodeBB v3? 2BB or not 2BB, that is the question!

Solved Configure
  • I upgraded to NodeBB v3 this week and have to be honest, so far haven’t notice much difference, except for some new problems in Admin panel sidebar!
    I actually wondered after, if I’d done it too soon and should have waited!

    I see people writing there are big changes. NodeBB team the v3 release post said there were too many improvements to list.
    So now I’ve done it I would like to know reasons why it was worth doing 🙂

    @phenomlab You wrote on the NodeBB forum ‘this upgrade is revolutionary. I’ve been playing with replicated (and really stale) data for so long’
    Can you explain what this means? What has changed in relation to ‘stale data’?
    Specifically what does the term replicated data mean, and what is different now?

  • Pandaundefined Panda has marked this topic as solved on
  • @Panda said in Upgrade to NodeBB v3? 2BB or not 2BB, that is the question!:

    You wrote on the NodeBB forum ‘this upgrade is revolutionary. I’ve been playing with replicated (and really stale) data for so long’
    Can you explain what this means? What has changed in relation to ‘stale data’?
    Specifically what does the term replicated data mean, and what is different now?

    That statement about being revolutionary is factual in the sense that the 2.x train of NodeBB used bootstrap v3 whereas the V3 train uses bootstrap v5. This isn’t feature creep - it’s a major change, and whilst not all functionality is obvious to the end user, the changes required under the bonnet are huge - almost a rewrite. The revolutionary part refers to the ability to extend the core even further than was possible before.

    My reference to replicated data meant I had taken a copy of the production database and upgraded my development environment based on that. The comment about stale data is in relation to an older copy of a production database which of course was not synchronised with the live version (which at the time was still running v2). Playing with stale data of course doesn’t give you a true picture of what your forum will look like unless you regularly refresh the development database.

    In short, the difference between the two versions of NodeBB is huge. You only need to look at the github commit log to see how much time and effort has gone into the V3 release.

    Lastly, you say you can’t see any difference - are you using Persona still, or Harmony ? The former is being sunset, so harmony is where all of the changes are taking place, which might be the source of confusion.

  • Ah, will try changing Theme to Harmony!
    Edit: Thats fixed my problems with Admin sidebar!

  • Just done it, can see many changes!
    However, my newly created custom widget doesnt show now.
    How about the unline Users pluggin, will that need reinstalling or should it carry over?

  • @Panda when you change themes, the widget positions are all reset. You just need to put them back to where you’d like them.

  • @Panda said in Upgrade to NodeBB v3? 2BB or not 2BB, that is the question!:

    How about the unline Users pluggin, will that need reinstalling or should it carry over?

    Plugins aren’t uninstalled unless you actually remove them, so no issues there.

  • @phenomlab yes my new Widget wasnt working but it had moved to ‘Draft Zone’ !
    And the Online Users HTML had moved to Draft too. So although thats a plugin it has Widget like element and stopped working on the Theme change

  • @Panda said in Upgrade to NodeBB v3? 2BB or not 2BB, that is the question!:

    So although thats a plugin it has Widget like element and stopped working on the Theme change

    Which is normal based on the widgets being reset when you change themes.


Did this solution help you?
Did you find the suggested solution useful? Why not buy me a coffee? It's a nice gesture, and a great way to show your appreciation 💗

  • Email validation NodeBB

    Bugs
    21
    3 Votes
    21 Posts
    968 Views

    @Panda said in Email validation NodeBB:

    Did you configure that as a custom change to the usual quote icon. How do you do that?
    I notice on NodeBB site its a solid blue quotes

    Yes, I changed it. NodeBB by default users the free font awesome library whereas I use the pro (paid) version SDK have access to a wider set of icons, and at different thicknesses etc. The change of colour is just simple CSS.

  • NodeBB v3 Android Problem

    Solved Configure
    4
    4 Votes
    4 Posts
    198 Views

    thank you fixed.

  • 1 Votes
    2 Posts
    160 Views

    @phenomlab

    In fact I specified the sub rep and not the rep

    DON’T DO THIS:

    nodebb@nodebbpwclonedb:~/nodebb$ sudo mongorestore --username admin --password XXXXXXXXXXXXXX --nsInclude nodebb.objects --drop /home/nodebb/nodebb_DB_20230107/nodebb/

    BUT THIS :

    nodebb@nodebbpwclonedb:~/nodebb$ sudo mongorestore --username admin --password XXXXXXXXXXXXXX --nsInclude nodebb.objects --drop /home/nodebb/nodebb_DB_20230107/

    🙂

  • 5 Votes
    13 Posts
    506 Views
    'use strict'; const winston = require('winston'); const user = require('../user'); const notifications = require('../notifications'); const sockets = require('../socket.io'); const plugins = require('../plugins'); const meta = require('../meta'); module.exports = function (Messaging) { Messaging.notifyQueue = {}; // Only used to notify a user of a new chat message, see Messaging.notifyUser Messaging.notifyUsersInRoom = async (fromUid, roomId, messageObj) => { let uids = await Messaging.getUidsInRoom(roomId, 0, -1); uids = await user.blocks.filterUids(fromUid, uids); let data = { roomId: roomId, fromUid: fromUid, message: messageObj, uids: uids, }; data = await plugins.hooks.fire('filter:messaging.notify', data); if (!data || !data.uids || !data.uids.length) { return; } uids = data.uids; uids.forEach((uid) => { data.self = parseInt(uid, 10) === parseInt(fromUid, 10) ? 1 : 0; Messaging.pushUnreadCount(uid); sockets.in(`uid_${uid}`).emit('event:chats.receive', data); }); if (messageObj.system) { return; } // Delayed notifications let queueObj = Messaging.notifyQueue[`${fromUid}:${roomId}`]; if (queueObj) { queueObj.message.content += `\n${messageObj.content}`; clearTimeout(queueObj.timeout); } else { queueObj = { message: messageObj, }; Messaging.notifyQueue[`${fromUid}:${roomId}`] = queueObj; } queueObj.timeout = setTimeout(async () => { try { await sendNotifications(fromUid, uids, roomId, queueObj.message); } catch (err) { winston.error(`[messaging/notifications] Unabled to send notification\n${err.stack}`); } }, meta.config.notificationSendDelay * 1000); }; async function sendNotifications(fromuid, uids, roomId, messageObj) { const isOnline = await user.isOnline(uids); uids = uids.filter((uid, index) => !isOnline[index] && parseInt(fromuid, 10) !== parseInt(uid, 10)); if (!uids.length) { return; } if (roomId != 11) { // 5 Is the ID of the ID of the global chat room. Messaging.getUidsInRoom(roomId, 0, -1); // Proceed as normal. } else { user.getUidsFromSet('users:online', 0, -1); // Only notify online users. } const { displayname } = messageObj.fromUser; const isGroupChat = await Messaging.isGroupChat(roomId); const notification = await notifications.create({ type: isGroupChat ? 'new-group-chat' : 'new-chat', subject: `[[email:notif.chat.subject, ${displayname}]]`, bodyShort: `[[notifications:new_message_from, ${displayname}]]`, bodyLong: messageObj.content, nid: `chat_${fromuid}_${roomId}`, from: fromuid, path: `/chats/${messageObj.roomId}`, }); delete Messaging.notifyQueue[`${fromuid}:${roomId}`]; notifications.push(notification, uids); } };
  • Podcast Share NodeBB

    Solved Configure
    15
    4 Votes
    15 Posts
    487 Views

    @cagatay You could experiment with nodebb-plugin-ns-embed but I expect the x-origin tag on the remote site to prevent playback.

  • Adding fileWrite to nodebb code

    Solved Configure
    16
    5 Votes
    16 Posts
    593 Views

    @eveh this might be a question for the NodeBB Devs themselves. In all honesty, I’m not entirely sure without having to research this myself.

  • 6 Votes
    25 Posts
    2k Views

    @phenomlab said in NodeBB vs Discourse:

    Hetzner eh ? I use them also. In fact, Sudonix is hosted in Nuremberg 👍

    yes i’m also at hetzner, i have been a customer there for years with a reseller account for domains. My VPS that I host there are also in Nuremberg 🙂

  • NodeBB Design help

    Solved Customisation
    8
    2 Votes
    8 Posts
    834 Views

    @riekmedia I’ve applied some new CSS to your site. Can you reload the page and try again ?

    For the record, this is what I added

    #footer { background: #2d343e; border-top: 4px solid #2d343e; font-size: 0.9em; margin-top: 70px; padding: 80px 0 0; position: relative; clear: both; bottom: 0; left: 0; right: 0; z-index: 1000; margin-left: -15px; margin-right: -338px; }

    The /categories page seems a bit messed up, so looking at that currently

    EDIT - issued some override CSS in the CATEGORIES widget

    <!--- CSS fix for overspill on /categories page - DO NOT DELETE --> <style> #footer { margin-right: -45px; } </style>

    That should resolve the /categories issue.