Discussion of NodeBB Updates


  • Trolleybus Mechanic


  • Notification Spam Recipient

    I have noticed that it is currently remarkably easy (read: easy to accidentally trigger) either sidebar while scrolling in mobile, but at least it hasn't got stuck halfway yet.



  • @hungrier said in Discussion of NodeBB Updates:

    Or you could support it natively in a proper css-oriented way independent of whatever Bootstrap skins are available. But that sound like work :kneeling_warthog:

    Sure, to give you some context -- Bootswatch skins go on top of vanilla bootstrap, and change styling and margins and such. Our themes also do the same thing, and there are often conflicts.

    e.g. A contrived example would be changing the "highlight" color to a different shade. If in bootstrap it is a shade of beige, and in Persona, it is a shade of red, if a bootswatch style also changes this to yet another shade, that colour might not be a match with the existing theme for whatever reason. It doesn't happen too often, but often enough.

    Bootswatch gets around this by also providing LESS files to work with, which you can then compile with the Bootstrap LESS files (and your own LESS files) to come up with a more coherent CSS file. If everybody uses LESS variables, then the proper values are overridden in the correct order, and we have no issues.

    However Bootswatch isn't built along with the rest of the assets. It's CSS is loaded dynamically on top of the existing CSS, which is again why you see conflicts and overriding styles that don't match the overall theme.

    Unfortunately, we have a build step with our CSS files. We take that LESS file and turn it into CSS when you start NodeBB, and if Bootswatch provides a different LESS file for each skin, and you want to support different skins per-user, then you're going to have to build a custom css min file for each skin. Building twenty CSS minfiles for different skins seems a little excessive.


  • Notification Spam Recipient

    @julianlam said in Discussion of NodeBB Updates:

    you should be able to swap the top buttons via the user settings page.

    Oh, nice! Request for the forum admins to make that the default for the whiners who can't deal.


  • Notification Spam Recipient

    @julianlam said in Discussion of NodeBB Updates:

    Unfortunately, we have a build step with our CSS files. We take that LESS file and turn it into CSS when you start NodeBB, and if Bootswatch provides a different LESS file for each skin, and you want to support different skins per-user, then you're going to have to build a custom css min file for each skin. Building twenty CSS minfiles for different skins seems a little excessive

    Not really, especially since it happens once.

    I'll bet you could compile all of them 427 times over by the time an average Asp.Net site loads.



  • Yeah, but I also personally want to keep build times minimal by not building excessive assets for features that are (admittedly anecdotally) used by a small fraction of users.

    Do I know if building bootswatch files with bootstrap and persona will fix these issues? No... if it does, will it also work with other themes? I have no idea.

    I integrated Bootswatch because I thought it was really neat, and also because we didn't have too many themes back then (we still don't, but I digress). Since then, we've found it hard to keep all of the styles working together in such a way that the forum doesn't become unusable :\ It's admittedly a matter of me not seeing Bootswatch skins as an important thing to fix, as there are other issues that divert my attention away.

    Edit: I hate removing features as much as the next guy, and I understand how annoyed some of you may be because it doesn't seem like I care about Bootswatch skins at all. However, keep in mind a main part of NodeBB is keeping it's core small. If that means some feature is not working out as ideally as it can be, then it might have to go :(



  • I came up with a better example. My contrived example above sucked.

    Okay, let's say you have your bootstrap theme defining the "primary brand colour" as #007bff

    Then you have your theme that overrides this: @brand-primary: #f00;

    Bootswatch, then loaded on-top as a CSS file, won't know that you updated @brand-primary, since it is not accessible client-side. It will assume @brand-primary: #007bff. So even if bootswatch is nice and tries to stay out of the way by using functions like lighten() and darken(), it still calculates it based off the wrong primary colour, leading to conflicts.

    It ought to be: lighten(#f00);, but instead, it's setting whatever style to lighten(#007bff);


  • ♿ (Parody)

    @tsaukpaetra said in Discussion of NodeBB Updates:

    @julianlam said in Discussion of NodeBB Updates:

    you should be able to swap the top buttons via the user settings page.

    Oh, nice! Request for the forum admins to make that the default for the whiners who can't deal.

    I don't see that there's a way to do that in the admin control panel.



  • 0_1512669033293_db8f02ce-210d-4895-a658-c3471c2ae2e1-image.png

    I'm not sure what I'm more confused by:

    • the fact that :thonking: is now replaced by :thonking.png:
    • or the fact that both :thonking: and :thonking.png still work, even though :thonking: doesn't autocomplete
    • or the fact that :thinking_face: shows up even though it's not spelled the same way
    • or... wait a second, :socks:?

    (it looks like all of our custom emoji, not just that one, are getting .png appended for some reason)



  • Speaking of emojicons, can we get the emoji picker to expand upwards whenever it would go off the bottom of the screen (i.e. almost all cases when using the composer, at least on desktop)



  • @hungrier said in Discussion of NodeBB Updates:

    Speaking of emojicons, can we get the emoji picker to expand upwards whenever it would go off the bottom of the screen (i.e. almost all cases when using the composer, at least on desktop)

    If I could, I would upvote this many many times.


  • Notification Spam Recipient

    @julianlam said in Discussion of NodeBB Updates:

    a main part of NodeBB is keeping it's core small.

    That's fine, in this case Bootswatch themes would therefore be moved into a plugin then. 🤷🏿♂

    @julianlam said in Discussion of NodeBB Updates:

    Bootswatch, then loaded on-top as a CSS file,

    Which would be solved by using the LESS compiled version cache, right? Or am I missing something?



  • Yeah, I want to move it to a plugin... but at the same time I'd probably want to keep things simple and only allow admins to set a skin.

    Allowing users to set skins was in-hindsight, not such a good idea.



  • @julianlam said in Discussion of NodeBB Updates:

    For those who are wondering, you should be able to swap the top buttons via the user settings page.
    We've been running this code on our community site for quite awhile, so not only has this code been tested, it's been tested live, too, so I'm surprised you're seeing composer issues right now, to be honest.

    Does your community site have zero users with an underscore in their name, and zero topic titles with a comma?

    Because your testing isn't fucking working. Those bugs are damning. (Seriously, you need to fire whatever developer you have who doesn't understand what an "identifier" is, or at least write a long essay about "don't fucking munge the characters of identifiers, you idiots!")

    Either your community is just blowing smoke up your ass about doing testing, or they're the types of people who are incredibly tolerant of obvious bugs. Either way, it ain't working.


  • kills Dumbledore

    I'd be happier with a user selectable choice of one light and one dark skin that work properly than with a whole selection of buggy bootswatch themes



  • @julianlam Isn't Bootstrap the moron shit library you're using that assumes you can tell whether a device is a phone or not by the width of the browser window?

    If so, yes, I agree you need a lot LESS of that in your crappy forum.


  • 🚽 Regular

    @anotherusername said in Discussion of NodeBB Updates:

    it looks like all of our custom emoji, not just that one, are getting .png appended for some reason

    :whoosh:



  • @zecc well golly... I guess I missed that one. :spittake:


  • Grade A Premium Asshole

    @blakeyrat said in Discussion of NodeBB Updates:

    @julianlam Isn't Bootstrap the moron shit library you're using that assumes you can tell whether a device is a phone or not by the width of the browser window?

    If so, yes, I agree you need a lot LESS of that in your crappy forum.

    Nailed it.

    @polygeekery said in Discussion of NodeBB Updates:

    @chaostheeternal said in Discussion of NodeBB Updates:

    991px is when it cuts over to the "mobile style" composer.

    blakeyrat "But I like to browse at 990px. 991px cramps my style."


  • :belt_onion:

    @anotherusername said in Discussion of NodeBB Updates:

    That or issues with certain themes (you do also test on themes other than default, right?).

    I am, to the best of my knowledge, using the default theme.



  • @blakeyrat I was referring to the header bar menu changes, which have been running fine for awhile.

    The underscore and identifier issue was pushed late and didn't follow our rule of not pushing important changes in during a code freeze. I made the mistake, and I'll own up to it. It was a bad solution to a problem that was fixed much easier after the fact, and I'm sorry you guys were bitten by it. It shouldn't have been released with 1.7.2.



  • @julianlam Well why didn't you review the code or run it through your QA pro--

    OH WAIT YOU FOLLOW NO QUALITY SOFTWARE DEVELOPMENT PRACTICES WHATSOEVER AND WOULD BE FIRED IN ABOUT 45 SECONDS FROM ANY COMPANY WHO ACTUALLY HAS SOFTWARE THAT'S WORTH ACTUAL MONEY.

    Fucking open source clowns.


  • Grade A Premium Asshole

    @blakeyrat I see someone got in to the soju early tonight.



  • @polygeekery 3 Mac & Jacks. But that shit still pisses me off. This industry's full of fucking hacks.


  • Considered Harmful

    Found one.
    First of all, I reiterate that fuck whoever decided the default behavior should be sidebar on the left instead of the right. At least it's changeable back, right?
    If you make the change on mobile, and reload the page, it works fine. But if you switch to desktop and go to the settings page, the option is not persisted, and if you save anything it'll undo the change because it thinks you changed it back.


  • kills Dumbledore

    @pie_flavor said in Discussion of NodeBB Updates:

    fuck whoever decided the default behavior should be sidebar on the left instead of the right

    Why? Hamburger on the left is a pretty common paradigm on mobile


  • Considered Harmful

    @jaloopa Muscle memory.


  • Banned

    @julianlam said in Discussion of NodeBB Updates:

    The underscore and identifier issue was pushed late and didn't follow our rule of not pushing important changes in during a code freeze. I made the mistake, and I'll own up to it.

    Why do you even have code freeze if you're not going to respect it? It's one thing to not respect rules imposed on you, but you're making the rules yourself, and you make them for a reason - and then throw both rules and reason out of the window. What's the point?


  • Banned

    Switch which side each mobile menu is on

    I'm offended by the wording. It's not me who switched them around!



  • @tsaukpaetra said in Discussion of NodeBB Updates:

    I have noticed that it is currently remarkably easy (read: easy to accidentally trigger) either sidebar while scrolling in mobile, but at least it hasn't got stuck halfway yet.

    Well that's an understatement. Scrolling through posts had become a fun game of let's-see-where-I-end-up-by-the-time-I'm-able-to-see-the-full-screen-again. Did anyone actually try to use this before it was forced upon us?


  • Considered Harmful

    There's supposed to be, like, buttons here, right?
    0_1512735137950_Screenshot_20171208-041055.jpg
    Edit: also here?
    0_1512735214286_Screenshot_20171208-041253.jpg
    And, for bonus ducks, it's damned near impossible to swipe right enough to reach the upload file button without opening the sidebar. Why the fuck is the sidebar openable from literally any swipe, including side scrollable elements?
    Edit edit: I was about to add another edit about how the site is also even slower than usual, which is impressive, but instead ran yet again into literally random fucking taps opening the sidebar and at the same time tapping elements within the sidebar. So I tap a spoiler and I'm suddenly on my profile page. The real wizardry there is that I'm tapping where the sidebar does not even fucking reach normally.
    Lastly, when I tried to use the back button to leave my profile page, I ended up here, with loading ceasing: *attempts to upload picture without opening sidebar* *fails*
    0_1512735630873_Screenshot_20171208-041631.png
    Who the fuck tested this mess? For once @blakeyrat is right. This is fucking egregious.


  • Considered Harmful

    Oh my FUCKING GOD the sidebar needs to stop opening. Since I posted here last, while miscellaneously scrolling, the sidebar has opened upwards of fifty-four times (and the chats menu 4 times), and I have been randomly navigated to a sidebar link six times. That number used to be "fifty", but it happened two more times while writing this post, and two more times while attempting to actually edit the number, due to its coincidental placement behind the red boob.
    I repeat: EGREGIOUS.



  • I don't know if I'm :doing_it_wrong: or what, but IME the side menu swiping behavior is much improved. I haven't had it trigger unintentionally, aside from scrolling to the image upload button.


  • Discourse touched me in a no-no place

    @pie_flavor said in Discussion of NodeBB Updates:

    Why the fuck is the sidebar openable from literally any swipe, including side scrollable elements?

    Can we add the Post Queue to the list of elements this happens with.



  • @pie_flavor said in Discussion of NodeBB Updates:

    it's damned near impossible to swipe right enough to reach the upload file button without opening the sidebar

    To be fair, unless NodeBB copied our customization, that issue is in part due to us trying to minimize the space that bar takes on mobile (it used to wrap, which means you saw less of the composer). Seems like the customization otherwise is good now that the header is visible while composing now.



  • @PJH @pie_flavor yes, I'll add your concerns to a list to hand over to the dev who coded the new sidebar.

    @Gąska you're completely right and again, I own up to how remarkably stupid it was for me to push this change.

    I'm switching to laptop to explain, one sec.

    Edit: 1.7.2 wasn't originally planned for one week after v1.7.1, we had decided to launch this past Monday because of a security issue that was reported and fixed. The moment we decided to launch on Monday, I should have taken time to go through my commits and revert ones that could possibly muck things up, the underscore one in particular.

    I didn't, and that's my fault completely. Usually we have more lead time between releases so something like this is caught early on and fixed.

    I got cocky and thought that I could forgo our standard "one week or more" launch planning checklist, and it bit me in the behind. It won't happen again. Should a security vulnerability be found and patched in a similar timeframe, we'll backport it immediately and schedule a launch for two Wednesdays from that day, unless it is a Wednesday, in which case we'll launch the next Wednesday.

    ... we launch Wednesdays because raisins.

    It's one thing to not respect rules imposed on you, but you're making the rules yourself, and you make them for a reason - and then throw both rules and reason out of the window. What's the point?

    You're right. My not respecting my own rules doesn't set a good example for everybody else to follow, so I'm trying to be transparent in owning up to my mess so it doesn't happen again.


  • Grade A Premium Asshole

    @julianlam said in Discussion of NodeBB Updates:

    I'm switching to laptop to explain, one sec.

    I R Amused.



  • @pie_flavor said in Discussion of NodeBB Updates:

    @jaloopa Muscle memory.

    @gąska said in Discussion of NodeBB Updates:

    I'm offended by the wording. It's not me who switched them around!

    There's a userland option to switch the buttons, but it shouldn't have been switched around in the first place I think (if only due to muscle memory). That, and we also need an admin option to set the default.



  • @pie_flavor said in Discussion of NodeBB Updates:

    If you make the change on mobile, and reload the page, it works fine. But if you switch to desktop and go to the settings page, the option is not persisted, and if you save anything it'll undo the change because it thinks you changed it back.

    Repro'd. Turns out it's a local storage setting. We'll change this to a user setting so it persists between devices 👍


  • Discourse touched me in a no-no place

    @julianlam said in Discussion of NodeBB Updates:

    I didn't, and that's my fault completely. Usually we have more lead time between releases so something like this is caught early on and fixed.

    I got cocky and thought that I could forgo our standard "one week or more" launch planning checklist, and it bit me in the behind. It won't happen again. Should a security vulnerability be found and patched in a similar timeframe, we'll backport it immediately and schedule a launch for two Wednesdays from that day, unless it is a Wednesday, in which case we'll launch the next Wednesday.

    You're right. My not respecting my own rules doesn't set a good example for everybody else to follow, so I'm trying to be transparent in owning up to my mess so it doesn't happen again.

    @julianlam massive respect to you for this post. :doing_it_wrong: would have ragequit, and perhaps tried to ban us from our own forum by now.

    It's a nice change of pace to meet someone who is open about their mistakes, and shows some humility.


  • Notification Spam Recipient

    @julianlam said in Discussion of NodeBB Updates:

    I'm switching to laptop to explain, one sec.

    The fact that you had to do that is telling. I read stories that are produced on phones, sometimes updated daily, and they don't complain that they have to switch to a bigger-screen device to make typing usable (they do complain about autocorrect though).



  • @julianlam said in Discussion of NodeBB Updates:

    Edit: 1.7.2 wasn't originally planned for one week after v1.7.1, we had decided to launch this past Monday because of a security issue that was reported and fixed. The moment we decided to launch on Monday, I should have taken time to go through my commits and revert ones that could possibly muck things up, the underscore one in particular.

    So you also don't use Git Flow or any kind of branching strategy where you could push out a security fix without also including in-progress features.

    But of course, why would you? That would be a thing a professional developer would do to ensure quality, and you give zero shits about that.



  • @doctorjones said in Discussion of NodeBB Updates:

    It's a nice change of pace to meet someone who is open about their mistakes, and shows some humility.

    Personally, I'd rather have quality software than apologies.


  • Notification Spam Recipient

    @blakeyrat said in Discussion of NodeBB Updates:

    @doctorjones said in Discussion of NodeBB Updates:

    It's a nice change of pace to meet someone who is open about their mistakes, and shows some humility.

    Personally, I'd rather have quality software than apologies.

    Dream on, good sir...



  • @blakeyrat said in Discussion of NodeBB Updates:

    So you also don't use Git Flow or any kind of branching strategy where you could push out a security fix without also including in-progress features.

    We do. The process just wasn't followed this time.



  • @julianlam said in Discussion of NodeBB Updates:

    We do. The process just wasn't followed this time.

    Good jerb.

    Apologies I'm ok with:

    • We had no idea this was wrong, so we're sorry

    Apologies I'm not ok with:

    • We know exactly that this is wrong and the harm it could cause, and we fucking did it anyway I guess because we always just knee-jerk every action we take and never stop and think about anything at all.

    The last one is an apology, sure, but it's also a giant flashing neon sign saying "NEVER TRUST THIS PERSON ABOUT ANYTHING EVER AGAIN".


  • Considered Harmful

    @pie_flavor I find it hilarious that the most recent random sidebar navigation led me to this post.


  • Considered Harmful

    Oh, and I just came across this gem. The title is supposed to be "Poe or Noe".
    0_1512755004413_Screenshot_20171208-094214.png


  • Grade A Premium Asshole

    @blakeyrat yeah, that second one is not what he said. Let me fix it for you.

    "Yeah, we fucked up and it was my fault. This reiterates to me why the policies we put in place but were not followed this time were a good idea. I have learned from this and this reminder will help keep this from happening again."

    You OK with that apology? Your strawman version of it is just nonsense constructed to badger @julianlam. They have done pretty well considering how young their project is. Everyone fucks up. He owned it, apologized and promised it to not happen again.

    If it happens again you can rake him over the coals. I will stoke them for you. But maybe try not being a total cockhole over something that in the grand scheme of things is rather minor and was fixed pretty quickly due to their attentiveness to issues.



  • @pie_flavor said in Discussion of NodeBB Updates:

    Oh, and I just came across this gem. The title is supposed to be "Poe or Noe".!

    Can you reproduce this easily? I'd be interested in figuring out why that happens...!


Log in to reply