Horizontal loading slider

:police_car_light: This functionality is now part of Discourse core. Use the ‘page loading indicator’ setting to enable it. More details below.

This theme component removes the core Discourse loading spinner, and replaces it with a loading slider at the top of the screen. This is a common approach on other sites (e.g. GitHub). The advantage is that there is less ‘flickering’ of content during a page change. Potential disadvantage is that it makes Discourse feel less like an app and more like a webpage.

normal with theme component
ezgif-6-370e14693a43 ezgif-6-f4ed194f762c

Known Issues:

  • Latest / Top / Unread… dropdown gets stuck on mobile :white_check_mark:

  • discourse-encrypt incompatibilities (e.g. topic titles getting stuck when switching between topics)

92개의 좋아요

This is so much more visually appealing to me. The loading spinner is nice but quite jarring.

25개의 좋아요

Can we give it a try for a day or two on Meta @david ?

16개의 좋아요

Sure, let’s see what it feels like. Enabled here on Meta :+1: (And temporarily pinned/renamed this topic so people know it’s happening)

25개의 좋아요

While I like it, it does feel quite slower. Maybe it’s because I have ~250ms latency from Meta.

14개의 좋아요

Yeah I am torn on it. I like that it stops the full-page flickering, but it does make the UI feel a little less responsive :thinking:

15개의 좋아요

Conversely I feel it makes the page feel faster with a low latency connection. Though the UI responsiveness is different.

13개의 좋아요

I preferred the spinner, though to be honest I hadn’t really been aware of it. I like the way it is there for a split second then the page appears suddenly. This seems fast. With the bar, it makes me more aware of waiting. I found myself still looking at it when otherwise I could have started reading the page.

It might be some improvement if it “ended” at an earlier stage of page loading.

Or if you want to move away from the old spinner what about a new spinner that is like a circular version of the bar - reaching 360 degrees just before it disappears?

10개의 좋아요

This was exposing a few different rendering bugs (e.g. navigating directly from one topic to another would cause issues displaying the OP). Removed from Meta for now, but you can still try it out using the theme creator link in the OP

14개의 좋아요

Oh yes, this is 100% better, feel free to make it so!

17개의 좋아요

The topic rendering bug should now be ironed out, so I’ve re-enabled this here on Meta. Let’s see how we get on with it.

17개의 좋아요

Looking awesome. :+1:t2: Keep up the good work.

9개의 좋아요

The bar is way better.

6개의 좋아요

I like it very much, even if customized spinners won’t show up most of the time.
One issue though. The loading bar isn’t used when you reload the topic or topic list you’re on.
If you’re on meta home, click on the logo, and you’ll see the spinner instead of the bar.

8개의 좋아요

I like it much better than the spinner. Great work!

How to set/change the color of the loading bar though?

6개의 좋아요

Currently it’s set based on the ‘quaternary’ color in the color scheme. It would be easy to customize individually via CSS if you wanted to.

Good catch, thanks. I’ll see if I can override that situation as well :+1:

12개의 좋아요

Is the goal to eventually move this into core Discourse and not require a theme component?

7개의 좋아요