Skip to content

NodeBB Development

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

2.8k Topics 18.6k Posts

Subcategories


  • Posts from the NodeBB Development Blog
    96 Topics
    780 Posts
    kainosK
    Very good Vlad. I am Vladislav.
  • Found a bug? Why not make a bug report here?
    1k Topics
    7k Posts
    julianJ
    @elkd Running ./nodebb build is an interactive command that outputs the build state in real-time. Can you paste the log output from running that command?
  • Focused discussion related to ActivityPub integration in NodeBB

    111 Topics
    2k Posts
    trwnh@mastodon.socialT
    @scott the thread drifted a lot from “showing software icons” to “interoperability is the goal of software” to me disagreeing with that last bit
  • Help Translate NodeBB
  • Is this correct

    2
    0 Votes
    2 Posts
    571 Views
    PitaJP
    @Jenkler CSS, maybe. JS, no. Use a requirejs module with modules hash in plugin.json if you have js that's used sparingly. If it's small js, it'll be easier to just include it in the main plugin.json scripts.
  • Why is $ shorthand disabled?

    5
    0 Votes
    5 Posts
    971 Views
    JenklerJ
    ok, so html widgets and template files need to check if jQuery is loaded. But script added by script tag in plugin.js allways have jquery support
  • jsTreeTable

    4
    0 Votes
    4 Posts
    786 Views
    PitaJP
    @Jenkler no that goes ina require.config call. Look up the requirejs docs.
  • Pull Swedish translation pls?

    5
    0 Votes
    5 Posts
    1k Views
    julianJ
    That might've been the case awhile ago, but we've automated the process now because as it turns out, I'm not very good at remembering to manually pull the translations
  • Getting Notification when somebody post a new topic

    1
    1 Votes
    1 Posts
    620 Views
    A
    How can we get notification if someone create a new topic .Because its a big problem now. There must be some way
  • Offer to develop 3 tasks on NodeBB

    1
    0 Votes
    1 Posts
    655 Views
    I
    Hi! We have our forum https://talk.bitzlato.com/, running on NodeBB. We need to do 3 tasks: Configure / modify the plugin for obtaining definitions via browser Configure / modify the plugin for obtaining permissions via Telegram Add function to enable / disable global chat. If you can help us, please make an offer in pm or here.
  • Registration custom consent page

    1
    1 Votes
    1 Posts
    640 Views
    Z
    Hi all, First of all, thank you for this great piece of software and solid adherence to legislative compliance. My question / request is: What is the (currently) best way to customize the registration process? What I am interested in is moving all the personal information consent related text in the "Registration complete" page to the main registration page (with smaller text.) Removing the checkboxes and instead stating something among the lines of "By clicking 'Submit' I consent to the collection and processing of my personal information on this website" Thank you!
  • Write API JSON requirements

    1
    0 Votes
    1 Posts
    398 Views
    S
    https://github.com/NodeBB/nodebb-plugin-write-api/blob/master/routes/v2/readme.md I'm looking at using the /topics/tag route to add some tags to a ton of topics. This documentation doesn't tell me what's required for updating tags. This is the JSON I get back from the built-in read only API: "tags": [ { "color": "", "bgColor": "", "valueEscaped": "juniper", "score": 3, "value": "juniper" }, { "color": "", "bgColor": "", "valueEscaped": "ipv6", "score": 1, "value": "ipv6" } ], Can I just submit something like: "tags": [ { "value": "somenewtag" }, { "value": "anothernewtag" } ],
  • Node Package Manager crashes

    1
    0 Votes
    1 Posts
    533 Views
    S
    I am using kurento media server One to many video call with Node JS.yesterday i was presenting a video from server and it was connecting 150+ users then NPM crashes and getting below error C:\Users\Administrator\Downloads\kurento-tutorial-node-master\kurento-tutorial-node-master\kurento-one2many-call\node_modules\ws\lib\WebSocket.js:218 else throw new Error('not opened'); ^ Error: not opened at WebSocket.send (C:\Users\Administrator\Downloads\kurento-tutorial-node-master\kurento-tutorial-node-master\kurento-one2many-call\node_modules\ws\ lib\WebSocket.js:218:16) at WebRtcEndpoint.<anonymous> (C:\Users\Administrator\Downloads\kurento-tutorial-node-master\kurento-tutorial-node-master\kurento-one2many-call\serv er.js:302:16) at emitOne (events.js:116:13) at WebRtcEndpoint.emit (events.js:211:7) at onNotification (C:\Users\Administrator\Downloads\kurento-tutorial-node-master\kurento-tutorial-node-master\kurento-one2many-call\node_modules\kur ento-client\lib\KurentoClient.js:235:14) at RpcBuilder.<anonymous> (C:\Users\Administrator\Downloads\kurento-tutorial-node-master\kurento-tutorial-node-master\kurento-one2many-call\node_mod ules\kurento-client\lib\KurentoClient.js:269:14) at emitOne (events.js:116:13) at RpcBuilder.emit (events.js:211:7) at RpcBuilder.decode (C:\Users\Administrator\Downloads\kurento-tutorial-node-master\kurento-tutorial-node-master\kurento-one2many-call\node_modules\ kurento-jsonrpc\lib\index.js:720:15) at Stream.transportMessage (C:\Users\Administrator\Downloads\kurento-tutorial-node-master\kurento-tutorial-node-master\kurento-one2many-call\node_mo dules\kurento-jsonrpc\lib\index.js:225:10) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] start: node server.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] start script. Some time more than 100 users connecting also getting crashes. so can you please let me know how many users will support node package manager.
  • We've got banned from Imgur breaking their TOS.

    15
    0 Votes
    15 Posts
    3k Views
    julianJ
    @MJ said in We've got banned from Imgur breaking their TOS.: Or is there some way to resize photo's so we can save space. When making a picture with phone most of the time its 7 to 12 MB p/photo, if there is a way to resize it to a 500 kb jpg file or something we can store all the images ourself. By writing shell scripts, you can, yes. For example, you can set up a cronjob to delete all images older than 30/60 days from the public/uploads/ folder. Or perhaps you can run convert -resize 640x on all images after 60 days' age to reduce size. Alternatively, you can set up a DigitalOcean volume (or something equivalent) and save your stuff there for less cost.
  • Where would I start to build something that could do bulk tagging?

    4
    0 Votes
    4 Posts
    675 Views
    S
    I still cannot figure it out. I see the tid: in some of the topics, but it's got the topic id in it, not a tag id. I'll buy someone a $100 Amazon (or other) gift card (or $100 worth of ETH/BTC) if they release on github a bulk tagging plugin that allows me to add one or multiple tags to all topics/posts in a category. I know it's not much, but I'm not generating any revenue off this site and have limited budget.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    6 Views
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    13 Views
  • csfr Templating Issue

    Moved
    7
    0 Votes
    7 Posts
    2k Views
    L
    @julian { "id": "nodebb-theme-sinfulshadows", "library": "./lib/theme.js", "hooks": [{ "hook": "static:app.load", "method": "init" }, { "hook": "filter:admin.header.build", "method": "addAdminNavigation" }, { "hook": "filter:config.get", "method": "getThemeConfig" }, { "hook": "filter:topic.build", "method": "addUserToTopic" }, { "hook": "filter:user.customSettings", "method": "customSettings" }, { "hook": "action:user.saveSettings", "method": "saveSettings" }, { "hook": "filter:user.getSettings", "method": "getSettings" }, { "hook": "filter:meta.getLinkTags", "method": "getLinkTags" } ], "scripts": [ "lib/sinfulshadows.js", "lib/modules/slideout.min.js", "lib/modules/bootstrap.min.js", "lib/modules/dataTables.bootstrap4.min.js", "lib/modules/jquery-3.2.1.min.js", "lib/modules/jquery.countdown.min.js", "lib/modules/jquery.dataTables.min.js", "lib/modules/jquery.easypiechart.min.js", "lib/modules/jquery.mb.YTPlayer.min.js", "lib/modules/jquery.sticky.js", "lib/modules/lightbox.js", "lib/modules/morris.min.js", "lib/modules/notification.js", "lib/modules/owl.carousel.min.js", "lib/modules/popper.min.js", "lib/modules/prettify.js", "lib/modules/raphael-2.1.0.min.js", "lib/modules/select2.full.min.js", "lib/modules/select2.min.js", "lib/modules/summernote-bs4.js", "lib/modules/switchery.min.js", "lib/modules/core.js", "lib/chats.js", "lib/quickreply.js" ], "acpScripts": [ "lib/admin.js" ], "templates": "./templates" } I had actually fixed this, I did this by just removing most the custom JS scripts I was trying to load... the JS not loading when require.js tries to load it is the reason that template brings up a CSFR issue, its obviously erroring some JS that is required to send the data correctly? Either way I knew that removing all the JS would resolve it, but was interested in exactly what error and what in the main themes is responsible for making sure csfr is right. (Also I read about jQuery not being able to be included twice? also need to see how templates treat jQuery plugins and how to link them without an issue)
  • remove new topic option

    5
    0 Votes
    5 Posts
    1k Views
    J
    Thanks found that
  • Change user UID to start from 10000

    6
    0 Votes
    6 Posts
    1k Views
    julianJ
    For redis, it's just hset global nextUid 10000
  • remove zen mode

    1
    0 Votes
    1 Posts
    574 Views
    A
    How to remove zen mode and link from the task bar of reply area
  • google adsense

    4
    0 Votes
    4 Posts
    1k Views
    A
    Thanks a lot , let me try that
  • Curiousity? regarding file uploads.

    4
    0 Votes
    4 Posts
    1k Views
    ShardS
    @baris So I have looked at this in greater detail and here are the problems 1 I see. The sortedset really only records two bits of information: the UID and the filename. If anything more is needed the filesystem will have to be queried and logic added to evaluate the file. My view is I'd rather store this in the DB and pick it up in a single query than collect the data from the filesystem on the pageload. This process lacks the post validation check for uploads. This leaves debris in both the database and on the file system. I didn't spot a cleanup system that might take care of this. 1 These are from the perspective of the problem I think I am trying to solve, aside from the couple I saw that are duplicates of issues I created in my own efforts.
  • 1.10.0 Breaking Changes

    3
    1 Votes
    3 Posts
    3k Views
    attisA
    Hi, I think I have discovered another breaking change that you didn't mention, though it is probably super-niche. This commit: https://github.com/NodeBB/NodeBB/commit/ec91ef1c644044bba44198b031913655e784b4bb broke our custom SSO plugin. The result was that after successfully logging in our external identity provider and being redirected to our Forum's callback endpoint, I was ending up not logged in (the button in the header still said "Log in") and stuck on /register/complete roadblock. It looked like our Passport strategy verify callback, that parses output from the identity provider and fetches user data via OAuth2 was not invoked at all. It turns out that the changes in this commit don't play well together with passport-oauth2 (https://github.com/jaredhanson/passport-oauth2) internal ability to protect against CSRF (which we were using). This strategy was already using state parameter to pass its own CSRF token. I don't have more time to investigate but I suspect things shipwrecked when NodeBB overwrote the state parameter with its own CSRF token. Turning off passport-oauth2 internal CSRF protection (by removing state: true from its options) fixed the issue.