How does the reader / read guideline badges work?

(Caue Rego) #1

I’m not the biggest reader out there, but I do read a lot (and I love the whole “need to read” concept behind discourse! :slight_smile: ). I did read guidelines and got no badge (on other discourse sites).

How exactly do they work? Why might I not be getting 'em?

(Régis Hanol) #2

It’s awarded whenever you reach the bottom of the page.

(Caue Rego) #3

I’ve read somewhere (couldn’t find it now) that’s not it and there are other measures taken to prevent precisely that. Also, I did reach bottom many times, so it’s not working.

(Régis Hanol) #4

I’m pretty sure it’s based solely on the user reaching the bottom of the /faq page :wink:

(Caue Rego) #5

So maybe there’s a bug on HTG?

I’m pretty sure my instance is updated and it also doesn’t work there.

(Régis Hanol) #6

There’s high chance the code doesn’t work with custom header… Both of these sites have one.

(Caue Rego) #7

Oh, custom header do offer many bugs on scrolling indeed. Should I open up a report?

Also, I believe the “reader badge” isn’t just about reaching the bottom of the page. That doesn’t work even here on meta, which is good. But still makes me wonder how does it work.

(Jeff Atwood) #8

This is technically your bug @sam – I don’t like unachievable badges. Perhaps we can make it so if the last paragraph is visible in the browser, you achieve it?


I really shortened our guidelines, so it all fits on one screen with the browser maximized. I couldn’t get the badge until I changed the browser to windowed and made the window small enough vertically that I had to scroll to get to the bottom of the guidelines.

Hide 'Welcome to the forums' for admin user. Make reading it mandatory
(Caue Rego) #10

Can’t be much shorter than mine. :stuck_out_tongue:

I’ve actually just tried removing my custom header and it didn’t work out. It might still have something to do with it, but it’s certainly not the only issue there.

(Kane York) #11

I think it’s due to the fact that no scrolling is required to reach the end, so you never scroll, so it never checks to see if you’re at the end.

There’s a similar problem on the topic list - if the whole thing fits on the screen when you first load, it won’t load more until you scroll.

(Caue Rego) #12

That’s it. I removed it again and resized the window. It worked.

Now I doubt I’d be able to do a PR before you guys fix this. :frowning:

(Régis Hanol) #13

I improved our handling of the read guidelines badge and we’ll now properly detect whenever the last paragraph is in the viewport :bug:

Hide 'Welcome to the forums' for admin user. Make reading it mandatory
(Graham Perrin) #14

Reading this alongside Why is Guidelines called FAQ? Can we link to GUIDELINES and FAQ from hamburger menu? (2015-11-13)

For badge grant purposes, was/is it equally effective to read the content at the /guidelines URL?

I ask because Read Guidelines badge on Discourse Meta shows that I read the guidelines only twenty minutes ago, but I recall seeing the guidelines – or something very similar, with the public park metaphor – months earlier.

It is, of course, possible that my earlier reading of /faq or /guidelines was at a different Discourse site, or that the earlier reading was partial (not enough for the badge). But I’m curious about URL equivalence.

(Régis Hanol) #15

According to the code it should work if you read either /faq or /guidelines

(Wolftune) #16

Can we turn off the granting of this badge for FAQ?

We use a different FAQ link to an actual FAQ and have /guidelines go to the Guidelines. I found that users are still getting granted this badge by merely visiting /about/faq even though that just redirects to a different real FAQ. We want to have this badge only granted for visiting /guidelines.

(Sam Saffron) #17

You can enable or disable whatever badge you want in admin/badges it has [ ] Enable badge of every system badge.

(Wolftune) #18

Well, I want the badge, but I want it to be granted only for visiting /guidelines and not for visiting /faq (this is when we have set an external FAQ so that “Guidelines” shows up again in the nav system).

Anyway, I found an adequate workaround: I used a CSS customization to hide the faq links so that it’s unlikely for anyone to go to any FAQ at all:

.faq-link, .nav-item-faq {
    display: none !important;

If we want an FAQ separately from Guidelines, we can add links in other ways, distinct from the specific classes. And this way, we get to keep the badge active for reading the Guidelines.