1. Technology Consultancy and Advisory
    Sudonix

    Sudonix

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Users
    • Groups
    • Solved
    • More
      • About
      • Contact
      • Donate
      • FAQ
      • Founder's Journey
      • Policies
    Log in to post
    • All categories
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics
    • phenomlab

      Optimum config for NodeBB under NGINX
      Performance • nginx performance • • phenomlab

      4
      1
      Votes
      4
      Posts
      21
      Views

      phenomlab

      @crazycells hi - no security reason, or anything specific in this case. However, the nfinx.conf I posted was from my Dev environment which uses this port as a way of not interfering with production.

      And yes, I use clustering on this site with three instances.

    • phenomlab

      v3 / Harmony diary
      Announcements • harmony v3.beta1 nodebb • • phenomlab

      17
      2
      Votes
      17
      Posts
      201
      Views

      phenomlab

      Today’s playground 🙂

      c67e0b6c-b534-4306-8e58-dbe77e30c6a0-image.png

      Here’s a video… still needs a bit more work, but… 🙂 Notice the newer scroll and progress bar I was talking about earlier…

    • Sala

      Solved Fixing YouTube videos css
      WordPress • css • • Sala

      8
      0
      Votes
      8
      Posts
      12
      Views

      Sala

      @phenomlab It looks good, but not anymore. I’ve already lost so much time. Now it’s time to move on

    • DownPW

      North Korean Hackers Exploit Unpatched Zimbra Devices in 'No Pineapple' Campaign
      Vulnerability • security healthcare cyber attack • • DownPW

      4
      2
      Votes
      4
      Posts
      16
      Views

      phenomlab

      @DownPW here. Hostrisk is automated and doesn’t accept registrations.

    • cagatay

      Solved Upgrade Problem from 2.8.3 to 2.8.4
      Configure • nodebb • • cagatay

      10
      0
      Votes
      10
      Posts
      32
      Views

      cagatay

      @phenomlab yeap i removed the plugin and reinstall it problem is fixed.

    • phenomlab

      Setting up a beta NodeBB v3 environment
      Guides • nodebb upgrades beta1 • • phenomlab

      12
      3
      Votes
      12
      Posts
      30
      Views

      phenomlab

      @DownPW good call. Will get that added.

    • phenomlab

      AI... A new dawn, or the demise of humanity ?
      Blog • learning intelligence blog • • phenomlab

      4
      3
      Votes
      4
      Posts
      137
      Views

      phenomlab

      Here’s another article that might make those not concerned by AI think again.

      Kathryn Mannie ChatGPT passes exams for MBA courses and medical licences — and it’s only getting started - National | Globalnews.ca ChatGPT passes exams for MBA courses and medical licences — and it’s only getting started - National | Globalnews.ca

      Two separate papers reveal that ChatGPT can pass an MBA-level course at an Ivy League business school and has the test-taking skills of a practicing doctor.

    • phenomlab

      NodeBB v3 and Harmony Theme
      Debate • nodebb theme • • phenomlab

      21
      1
      Votes
      21
      Posts
      159
      Views

      phenomlab

      @DownPW Here you go

      https://sudonix.com/topic/421/setting-up-a-nodebb-v3-environment

    • Sala

      Solved Help us fixing the H1 header tags
      WordPress • html h1 tags • • Sala

      12
      1
      Votes
      12
      Posts
      70
      Views

      phenomlab

      @Sala I’ve spent some time this morning reviewing your WordPress configuration. The issue of the duplicated h1 tag is being caused by AnsPress - you’ll no doubt recall I warned against using this “plugin” (if you can call it that - it’s terrible) here

      https://sudonix.com/topic/358/fresher-in-nodebb-install/6?_=1674640646763

      AnsPress is well-known in WordPress circles for being one of those plugins you’d avoid at all costs. I used it once - never again. It causes far too many issues, and provided you don’t mind your site suffering as a result in terms of performance, bugs, and the like, then ok. In relation to SEO, see the below

      SEO Issues – AnsPress

      This was reported in October 2022, and it’s still not fixed.

      From my own independent review, I also see the following issues

      81a553b7-acac-43ab-baeb-13d956c41d5f-image.png

      The most damaging of these is content being served on both non-www and www URLS, which needs to be fixed ASAP. You’ll note that the h1 heading appears twice (which you’re already aware of)

      8065709b-6664-4a50-9cd4-2ca1e9dbe756-image.png

      However, aside from SEO, I see far more important issues that you need to resolve first

      TTFB (Time to First Byte) - the page is incredibly slow to load - in some cases, it takes 2-3 seconds before any content is shown. This is a killer in itself as more than one second loading time is considered far too high. 301 redirects are missing - in this case, you should have a global redirect so that the content is being served from the same domain at all times.

      The bottom line here, and the “fix” is to remove AnsPress. Clearly, this isn’t palatable from your perspective as there is significant investment on your side. I know from previous discussions that AnsPress was shipped with the theme you are using, but it’s a below-par plugin in terms of performance and stability.

      You’ll see below my attempts to get AnsPress working as far back as 2017 - I promptly gave up, because it was such a mess

      Nov 4, 2017 AnsPress Plugin with X Pro (Integrity Stack) AnsPress Plugin with X Pro (Integrity Stack)

      Hi. I am using X Pro and am having an issue with AnsPress displaying properly. I know this is theme related, as if I switch to TwentySeventeen, the pages work as intended. As an example - https://www.phenomlab.com/comminuty/category renders correctly, but anything underneath just shows a blank...

      And finally, one very well respected WordPress resource (wpcrafter.com) parted ways with AnsPress in 2018 for similar reasons, which he clearly stated

      Very serious issue with upgrade to v4.1.9 Multiple emails being sent out to everyone – AnsPress

      262370bb-7d2b-499e-9d89-fac759b1e42d-image.png

      At this point, I would weigh up the investment in AnsPress and seriously consider removing it.

    • phenomlab

      Neural networks being used to create realistic phishing emails
      Security • intelligence learning chat gpt • • phenomlab

      15
      1
      Votes
      15
      Posts
      87
      Views

      crazycells

      @phenomlab lol, good… chatgpt is adapting into human culture…

    • cagatay

      Solved Chevron up before & after
      Configure • nodebb • • cagatay

      11
      0
      Votes
      11
      Posts
      49
      Views

      cagatay

      @crazycells you are right 🙂 thank you.

    • cagatay

      Solved Mongo Eror with v3 beta-1
      Customisation • nodebb v3 • • cagatay

      8
      0
      Votes
      8
      Posts
      37
      Views

      phenomlab

      @cagatay ok. You should use a copy of the production database or a completely new one. Never share a database between two instances of NodeBB.

    • cagatay

      Solved Issues with v3 alpha and Harmony
      Configure • • cagatay

      18
      1
      Votes
      18
      Posts
      50
      Views

      phenomlab

      @cagatay Should be all sorted now 🙂
      Don’t forget to put your language back to Turkish.

    • Hari

      rebranding my forum
      General • forum name • • Hari

      8
      0
      Votes
      8
      Posts
      757
      Views

      Sala

      There’s news that they already sacked a batch of employees; people are going to face it rough. For me, SEO is something you leave to God. Because you can be on the first page for a month, then nowhere to be found again, or ranked in a totally different region. And worse, those computers they use are not monitored, but at least the main site brand will stick.

    • phenomlab

      Corporate Bullshit Generator
      Guides • cbg coding • • phenomlab

      4
      1
      Votes
      4
      Posts
      83
      Views

      phenomlab

      @crazycells yeah, I’ve noticed that as well. What is it with buzzwords? All they signify to me is that you can “talk the talk” but not “walk the walk”. Anyone can read something on the internet, and after a while, probably recite it word for word, but do they truly understand it?

      I interviewed a guy once who certainly knew buzzwords like the back of his hand, but failed a technical test miserably.

    • phenomlab

      Humour
      Chitchat • humour • • phenomlab

      26
      3
      Votes
      26
      Posts
      621
      Views

      phenomlab

      20230112_232737.jpg

    • crazycells

      Tips for custom colors for forum categories
      Resources • colours customization • • crazycells

      7
      0
      Votes
      7
      Posts
      55
      Views

      phenomlab

      @crazycells Actually, this has piqued my interest. I think this deserves a bit more thought, time, and ultimately, should be included in the themes I am developing.

      Thanks !

    • Hari

      Solved Issues getting Flarum to work on new host
      Configure • virtualmin • • Hari

      65
      0
      Votes
      65
      Posts
      590
      Views

      phenomlab

      @crazycells huh. Thanks. Will need to check that as well.

    • DownPW

      MongoDB Tweaks : query to delete unverified-users and more :)
      Configure • mongodb queries tweaks • • DownPW

      2
      1
      Votes
      2
      Posts
      29
      Views

      phenomlab

      @DownPW This isn’t something I have readily available, and because I’m not entirely familiar with the database structure of NodeBB, it’s something that would require research and development in terms of script.

      I think it’d be quicker to ask this in the NodeBB forums.

    • DownPW

      Unsolved NodeBB Global Tchat : Forum with many users performance issues
      Configure • perf global chat • • DownPW

      13
      0
      Votes
      13
      Posts
      99
      Views

      DownPW

      '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); } };