If you can point me to the commits that would be more than enough. I'm running a heavily customized version of NodeBB so I can't update directly to the latest version.
However, I can push the commits for the fix to my fork.
If you can point me to the commits that would be more than enough. I'm running a heavily customized version of NodeBB so I can't update directly to the latest version.
However, I can push the commits for the fix to my fork.
@PitaJ I've tried rebuilding it multiple times. The error pops up in the logs once the active users reach a high number, around 3000+ in my case.
I'm running NodeBB 1.5.3 on AWS and I keep getting this error in the logs
Render failed for template /edx/app/community/nodebb-platform/build/public/templates/footer.jst:
TypeError: Render failed for template /edx/app/community/nodebb-platform/build/public/templates/footer.jst:
templateFunction is not a function
at runtime (/edx/app/community/nodebb-platform/node_modules/benchpressjs/build/lib/runtime.js:64:16)
at render (/edx/app/community/nodebb-platform/node_modules/benchpressjs/build/lib/express.js:11:20)
at Object.__express (/edx/app/community/nodebb-platform/node_modules/benchpressjs/build/lib/express.js:33:5)
at /edx/app/community/nodebb-platform/src/webserver.js:134:15
at /edx/app/community/nodebb-platform/src/middleware/index.js:205:12
at nextTask (/edx/app/community/nodebb-platform/node_modules/async/dist/async.js:5297:14)
at next (/edx/app/community/nodebb-platform/node_modules/async/dist/async.js:5304:9)
at /edx/app/community/nodebb-platform/node_modules/async/dist/async.js:906:16
at /edx/app/community/nodebb-platform/src/file.js:101:3
at FSReqWrap.oncomplete (fs.js:153:5)
Can someone please tell me whey this occurs?
This occurs on one of the servers in a load balanced environment where there are 2 servers running. If I increase the server count to 4 then out of those 4, 2 servers are having this exception. Servers in our load balanced environment are using redis for pub/sub, MongoDB as the primary database. Sticky sessions are enabled with stickiness time set to 30 seconds. The servers use the same AMI image.
I've seen that there is a file called ratelimit.js
in which NodeBB limits the number of connections that can be simultaneously connected to the app. When this limit is crossed, it disconnects users from the socket connections.
var allowedCalls = 100;
var timeframe = 10000;
if (socket.callsPerSecond > allowedCalls && socket.elapsedTime < timeframe) {
winston.warn('Flooding detected! Calls : ' + socket.callsPerSecond + ', Duration : ' + socket.elapsedTime);
return true;
}
Why is this necessary? Is it not possible to connect as many users as our server can handle and scale using load balancers etc?.
Why is this setting hard coded into the application?
P.S. I'm using NodeBB v1.5.3.
I'm a member of two groups, Gamers
and GNU/Linux
users.
Currenlty Gamers
shows as a badge next to my profile. How can I change this to GNU/Linux
?
@yariplus Yes, integration testing especially. Is there any resource on how to do it with NodeBB and its plugins?
If I'm developing a plugin for NodeBB, what is the recommended way to write unit tests for the plugin?
Has anyone done this who would like to share his workflow?
So if I wanted to disable it, I would have to write a custom plugin or something?
I see that all categories are watched by default on NodeBB. Is there a way to disable this setting such that I only get notifications for the categories I watch myself.
@pitaj Thanks! That worked!
Do you think the docs should be updated to include that?
I'm trying to follow the basic tutorial on writing nodebb plugins.
But I'm using module.parent.require('./database')
in my plugin but it isn't working.
It simply says:
Error: Cannot find module './database'
Can anyone point me to the issue?