Dismiss (new topics) button missing on categories (when new filter selected)

Using Discourse at these two sites:


Until a recent upgrade, there used to be a small, rectangular mid-grey button at bottom right of the page displaying New topics (from the ‘New’ tab at top) with the label ‘Dismiss’ or ‘Dismiss All’.

It seems to have gone in this version.

It was particularly useful when not every thread was relevant or needed to be attended to.

Now it’s necessary to click into each thread - actually twice - for them each no longer to show up in one’s ‘New’ list.

Good luck with fixing this - and thanks!

We used to suppress this until you had at least {x} things visible. How many things were visible in the list in the above two examples?

I believe we recently changed it so that the Dismiss button is always visible, even if there are zero or one items visible in the list.

To be clear, he’s referring to the fact that there’s no Dismiss button when you drill down into the category-level.

Top-level, dismiss button is available:

Category-level, no dismiss button:
Edit: Whoops, I accidentally screenshotted Latest instead of New here, but take my word for it, there’s no Dismiss button.

2 Likes

I believe that is intentional though, as New, unlike Unread, is a setting on the user, not on a category. So resetting it with a category filter will filter topics/posts you are not viewing, because they are in a different category and your category view is hiding them from you.

Unread on the other hand is on a topic level and can exist on the category filter page without any repurcussions.

Huh? I’m not following your logic here. I can dismiss my New topics spanning all categories, so why shouldn’t I be able to do the same for just one specific category?

Becuase the indicator is on the user level.

If I’m viewing All Categories, then setting “unread date” to “right now” on the user table for my Username makes sense, as I’m seeing what I’m dismissing.

But if I’m on the Bugs category and I’m seeing 2 out of 36 New Topics, setting that indicator will wipe out all 36 topics even though I’m currenting looking at 2 of them. As it will update a timestamp on my entry in the Users table, which applies outside of all categories and topics.

2 Likes

Also, suggest reading this (as I looked into this in the past and couldn’t implement it due to what I’m trying to describe here)
https://meta.discourse.org/t/dismiss-buttons-missing-on-category-new-unread/19985/9?u=cpradio

2 Likes

Thanks for your replies!

It makes no difference whether there is/are 1 or 10 unread threads.

It makes no difference whether I am in ‘All’ or a subcategory.

Behaviour has also changed in that - in the absence of Dismiss - I now have to go into the thread/topic and click at least twice on the (often single) post before it stops contributing the the New count.

:slight_smile:

It works for me

Not shown on category filter

Shown on All Categories

1 Like

Oh wait I misspoke. Apologies. I was referring to the Dismiss button on the user notifications.

Dismissing new topics:

  • may not be available at the category level
  • is only shown when there are more than (x) topics to dismiss

Only for the top button (which requires 30), bottom button simply requires at least 1 new topic for it to be shown.

https://github.com/discourse/discourse/blob/400c06104601dce684e1ffb3218bcbdfe9a68e6b/app/assets/javascripts/discourse/controllers/discovery/topics.js.es6#L90-L98

1 Like

Thanks - I get nothing of any kind, ever :frowning:

Are there any CSS customizations or third party plugins on the site? Have you tried disabling those?

Not so far as I know.

I am not the administrator. I get this on two browsers - one at work, one at home.

Your help appreciated!

No repro

1 Like

This did pop up here as well:

At the moment we don’t have any way of “dismissing” new when you are drilled in to a category. I think this can be important if you are working through a bunch of categories and simply want to “opt out” of a few of them.

Technically the only thing we can do is set 1 as last_post_seen on topic_user for all the new topics in the category. It means these topics will not be tracked and you will simply have “opted out”.

User at gearbox was also asking for a 1 click dismiss of both new and unread.

2 Likes

It does not inappropriately give the user credit for actually visiting these topics though?

1 Like

It is tricky business.

It would act similar to how dismiss unread works.

https://github.com/discourse/discourse/blob/7fa2ae912cd5a892a6b256984d23199ff530076e/lib/topics_bulk_action.rb#L71-L76

This code “pretends” a user has highest_seen_post_number when in fact there is no record in the post_timings table.

When we ensure consistency here: https://github.com/discourse/discourse/blob/7fa2ae912cd5a892a6b256984d23199ff530076e/app/models/topic_user.rb#L454-L469 we only move the clock forward, never backwards.

The data in the /u route for directory does not draw from the topic_users table per: https://github.com/discourse/discourse/blob/7fa2ae912cd5a892a6b256984d23199ff530076e/app/models/directory_item.rb#L78-L117

User stats also draws from post_timings https://github.com/discourse/discourse/blob/7fa2ae912cd5a892a6b256984d23199ff530076e/app/models/user_stat.rb#L112-L126

There are many moving bits here, but from basic analysis this would be invisible in stats.

2 Likes