'Mark as read' needed within categories

I have read the threads regarding the need for a “Mark as read” button in Discourse, and I vehemently disagree with the stance of the Discourse staff that this function signifies a “cop-out” or “giving up.” It is a convenience, enjoyed by forum users in other forum applications, produced by people who allow their customers to decide how to manage their forum behavior, rather than dictate how their customers must operate.

I don’t use the “New,” or “Unread” lists. I, like many real-world users, go to the forum Category(ies) that I am interested in. I like to see the whole list of topics in the category, so I can decide which ones to open, read, and perhaps respond to, and which ones I won’t. When I am finished with the current session, I generally click ‘Mark all as read’ (again, on other, feature-complete forum apps), so when I return, I can see what has changed only since my last visit, and I don’t have to re-evaluate posts that I’ve already decided to skip.

The screenshot below shows what I’m talking about. Topics with new/unread activity are in bright white, and topics with no new activity are gray. I can see at a glance that I don’t need to re-visit the gray topics, but I can’t tell if the white topics have new activity since my last visit or not. If I could have marked them all as read on my last visit, it would save me quite a bit of time. That is not a ‘cop-out,’ and it is not ‘giving up.’

I am requesting a ‘Mark all as read’ button within forum categories so I may continue to use the forums in the efficient manner to which I am accustomed.


If there are categories that you don’t care about, you could mute them and then use new and unread.

Thing is, you have no mark as read anywhere on the forum on latest lists.

You only get that in “unread” and “new” tabs, there is a feature that is missing that means you can not “dismiss new” when you are filtered into a category. You can dismiss “unread” when filtered.

I am fine to add a dismiss “new” for when you have “new” selected in a category it is not implemented yet cause it is a bit tricky.

That said, I don’t think this really would help your particular workflow that much at all cause you would have to visit “new” in the category, hit dismiss and then visit “unread” and then hit dismiss.

What it feels to me you are asking for is a mixed “unread+new” list that you can quickly clear off. You already have the last visited line you can rely on which is 100% automatic and gives you similar behavior, so when you catch up on a category you only have to read till you see the “last visit” line.

I worry though that you did not think through this request properly.

If you “cleared” stuff off, do you want Discourse to remember your position in the topic when you eventually re-visit it? Or do you want discourse to skip all the posts you did not visit?

A “strong” clear like we have for “dismiss unread” can cause confusion. My guess here is that all you are asking for is a way to turn “links” on the page from “BOLD” to “not bold visited” on demand and keep all the tracking in tact. I worry that adding such a feature would cause a lot of confusion.

1 Like

All I’m saying is that, in every forum software I have encountered before Discourse, my particular workflow was intuitively easy, logical, and pretty much standard. It was easy to do exactly what I described, and I would like it if Discourse could do it too.

I don’t understand why this is a guess. That’s exactly what I’m asking for, and I thought my post was pretty clear. I hope the fact that most forums have worked that way for years will assuage your worry that the feature would cause confusion.

Admittedly, my workflow is different than yours. I use the Watch list and “consider new when” settings, and the “last visit” line.

I would not like this forced upon me by a site, because depending on how busy I am and where my head is at there are times when I may be interested in reading “marginally interested in” topics that I have not read yet and use the visited property of the title links to identify those.

Anyway, IMHO this would be more robust using JavaScript to give the class value visited so the link text color would “just work”. But it can be done using CSS that uses the general sibling combinator (tweak color to taste)

tr.last-visit ~ tr.topic-list-item .main-link a.title { 
  color: #919191; 

If you think all your members want this, you can enter that in your Admin -> Customize. But I really think you should enter this in your own user stylesheet and not as site CSS


There are no plans for this for the forseeable future.

This is the functional equivalent.

1 Like

I disagree that the ‘last visited’ line is functionally equivalent. There remain many threads below that line that appear to be updated/unread. Currently, my only recourse to make them all appear read is to open them all, one at a time, which is not practical.

unread, well sure, if you haven’t read them

updated, there shouldn’t be, if there are it may be a bug. for example, in this screen capture:

all the topics above the last visit line have activity times of 20 hours or less, and all of the topics below, 22 hours or more.

If this is not what you’re experiencing, please post a screen capture.

1 Like

This has no bearing on what I’m asking for.

In the equivalent feature in Gmail, if you mark a thread as read and then open it, all of those messages are collapsed. That seems analogous to skipping all the posts in a discourse topic if the feature were to exist here.

Came here also looking for a Mark as Read button within topics. I see it is not on the roadmap, but it would be useful as:

  • We read most topics via email.
  • We have enough negative posts across various categories that I’d rather not read them twice. :frowning:

You already have it to a degree, visit topic, press end

6 posts were split to a new topic: Can I have a mark as unread button?