Skip to content

NodeBB: Favicon upload issue

Solved Configure
12 3 3.1k 1
  • @mventures This issue is a common one, and likely because nginx is caching the values it already has. The fastest wat to fix this would be to

    1. Gain access via SSH to your server
    2. Login
    3. Issue command sudo service nginx restart and press enter

    This will cause nginx to restart, and should also empty the cache. Then see if this resolves the issue.

    @phenomlab Would this route work as it seems simpler: Go to ACP > Advanced > Cache?

  • @phenomlab Would this route work as it seems simpler: Go to ACP > Advanced > Cache?

    @mventures No. The nginx server it the web server itself. The ACP is the NodeBB application - they are completely seperated.

  • @mventures No. The nginx server it the web server itself. The ACP is the NodeBB application - they are completely seperated.

    This post is deleted!
  • @mventures No. The nginx server it the web server itself. The ACP is the NodeBB application - they are completely seperated.

    @phenomlab Oh my! Sounds scary again. I read this old post about SSH, and I am not so sure if I want to take any risks 😞

    https://sudonix.com/topic/391/secure-ssh-connectivty?_=1680516532796

  • I am back - I read the SSH documentation and looks like a “no, can’t do” for me, unless I get handheld training followed by a bit of practice, I don’t think I can do it. Unfortunately/fortunately, I will need to trouble you again for this cache clearance. (FYI - I have a list of coffees owed, and this one is in it)

  • I am back - I read the SSH documentation and looks like a “no, can’t do” for me, unless I get handheld training followed by a bit of practice, I don’t think I can do it. Unfortunately/fortunately, I will need to trouble you again for this cache clearance. (FYI - I have a list of coffees owed, and this one is in it)

    @mventures Having taken a look at this, the favicon.ico file is required in two places to work - one is in /public/uploads/system and the other is in public at the root level - see below

    f6be09e5-2afa-41cf-9480-de2bf7fb6fdc-image.png

    I’ve tested this against a favicon checker, and it now works - I used the one you uploaded for the touchicon to generate it.

  • phenomlabundefined phenomlab has marked this topic as solved on
  • @mventures Having taken a look at this, the favicon.ico file is required in two places to work - one is in /public/uploads/system and the other is in public at the root level - see below

    f6be09e5-2afa-41cf-9480-de2bf7fb6fdc-image.png

    I’ve tested this against a favicon checker, and it now works - I used the one you uploaded for the touchicon to generate it.

    Hey @phenomlab, Thanks for looking into this! Did you make the change?
    Because I can still see the BB logo as the favicon on the desktop (safari, chrome) and the mobile.
    But on an iPad, I can see my favicon.

  • Hey @phenomlab, Thanks for looking into this! Did you make the change?
    Because I can still see the BB logo as the favicon on the desktop (safari, chrome) and the mobile.
    But on an iPad, I can see my favicon.

    @mventures

    I have the same problem. I never managed to solve it.

    There is always a moment when I see that of NodeBB when I have nowhere on the server (nginx cache dump, cloudflare, nodebb, etc…)

  • @mventures

    I have the same problem. I never managed to solve it.

    There is always a moment when I see that of NodeBB when I have nowhere on the server (nginx cache dump, cloudflare, nodebb, etc…)

    @DownPW Yes, it can be sporadic, but in the case of @mventures it should be resolved.

    For example, viewing the site in incognito mode

    ce68b924-52ac-4eef-936e-c452037dde20-image.png

    And also checking with several favicon testers

    130425c8-97a2-4c6b-8127-6f5940e42afe-image.png

    @mventures can you try with a browser you’ve never used before, or perhaps an incognito tab? If that doesn’t work, also try the below

    1. Open Google Chrome
    2. Navigate to the website
    3. Open the developer tools (press F12)
    4. Click and hold the browser reload button so that the advanced options appear

    7c8a2857-78b8-4b41-931f-141bd8da8acb-image.png

    1. Select the option to “Empty cache and hard reload”
  • @DownPW Yes, it can be sporadic, but in the case of @mventures it should be resolved.

    For example, viewing the site in incognito mode

    ce68b924-52ac-4eef-936e-c452037dde20-image.png

    And also checking with several favicon testers

    130425c8-97a2-4c6b-8127-6f5940e42afe-image.png

    @mventures can you try with a browser you’ve never used before, or perhaps an incognito tab? If that doesn’t work, also try the below

    1. Open Google Chrome
    2. Navigate to the website
    3. Open the developer tools (press F12)
    4. Click and hold the browser reload button so that the advanced options appear

    7c8a2857-78b8-4b41-931f-141bd8da8acb-image.png

    1. Select the option to “Empty cache and hard reload”

    @phenomlab I am on a Mac, so I used the “Option + Command + I”, and then performed the steps. It loaded my favicon! I checked on Firefox which I haven’t used before, and it showed my favicon also! That’s fantastic and thank you for the help!


Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • 5 Votes
    13 Posts
    3k 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 podcast nodebb
    15
    4 Votes
    15 Posts
    4k Views
    @cagatay You could experiment with nodebb-plugin-ns-embed but I expect the x-origin tag on the remote site to prevent playback.
  • Fresher in Nodebb install

    General nodebb
    24
    15 Votes
    24 Posts
    9k Views
    @Hari I’ve been reading a lot about APO. Looks impressive.
  • Bootstrap Version

    Solved Customisation nodebb bootstrap
    8
    5 Votes
    8 Posts
    2k Views
    @phenomlab That will be nice once they have completed that. It will be interesting to see how long that takes. So for now I will use custom css to make it look the way I want. Frameworks just make things a little faster. Thanks @phenomlab
  • Configure SMTP for Nodebb

    Solved Configure
    14
    5 Votes
    14 Posts
    4k Views
    @marusaky based on the work completed thus far (in relation to PM exchanges), I’m going to mark this completed. Sending email from the server itself works fine without issue, and DNS appears to be clean (valid SPF, DMARC, and DKIM records). It appears that only Gmail marks incoming messages from your domain as spam - perhaps because of the domain age, which there is nothing we can do to prevent this. Mail delivery to all other domains appears to work fine in al of my tests.
  • [NodeBB] username cards

    Solved Customisation nodebb
    8
    5 Votes
    8 Posts
    3k Views
    @phenomlab Aha…nice to know. As always thank you for the reply and information.
  • NodeBB metadata

    Solved Configure nodebb
    4
    2 Votes
    4 Posts
    2k Views
    @phenomlab said in NodeBB metadata: @jac Are you sure ? https://www.google.co.uk/search?q=site%3Astockportcounty.fans&sxsrf=AOaemvLwnaZL-PliU_2dBOg_Eo1pMVhBjg%3A1638982328139&source=hp&ei=uOKwYeatBcOsad3yp7AE&iflsig=ALs-wAMAAAAAYbDwyLBSDcG5XYoFCKwQFhgz94wTxOcV&ved=0ahUKEwjm6dX71NT0AhVDVhoKHV35CUYQ4dUDCAk&uact=5&oq=site%3Astockportcounty.fans&gs_lcp=Cgdnd3Mtd2l6EAM6BAgjECc6CwgAEIAEELEDEIMBOg4ILhCABBCxAxDHARCjAjoRCC4QgAQQsQMQgwEQxwEQowI6BQguEIAEOggIABCABBCxAzoFCAAQgAQ6CAguELEDEIMBOgsILhCABBDHARCvAToICC4QgAQQsQM6BQgAELEDOgsILhCABBDHARDRAzoLCAAQgAQQsQMQyQM6BQgAEJIDUABYySZg0CdoAHAAeACAAW2IAa0NkgEEMjMuMpgBAKABAQ&sclient=gws-wiz Fair enough 🤪🤪.
  • nodebb dropdown menu

    Solved Configure nodebb
    5
    1
    0 Votes
    5 Posts
    2k Views
    @phenomlab said in nodebb dropdown menu: @kurulumu-net You set it like the below example taken from this site [image: 1637939951821-aae36790-3257-4bb2-ad5a-0d744309876a-image.png] Which presents this [image: 1637939983445-77f47260-2941-4afe-9614-8e17dcfc8c19-image.png] Very interesting… I actually thought this wasn’t possible, as I remember it being asked in the NodeBB forum. Is this something new that’s been implemented? I’ll 100% be doing that when I’m on the laptop over the weekend.