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 个赞

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 个赞

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 个赞

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 个赞

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 个赞

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 个赞

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 个赞

您能详细说明一下具体怎么做吗?
所链接的主题不存在或无法访问。

1 个赞

我认为这是因为该功能现在已是标准功能,而不再属于主题组件。

如果您在话题底部打开“话题控制”,应该能看到该选项:

3 个赞

这是需要启用的功能吗?
我在本地和 discuss.gradle.org 上都找不到它。

1 个赞

您必须先在个人资料设置中启用它,地址为 https://meta.discourse.org/my/preferences/interface。也可以通过站点设置 /admin/site_settings/category/all_results?filter=defer 为所有新用户默认启用该功能。

4 个赞

啊,谢谢。
没想到这是你需要或可以切换的功能。
如果你不需要它,只需像书签按钮那样避免点击该按钮即可。

1 个赞

设置中原本的考量是,该功能会在主题底部增加杂乱感,尤其是在桌面端。此外,该功能仅对“收件箱清零”工作流爱好者有用,预计这类用户群体小于使用书签及其他同区域按钮的用户群体。

2 个赞

我不同意它仅适用于“收件箱清零”。
我更接近“收件箱 10,000”,但仍然希望将主题标记为未读。
我一直非常怀念这项功能,并总是为 Discourse 缺乏如此基础的功能而惋惜。
直到我决定报告这个问题,现在才发现这项功能一直存在,只是隐藏得非常深。:slight_smile:

2 个赞

好奇一下,你会使用书签提醒吗?