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 лайка

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 лайка

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 лайка

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 лайк

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.

1 лайк

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 лайк

Это тоже появилось здесь:

https://forums.gearboxsoftware.com/t/new-forum-layout/3122504/8?u=sam.saffron

В данный момент у нас нет способа «отклонить» новые темы, когда вы находитесь внутри категории. Я считаю, что это может быть важно, если вы просматриваете множество категорий и просто хотите «отказаться» от некоторых из них.

Технически единственное, что мы можем сделать, — это установить значение 1 в поле last_post_seen для topic_user по всем новым темам в категории. Это означает, что эти темы не будут отслеживаться, и вы просто «откажетесь» от них.

Пользователь на Gearbox также просил возможность одним кликом отклонить как новые, так и непрочитанные темы.

2 лайка

Это не будет некорректно засчитывать пользователю фактическое посещение этих тем?

1 лайк

Это сложная задача.

Она будет работать аналогично функции «Скрыть непрочитанные».

Этот код «притворяется», что у пользователя есть highest_seen_post_number, хотя на самом деле в таблице post_timings нет соответствующей записи.

Когда мы обеспечиваем согласованность здесь: discourse/app/models/topic_user.rb at 7fa2ae912cd5a892a6b256984d23199ff530076e · discourse/discourse · GitHub, мы только сдвигаем время вперёд, никогда назад.

Данные на маршруте /u для каталога не берутся из таблицы topic_users, согласно: discourse/app/models/directory_item.rb at 7fa2ae912cd5a892a6b256984d23199ff530076e · discourse/discourse · GitHub

Статистика пользователя также берётся из post_timings: discourse/app/models/user_stat.rb at 7fa2ae912cd5a892a6b256984d23199ff530076e · discourse/discourse · GitHub

Здесь много движущихся частей, но из базового анализа следует, что это будет незаметно в статистике.

2 лайка