Some feedback from the lovely folk at my forum

  • @baris Getting closer, it remembers the theme, but the button doesn't display anymore. πŸ˜†

    EDIT: Cleared my localstorage. When the theme is "normal", the button is there, when it is set to 'lights-out' the button vanishes. So I'd need the button to toggle it back if required. (If possible)

  • NodeBB Admin

    Updated the code in the previous post, body and the button had the same class so changed the selector to if (!$('.panel.lights-out').length) {

  • @baris Perfect, thanks a lot for the help. πŸ‘ Just need to work on Chrome now not changing .fade-out. πŸ˜† Thanks again!

  • NodeBB Admin

    That's a css style in vanilla.

    .fade-out {
    	position: absolute;
    	top: 190px;
    	left: 0;
    	width: 100%;
    	margin: 0;
    	padding: 30px 0;
    	background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, transparent),color-stop(1, white));
    	background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), white);
    	background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0), white);
    	background-image: -ms-linear-gradient(top, transparent, white);
    	background-image: -o-linear-gradient(top, transparent, white);

    Just change the white to your desired background color. In your case I think it is #2b2b2b

    I think.

    .lights-out .fade-out {
    	background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, transparent),color-stop(1, #2b2b2b));
    	background-image: -webkit-linear-gradient(top, rgba(43, 43, 43, 0), #2b2b2b);
    	background-image: -moz-linear-gradient(top, rgba(43, 43, 43, 0), #2b2b2b);
    	background-image: -ms-linear-gradient(top, transparent, #2b2b2b);
    	background-image: -o-linear-gradient(top, transparent, #2b2b2b);

    Should work, adjust if you want a different color.

  • Admin

    haha nice, @baris fixing my derp for me πŸ˜„

  • Back with another one or two, there's a noticeable delay between pages loading now, happens here and on my place, also the fade out and back in of pages feels like " wading through quicksand", I'm inclined to agree, waiting for a page to fade out when you've clicked somewhere else is a bit silly, would a better option not be wait until the next page is ready and just snap between them? Or is this done because of a limitation?

  • GNU/Linux Admin

    Will defer to @psychobunny for an in-depth reply, but the fade-out is only happening because NodeBB needs to fetch the data and parse the template. If all that is done before the fadeout is finished, then we'll stop it immediately and start the fade-in with the new content.

    There might be a 100ms delay, mostly because wanted to avoid this:

    1. Content starts fading out
    2. While it's at 50% opacity, the new content appears, and user gets to watch the new content fade out
    3. New content fades in πŸ˜•


  • @julian Makes sense. When it doesn't fade, it's really quick, but when it fades out, then sits there for a bit, it seems slower than usual. Probably doesn't help my VPS is almost maxed out with the posts I've got (upgrade imminent).


  • Admin

    I know we added an extra delay because the pages were loading too fast... over here at least. Maybe that's what is slowing you guys down?

  • @psychobunny It's kind of like the delay happens after the page fades out, rather than during for me. πŸ˜•

  • GNU/Linux Admin

    @a_5mith Keep in mind that every plugin you install takes time to parse their portion of the post.

    So if you're loading a thread with lots of soundcloud embeds, that might take a long time depending on how slow the soundcloud API is.

    Best practice is to cache those API calls, so repeated calls load from cache instead of making that network call to the soundcloud API again. I do this with GitHub plugin, which explains why sometimes after a bug is closed, the referenced bug is still listed as "open" in the embed here πŸ˜„

  • @julian Does it from Home to Categories and back again too, I'll look into the caching though, as it would be useful, I already lazyload youtube videos (plugin is coming). πŸ˜›

  • Admin

    Clear your cache here, does it seem a bit better for you now?

  • @psychobunny It's absolutely perfect on Canary (Chrome), but Firefox still has a mild delay between the page fading out and the other page fading back in again. πŸ˜•

  • Admin

    Yeah I see the same thing you do. I need to rework how ajaxify happens, @julian was mentioning a cross-fade, but I'm not sure if it would look good or would look like one of those corny wedding home videos kinda thing πŸ˜›

  • @psychobunny While we're discussing the fading, is there a way to turn it off? It's nice an all but I would like to turn it off for a forum I'm working on.

  • NodeBB Admin

    I think putting the following in customCSS will stop the fade in out

    .ajaxifying {
    	-moz-opacity: 1.00;
    	opacity: 1.00;

    You can modify the vanilla theme to completely remove the transition as well, not sure which one is better.

  • @baris Bloody ell that's made my forum quick. πŸ˜† I think it may be firefox struggling to transition the opacity in a smooth motion. It still fades in slightly, but it's instant and the page load is definitely snappier. I'm scared to try this in Canary. πŸ˜†

    Yep, 10/10, would recommend. πŸ˜„

  • Admin


    If everything is up to par (API vs rendering speed) I just feel that the instasnap between pages is a little bit too artificial (feels like clicking between an #anchor, if you know what I mean)

    I read somewhere that NodeBB apparently uses the opacity transition animation to fake our loading speed, but the truth is, we did it so that it slows it down a bit to make it not feel so weird

  • @psychobunny I definitely could see how the instantaneous loading would feel weird, but I actually find it awesome that things load that quickly in NodeBB.

Suggested Topics

| | |

Β© 2014 – 2022 NodeBB, Inc. β€” Made in Canada.