Skip to content
  • Announcements in relation to the community

    69 809
    69 Topics
    809 Posts
    @DownPW Looks ok for the most part, but this looks like it’s truncated? return { ...ogsResult, metaProperties: metadata, faviconUrl: faviconB64, }; }
  • Articles written by the founder, and by other members of this platform. We actively encourage blog articles of your own, but each one is subject to moderator review before it is released.

    54 649
    54 Topics
    649 Posts
    @Madchatthew yeah, I’ve seen these posts all over LinkedIn
  • Having issues with configuration ?

    260 5k
    260 Topics
    5k Posts
    I’m happy to see this
  • Off-topic discussions that do not fit into any other categories.

    42 697
    42 Topics
    697 Posts
    So far so good .
  • Topics posted here are designed to attract discussion, thoughts, concerns, wisdom, etc.

    41 390
    41 Topics
    390 Posts
    At some point, most environments stop having purely technical issues. They start having ownership issues. On the surface, everything can look fine: Policies exist Controls are mapped Risks are logged From an engineering perspective, nothing is obviously broken. Systems run. Changes get deployed. Issues get fixed. But there is a different question that tends to get overlooked: When a decision creates exposure, who actually owns that outcome? Not who implements the change. Not who maintains the system. Who is accountable if that decision is challenged later. That is where things usually become unclear. Decisions are being made every day across infrastructure, security, vendors, and delivery. But ownership is often: implied spread across teams or assumed to sit somewhere higher up It works until it is tested. And it does get tested, usually by something external: an audit request a client asking deeper questions an incident that needs explaining At that point, the discussion shifts. It is no longer about how something works. It becomes: “Who approved this, and why was that decision considered acceptable at the time?” That is the part many environments are less clear on than they expect.
  • If you cannot find a dedicated tag to place your discussion, then it should go here

    74 1k
    74 Topics
    1k Posts
    @Madchatthew And let this be a testament to anyone else looking to transition out from Windows to Linux. It’s perfectly possible with some minor changes to how you use a computer
  • Hosting packages, VPS, etc…

    16 131
    16 Topics
    131 Posts
    @phenomlab said: If you bypass or disable cloudflare, does the problem subside? I will test that tonight. I have create waf rules on CF and page rule for ignore socket.io… [image: 1772451843361-e1ff1160-846d-4aad-ab06-5070485b0f43-image.jpeg] [image: 1772451921039-577c9be8-cec3-4b81-b0a5-8b9c315eabee-image-resized.jpeg]
  • This category is designed to offer practical advice, step by step guidance, and code suggestions for you to create you very own “Franken” build to suit your needs… “It’s Alive!!”

    21 664
    21 Topics
    664 Posts
    @phenomlab said: @DownPW thanks for spotting (and fixing) this issue. I admittedly threw this together quickly for @jac some time ago, and it hasn’t had any love since. If OK with you, I’ll merge these changes into the github repository? No problem dude
  • Need one-to-one, or one-to-many support?

    6 36
    6 Topics
    36 Posts
    @phenomlab I will check those out. Thanks for sharing. I appreciate it!
  • Issues with operating systems

    26 369
    26 Topics
    369 Posts
    @phenomlab said: @Madchatthew ouch. Sounds nasty. Did you get to the bottom of why it happened? I believe it is due to not everything getting upgraded because i wasn’t checking on the different packages I had installed from the AUR. Then when I ran yay it was like, hey would you like to update all of these things that you haven’t updated in months, perhaps years or ever for that matter and I was like yes please If you don’t have yay there are no notifications that you need more updates than what you realize. Chrome was staying updated because it would give me a notification, but there was the nvidia package that needed to be upgraded as well and I had never upgraded it. I didn’t realize it and should have. Then some of those packages use cmake and that needed to be updated as well. So using yay is beneficial to make sure you get all the updates you need.
  • A selection of resources useful to beginners and developers alike

    9 37
    9 Topics
    37 Posts
    @Vijay-Kumavat Yes, both are well documented here if you search the forum.
  • Need some help securing something?

    35 279
    35 Topics
    279 Posts
    @Muhammad-Abdan-Farooqui Welcome! i’m currently using (and recommend) Bitdefender. For my sins, I’m using Windows, but need this for teams and Office365 integration (otherwise I’d always choose Linux). Have you looked at the Bitdefender product for MAC? https://www.bitdefender.com/en-gb/consumer/antivirus-for-mac
  • Some useful articles that can easily get you out of that hole you might have just fell into…:)

    10 86
    10 Topics
    86 Posts
    @phenomlab said: @DownPW Possible, yes, but not using the existing code. It would need to be changed to test for multiple entries based on two distinct widget areas. This should work (it’s already applied on your DEV server) function chatBanner() { var roomName = $("h5[component='chat/header/title']").text().trim(); var roomNameWidget = $('[id*="chat-modal"] .btn-ghost.btn-sm.dropdown-toggle').text().trim(); var bannerContent; if (roomName === "General" || roomNameWidget === "General") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Message 1. </div>'; } else if (roomName === "Support" || roomNameWidget === "Support") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Message 2.</div>'; } else if (roomName === "Info" || roomNameWidget === "Info") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Message 3</div>'; } else if (roomName === "xxxxxx" || roomNameWidget === "xxxxxx") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Message 4</div>'; } else if (roomName === "xxxxxx" || roomNameWidget === "xxxxxx") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Message 5</div>'; } else if (roomName === "xxxxxx" || roomNameWidget === "xxxxxx") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Message 6</div>'; } else { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Ce canal est une discussion privée. </div>'; } var chatMessagesContainer = $('[component="chat/system-message"]:last-of-type'); //var existingMessages = $('[component="chat/message"]'); var existingMessages = $('[component="chat/composer"]'); if (existingMessages.length === 0) { // If there are no messages, append the banner to the messages container chatMessagesContainer.first().after(bannerContent); } else { // If there are messages, add the banner after the last message //existingMessages.last().after(bannerContent); existingMessages.before(bannerContent); } } Here, we are using || which is essentially an OR operator. Because we cannot know the chat room ID in advance, it is necessary to use a wildcard to track it [id*="chat-modal"] .btn-ghost.btn-sm.dropdown-toggle I see bugs with this code and chat box widget I use on my categories page What was happening NodeBB allows multiple chat windows to be open simultaneously , the widget and the full/modal-page DM view. Both exist in the DOM at the same time. The original code used global jQuery selectors like $(‘[component=“chat/composer”]’) which scanned the entire page and found elements from both chat windows at once. When you opened “XY” caht while “XXY” was still open in the widget, the selectors would pick up the wrong room name or inject the banner into the wrong window. The key discovery was that the action:chat.loaded event passes the modal DOM element directly as data. By wrapping it in $(data) and using $modal.find(…) for every selector, all queries are scoped exclusively to the correct modal, making it impossible for two open chat windows to interfere with each other. FIX code (to adapt to your rooms) : function chatBanner(modalElement) { var $modal = $(modalElement); $modal.find('#chatbanner').remove(); var roomName = $modal.find('[component="chat/room/name"]').text().trim(); if (!roomName) { var placeholder = $modal.find('[component="chat/input"]').attr('placeholder') || ''; roomName = placeholder.replace(/^Message #?/, '').trim(); } var bannerContent; if (roomName === "General") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Chat message banner</div>'; } else if (roomName === "xxxxxxxxxx") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Chat message banner</div>'; } else if (roomName === "xxxxxxxxxx") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Chat message banner</div>'; } else if (roomName === "xxxxxxxxxx") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Chat message banner</div>'; } else if (roomName === "xxxxxxxxxx") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Chat message banner</div>'; } else if (roomName === "Les geeks de l'espace") { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Chat message banner</div>'; } else { bannerContent = '<div id="chatbanner"><i class="fa fa-fw fa-circle-info link-primary" aria-hidden="true"></i> Chat message banner</div>'; } $modal.find('[component="chat/composer"]').first().before(bannerContent); } $(window).on('action:chat.loaded', function(ev, data) { chatBanner(data); });
  • Get help with WordPress

    17 315
    17 Topics
    315 Posts
    @Madchatthew I’d always post for the reasons I stated above. It’s useful information and could save someone else the headache.
Online
Statistics

0

Online

146

Users

686

Topics

10.4k

Posts
Tags
Extended Stats

Who's Online [Full List]

0 users active right now (0 members and 0 guests).

Board Statistics

Our members have made a total of 10.4k posts in 686 topics.
We currently have 146 members registered.
Please welcome our newest member, abdul bari.
The most users online at one time was 70 on Friday, 27 December 2024.