Anyone facing the same issue. Here is how i served the file via nginx
location /ads.txt {
root /var/www/nodebb/public/;
}
Anyone facing the same issue. Here is how i served the file via nginx
location /ads.txt {
root /var/www/nodebb/public/;
}
@baris @Staff https://discussimdb.com, which is a forum where users can discuss movies, tv shows and celebrities. It also uses nodebb.
@baris Ok, not sure how to add that in addition to an existing mongo db connection. I'll read and try out.
It seems that something changed in v1.11.1 which makes it not completely compatible with mongodb 3.2, which made our database unable to work anymore. Tried the same database with a new installation on 3.4. That error goes away but nodebb start script becomes too slow (takes many 10s of sec on each line) and web server doesn't serve the frontend.
@baris https://discussplaces.com also uses nodebb. Its a new way to discover and talk about your favorite food, restaurants and travel destinations with friends.
Forum has suddenly started throwing following errors randomly. Stackoverflow suggests either mongo is trying to write when connection is not active or the reconnectInterval needs to be set. @PitaJ and @Julian-H-Lam anything you recommend?
Nodebb version 1.6.1 on a 8GB droplet
at nextFunction (/var/www/nodebb/node_modules/mongodb-core/lib/cursor.js:540:25)
at Cursor.next [as _next] (/var/www/nodebb/node_modules/mongodb-core/lib/cursor.js:692:3)
at fetchDocs (/var/www/nodebb/node_modules/mongodb/lib/cursor.js:856:10)
at toArray (/var/www/nodebb/node_modules/mongodb/lib/cursor.js:883:3)
at Cursor.toArray (/var/www/nodebb/node_modules/mongodb/lib/cursor.js:836:44)
at Object.module.getObjects (/var/www/nodebb/src/database/mongo/hash.js:41:70)
at async.waterfall.returnData (/var/www/nodebb/src/widgets/index.js:117:7)
at nextTask (/var/www/nodebb/node_modules/async/dist/async.js:5297:14)
at Object.waterfall (/var/www/nodebb/node_modules/async/dist/async.js:5307:5)
at Object.widgets.getWidgetDataForTemplates (/var/www/nodebb/src/widgets/index.js:115:8)
at async.waterfall.widgetsByLocation (/var/www/nodebb/src/widgets/index.js:22:12)
at nextTask (/var/www/nodebb/node_modules/async/dist/async.js:5297:14)
at Object.waterfall (/var/www/nodebb/node_modules/async/dist/async.js:5307:5)
at Object.widgets.render (/var/www/nodebb/src/widgets/index.js:20:8)
at async.waterfall.options.widgets (/var/www/nodebb/src/middleware/render.js:53:14)
at nextTask (/var/www/nodebb/node_modules/async/dist/async.js:5297:14)
MongoError: server instance pool was destroyed
at Function.MongoError.create (/var/www/nodebb/node_modules/mongodb-core/lib/error.js:29:11)
at basicWriteValidations (/var/www/nodebb/node_modules/mongodb-core/lib/topologies/server.js:462:51)
at Server.update (/var/www/nodebb/node_modules/mongodb-core/lib/topologies/server.js:581:16)
at Server.update (/var/www/nodebb/node_modules/mongodb/lib/server.js:397:17)
at updateDocuments (/var/www/nodebb/node_modules/mongodb/lib/collection.js:1055:19)
at Collection.update (/var/www/nodebb/node_modules/mongodb/lib/collection.js:1094:44)
at Collection.tryCatcher (/var/www/nodebb/node_modules/bluebird/js/release/util.js:16:23)
at Collection.ret [as updateAsync] (eval at makeNodePromisifiedEval (/var/www/nodebb/node_modules/bluebird/js/release/promisify.js:184:12), <anonymous>:13:39)
at collectionReady.then.collection (/var/www/nodebb/node_modules/connect-mongo/src/index.js:248:48)
at tryCatcher (/var/www/nodebb/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/var/www/nodebb/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/var/www/nodebb/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromiseCtx (/var/www/nodebb/node_modules/bluebird/js/release/promise.js:606:10)
at Async._drainQueue (/var/www/nodebb/node_modules/bluebird/js/release/async.js:138:12)
at Async._drainQueues (/var/www/nodebb/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (/var/www/nodebb/node_modules/bluebird/js/release/async.js:17:14) ```
@lewis-belton Plenty of ways to add some padding. You can grab the shoutbox div in JS and add padding/margin at the top or just give top space in CSS.
e.g $('#shoutbox-main').css("padding-top", 20);
From UX standpoint when someone creates a topic, they should get a notification whenever they receive a post. I myself have missed bunch of replies directed to answer a question/topic because the poster didn't actually mentioned me.
What do you guys think about auto watch on your own topics? Or is there an option ACP to enable it and i missed it.
@sosojni No, i don't think so. The gap in my graph is because nothing was served to the user as mongo was crashing. On further debugging and monitoring logs of DO droplet, it seems the RAM is the issue here. We saw heavy traffic during the weekend. I've bumped up the specs to 16GB to see if it will be sufficient. However i'm still looking for a solution that will make sure we catch/handle this so that mongo doesn't crash.
@pitaj That really helped me. What do you guys use for GIF?
@baris Nope, we're not. I'll check it out.
@schamper After the update to 1.5.3, shoutbox widget on custom pages, homepage or its own dedicated route doesn't render. No errors in the log as well. I described it here
https://community.nodebb.org/topic/11096/upgrade-from-1-5-2-to-1-5-3-breaks-shoubox-plugin
I know a lot has been changed since this topic has been posted. I am in need of placing a file specifically ads.txt on the root of the forum (as advised by google adsense to stay compliant).
However all i am able to do is to get it up like example.com/assets/ads.txt by placing it in the public directory.
Any one knows how can it be served at example.com/ads.txt?
Since the update to 1.7.2. We can't see our HTML and JS code in the Custom header anymore.
@Jey-Cee-0 @Evgeniy-Onegin We were able to do it via this technique.
Take the markup and css for the Secondary Nav menu https://codepen.io/kuus/pen/MwXzNm
Place it in the Global Widgets as an HTML widget.
This way you'll not be changing templates and can get the benefits of the new updates in the theme.
@julian Seems to do the trick. Thanks for the pointer.
For others if you are passing multiple tags through curl here is a working example.
curl --location --request PUT 'https://forum.com/api/v3/topics/14/tags' --header 'Authorization: Bearer ffee84f8-2afd-4ab5-91d6-b57afa12a2025' --data-urlencode 'tags[]=visit' --data-urlencode 'tags[]=cambodia' --data-urlencode '_uid=1'
Our forum had been running on this update for about a week. Today, it suddenly started crashing at following error.
2019-01-19T04:43:05.818Z [4567/22239] - verbose: [user/jobs] (Re-)starting user jobs...
2019-01-19T04:43:05.820Z [4567/22239] - verbose: [user/jobs] Starting job (digest.daily)
2019-01-19T04:43:05.824Z [4567/22239] - verbose: [user/jobs] Starting job (digest.weekly)
2019-01-19T04:43:05.826Z [4567/22239] - verbose: [user/jobs] Starting job (digest.monthly)
2019-01-19T04:43:05.827Z [4567/22239] - verbose: [user/jobs] Starting job (reset.clean)
2019-01-19T04:43:05.827Z [4567/22239] - verbose: [user/jobs] 4 jobs started
2019-01-19T04:43:05.828Z [4567/22239] - verbose: [emailer] Setting up SMTP fallback transport
2019-01-19T04:43:05.893Z [4567/22239] - verbose: [middleware/autoLocale] Retrieves languages list for middleware
2019-01-19T04:43:05.930Z [4567/22239] - info: [themes] Using theme nodebb-theme-persona
2019-01-19T04:43:05.931Z [4567/22239] - verbose: [plugins] Initializing plugins system
2019-01-19T04:43:05.992Z [4567/22239] - verbose: [emailer] Built custom email templates
2019-01-19T04:43:06.000Z [4567/22239] - verbose: [plugins] Loaded plugin: nodebb-theme-persona
2019-01-19T04:43:06.034Z [4567/22239] - verbose: [plugins] Loaded plugin: nodebb-plugin-dbsearch
2019-01-19T04:43:06.063Z [4567/22239] - verbose: [plugins] Loaded plugin: nodebb-widget-essentials
2019-01-19T04:43:06.069Z [4567/22239] - error: uncaughtException: No more documents in tailed cursor
MongoError: No more documents in tailed cursor
at Function.MongoError.create (/var/www/community/node_modules/mongodb-core/lib/error.js:31:11)
at nextFunction (/var/www/community/node_modules/mongodb-core/lib/cursor.js:653:50)
at /var/www/community/node_modules/mongodb-core/lib/cursor.js:602:7
at queryCallback (/var/www/community/node_modules/mongodb-core/lib/cursor.js:232:18)
at /var/www/community/node_modules/mongodb-core/lib/connection/pool.js:469:18
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9) {"error":{"name":"MongoError","message":"No more documents in tailed cursor","tailable":true,"awaitData":true},"stack":"MongoError: No more documents in tailed cursor\n at Function.MongoError.create (/var/www/community/node_modules/mongodb-core/lib/error.js:31:11)\n at nextFunction (/var/www/community/node_modules/mongodb-core/lib/cursor.js:653:50)\n at /var/www/community/node_modules/mongodb-core/lib/cursor.js:602:7\n at queryCallback (/var/www/community/node_modules/mongodb-core/lib/cursor.js:232:18)\n at /var/www/community/node_modules/mongodb-core/lib/connection/pool.js:469:18\n at _combinedTickCallback (internal/process/next_tick.js:131:7)\n at process._tickCallback (internal/process/next_tick.js:180:9)","exception":true,"date":"Sat Jan 19 2019 04:43:06 GMT+0000 (UTC)","process":{"pid":22239,"uid":0,"gid":0,"cwd":"/var/www/community","execPath":"/root/.nvm/versions/node/v8.9.3/bin/node","version":"v8.9.3","argv":["/root/.nvm/versions/node/v8.9.3/bin/node","/var/www/community/app.js"],"memoryUsage":{"rss":163893248,"heapTotal":120909824,"heapUsed":86452080,"external":45515363}},"os":{"loadavg":[4.00830078125,3.794921875,3.6513671875],"uptime":4430007},"trace":[{"column":11,"file":"/var/www/community/node_modules/mongodb-core/lib/error.js","function":"Function.MongoError.create","line":31,"method":"create","native":false},{"column":50,"file":"/var/www/community/node_modules/mongodb-core/lib/cursor.js","function":"nextFunction","line":653,"method":null,"native":false},{"column":7,"file":"/var/www/community/node_modules/mongodb-core/lib/cursor.js","function":null,"line":602,"method":null,"native":false},{"column":18,"file":"/var/www/community/node_modules/mongodb-core/lib/cursor.js","function":"queryCallback","line":232,"method":null,"native":false},{"column":18,"file":"/var/www/community/node_modules/mongodb-core/lib/connection/pool.js","function":null,"line":469,"method":null,"native":false},{"column":7,"file":"internal/process/next_tick.js","function":"_combinedTickCallback","line":131,"method":null,"native":false},{"column":9,"file":"internal/process/next_tick.js","function":"process._tickCallback","line":180,"method":"_tickCallback","native":false}]}
2019-01-19T04:43:06.070Z [4567/22239] - error: No more documents in tailed cursor {"name":"MongoError","tailable":true,"awaitData":true}
2019-01-19T04:43:06.070Z [4567/22239] - info: [app] Shutdown (SIGTERM/SIGINT) Initialised.
[cluster] Child Process (22239) has exited (code: 1, signal: null)
[cluster] Spinning up another process...
Nodebb v1.11.1
Mongodb version 3.2 and no replica's
It seems like there have been some change to database that it fails.
Related Stack overflow post https://stackoverflow.com/questions/36704040/mongoerror-no-more-documents-in-tailed-cursor
@PitaJ @barisusakli Out of ideas, please help.
@baris Yea, me too. It was a bummer when they removed it. That's why we think there should a place to discuss movies and also integrated with some kind of structure so you can get posters, trailers etc automatically. Nodebb seems to be the best solution for this kind of integration.