Simple Unread List Plugin (discourse-simple-unread)

Repository: https://github.com/davidtaylorhq/discourse-simple-unread

This plugin adds another way of listing topics: the “Unseen” tab. It combines what you’d see under New and Unread, or to put it another way, it’s the same as Latest except it hides the topics you have fully read.

It has the same live-update functionality as the built-in pages:

There is a button to mark all topics in the list as “read”:

How is this different from the existing new/unread tabs?

“Unseen” is not a great title, but it needed to be something different to “Unread”. On my forum, we have renamed the existing “Unread” page to “Tracked”, and then renamed “Unseen” to “Unread”.

Installation

First install this plugin as any other: add one line to your app.yml:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/davidtaylorhq/discourse-simple-unread.git

Then rebuild the container:

cd /var/discourse
sudo ./launcher rebuild app

Then to make the page visible, you need to add a menu item. It is recommended that you install the Nav Links Theme Component. You can then add a new link by entering the following in the component settings:

Unseen;topics which contain posts you haven't yet read;/unseen
11 Likes

Since migrating from phpBB, some of our users have complained that the Unread tab’s behaviour is very different from what it used to be. This looks like it could make it do what they expect. Thank you for making it!

How did you go about this? Can you just do it through the admin text content interface?

1 Like

Yes, admin/customize/text-content

1 Like

This looks really useful David, but after installing it is not showing up in top menu, I do see it’s installed under plugins, any ideas?

1 Like

I can confirm “unseen” is not an option in the top menu setting.

I think this became impossible here: Invalid items can be added to the top_menu setting

I’d guess the plugin needs to add itself to the choices list.

It would also be good if it could add itself to the user’s Preferences→Interface→Default Home Page (and in a way which can be renamed through text content).

I haven’t used this plugin for a long time, and I don’t know of any sites using it successfully. I’ll move it to #plugin:broken-plugin for now, but will happily accept a pull request to fix the issues.

1 Like

Well the core of the plugin seems to work to me. Using the Nav Links Component I added a link to it, and from what I can tell it’s working properly.

So maybe all that’s needed is better instructions here. I was thinking of making some edits anyway to explain what text content keys to change. (Though I’m not sure what extent that’s still even needed with the Nav Links Component now.)

I guess the real sore point is the menu management. The Nav Links Component is great if you just want to add a link to the end, but I’d ideally add this after latest, before the original Unread tab (which I’d rename to Tracked), before Top and New and Bookmarks etc. But I expect using the component will stop the menu items from showing a number. The component also has some poor quirks, such that if you start typing and change tabs, you’ll lose everything you entered. Even the original navigation plugin didn’t look like it made it easy to rearrange the menu items.

So this does work. It’s just depends on a very sub-optimal part of the Discourse ecosystem.

3 Likes