Ability to mark any post as unread

Continuing the discussion from How Coinbase Uses Discourse to Educate Customers and Improve SEO:

The interviewee of the referenced blog article states the following dislike:

If a post on a topic can be “unread”, why can’t I mark it unread again after reading it?

and I’d like to talk a bit about that and the workflow that is not possible at the moment.


Concept

In email clients, you can mark any email as “unread”, even in a longer discussion or thread, and return to it later. Most clients allow you to filter or navigate unread emails only, so this workflow is a breeze for when you decide you need to work on something again later, such as prepare a reply.

The same holds true for RSS readers, where you find a post that deserves more attention than what you give currently and you want to save it for later.

In Discourse, however, the concept of marking specific posts as unread is not a thing and unread posts can only occur at the end of a thread that you didn’t scroll into the view yet. Additionally, the algorithm that chooses to automatically mark posts as read can be inaccurate depending on your reading habits (i.e. whether you use mouse scrolling or j/k keys).

Why Not Bookmarks?

I understand that bookmarks are a possible workaround for this situation. But “bookmarks” semantically mean something different in most situations because I only intend to (re-)read the “unread” posts once and not save it for recurring occasions. Thus, one-time bookmarks and long-term bookmarks would get mixed and you’ll have to remember to unbookmark each “unread” post when you access it. They would also not get displayed in the “Unread” front page tab.


Required Changes for Discourse

  • The unread indicator (currently blue dot next to relative post timestamp) needs to be toggleable, which likely requires repositioning and redesign. Also with a keyboard shortcut, suggesting m (already used for topic track state).
  • There needs to be a way to traverse between unread posts within a thread, up and down.

It’s not high priority for me, but it deserves to be discussed imo.

3 Likes

A much higher priority for us is to have a cleaner way of dealing with “reading holes” eg: topics where you read post 1-10, 50 but did not read 11-49. If what you are describing would likely create reading holes and not behave in a very intuitive way cause you could only do it effectively for the last post in a topic.

2 Likes

Yes, it would (or rather should) be possible to create these “reading holes” that way.

My second suggested change is supposed to hint at the reading holes issue. I suppose there are generally two ways to solve this:

  1. Hide read posts.
  2. Do not hide read posts and instead provide buttons/key binds to traverse to next or previous unread post.

I can not evaluate how gray and blue unread counters are relevant here, because I don’t clearly understand how they work at this moment, however.

I like it and asked before

3 Likes

yeah I use Discourse as a teacher and there are topics I need to come back to in like 4 months (Bookmark) and there are topics I need to remember to answer in a few days (mark as undread).

3 Likes

Agreed! I need a feature like this. Any workaround with a plug-in?

Any progress on this? Is it on the roadmap?

It is not on any roadmap I am aware of. Use bookmarks.

3 Likes

Assuming that the Discourse Calendar plugin will also work in PMs, perhaps you can work around it by creating a calendar PM to yourself and adding replies with links to posts you want to come back to at a certain point in time?

That sounds awfully complex when we already have several means to track notable threads.

4 Likes

Absolutely. It was just an idea for those who are not happy with existing functionality.

A theme component can now allow you to do this per:

https://meta.discourse.org/t/defer-topic-button-mark-topic-unread/110951

7 Likes

Can you maybe elaborate how to do it?
The linked topic is not existing or accessible.

1 Like

I think it’s because that function is now standard, rather than in a theme component.

If you open up ‘Topic Controls’ at the bottom of a topic you should see the option in there:

3 Likes

Is that something that needs to be enabled?
I neither see it here, nor on discuss.gradle.org.

1 Like

You must enable it first on your profile settings at Discourse Meta - The Official Support Forum for Discourse. It can also be enabled by default for new users using the site setting at /admin/site_settings/category/all_results?filter=defer

4 Likes

Ah, thanks.
Didn’t expect that is something you need or can toggle.
If you don’t want it, you just can avoid pressing the button just like the bookmark button and so on.

1 Like

The original reasoning between the settings is that it adds clutter to the topic bottom, specially on the desktop. The feature is also only useful for “inbox zero” workflow adepts, which is expected to be smaller than the population who uses bookmarks and the other buttons in the same area.

2 Likes

I don’t agree that it is only useful for “inbox zero”.
I’m more like “inbox 10_000” and still want to mark topics unread.
I really missed that functionality and always mourned about Discourse not having such a basic functionality.
Until I decided to report it and now found out that the functionality always was there, just very well hidden. :slight_smile:

2 Likes

Curious, do you use bookmark reminders?