When changing category watch state, prompt to also change state of all topics in that category at the time of change


(Felix Freiberger) #1

Looking at the Discourse Version 1.6 release topic, I saw this awesome checkmark:

This sounds like I should always get that question when changing the category watch state. However, it looks like @sam decided this should only work for un-watching.

I understand this is the most important use case (to stop a flood of emails after accidentally watching a category), but I’d love to see this for any change (e.g. to start fully watching a category I really care about).

Is there any chance to see this extended to all changes in watching state? :slight_smile:


(Jeff Atwood) #2

I believe @sam discussed allowing it if the total number of topics in the category is small enough but you will need to ask him the status of it.


(Felix Freiberger) #3

That would be :ok_hand:

I would always allow it if mailing list mode is allowed – after all, this is never worse than mailing liste mode in the “immediate” setting.


(Allen - Watchman Monitoring) #4

If I choose to watch a category, is there any benefit to marking each topic as watched? (since posts there will happen in the newly-watched category, and presumably trigger notifications?


(Felix Freiberger) #5

Yes – otherwise, the change affects only new topics, while you still won’t be notified to replies in old topics.


Make members of a group watch a category by default
(Allen - Watchman Monitoring) #6

hm, I’m a bit confused then… I thought watching a category would effect any post in any topic in the category?


(Felix Freiberger) #7

And this very reasonable expectation is why I’d like to see this change :slight_smile:


(Allen - Watchman Monitoring) #8

Sorry that this post will be slightly off topic, but it belongs here for now:

If there are 10 topics in a category named “bugs” when a user joins a forum, and the bugs category is set as a watched category by default.

Will the new users only get emails containing posts in topics 11& above? What if someone posts on topic 2?

I would assume that because the Bugs category is watched, a post on any of its topics would be included in notifications & emails…


(Felix Freiberger) #9

I’m 99% sure this is what happens, unless there is some super-special handling for signups.


(Allen - Watchman Monitoring) #10

I just tested this, and, much to my surprise & disappointment, a post on topic 2, which existed before a given user joined the forum was not emailed to the new members.

This is horribly inconsistent.


(Jeff Atwood) #11

And yet, not noticed until now? So how important could it be? It is not expected that when someone joins a forum with 12 years of topics, and watches a category, they are now suddenly watching 3,000 old topics in that category.


(Allen - Watchman Monitoring) #12

Correct, I started the 4 communities I run, and new members didn’t know they were missing out.

What’s the problem if they are watching 3000 topics? it only matters if there’s activity. If I’m watching a category, I expect to be notified about posts. Not just some posts from an arbitrary date.


(Allen - Watchman Monitoring) #13

The whole system of Watching/Tracking is confusing, and stymies new members who are used to a mailing list.

Probably time to break this aspect into its own topic… as for the OP I absolutely agree with @fefrei … watching a category needs to at least have the option of watching all posts.


(Sam Saffron) #14

3000 topics is not my problem, 70000 is, as front page performance will suffer


(Allen - Watchman Monitoring) #15

The earlier adopter of a forum with 70,000 posts are going to have the same issues. Perhaps give a user a general warning if their watched topic count goes over 50,000, and allow them to mass-unwatch topics with no activity in X months?

But really, there’s no “watching” of a category at all then, is there. It’s always, “watch for new activity” and the UI should be updated to show this fact. I’m rather embarrassed, actually, that I’ve been using discourse for years and had absolutely no idea that Watching a category was not going to apply itself retroactively.

This renders my idea here invalid:

Because, no, users will not get posts made in topics in which existed before they joined.


(Felix Freiberger) #16

Why is that? That doesn’t sound like an unsolvable problem :slight_smile:


(Alex Armstrong) #17

I’m confused. Which probably explains why I’ve had some very confusing conversations with my users about their notifications.


The instructions when you’re watching a category from a category’s page are:

You will automatically watch all new topics in these categories. You will be notified of every new post in every topic, and a count of new replies will be shown.

(BTW, the language here should be changed to singular: “this category”.)

The instructions when you’re watching a category from your preferences page are:

You will automatically watch all new topics in these categories. You will be notified of all new posts and topics, and a count of new posts will also appear next to the topic.

(My emphasis in both cases.)

There’s a subtle difference between them that I hadn’t noticed before. What I thought happened once a user started watching a category is that they would be notified of “every new post in every topic”. But it sounds like they will only be notified for posts in new topics. Is this correct?

If so, this is weird. And it creates a problem for me. Like others Discourse users I’m trying to use the watch feature to create mailing lists by watching categories.

Here’s my plan. We have committees (<10 people each). I want them to be able to communicate easily, while leaving a record of their discussions outside of their email. For each committee I set up a group on Discourse along with a private category. I use a plugin to make the users of each group automatically watch the appropriate category.

I’ve luckily only rolled this out as an option to two committees to test out. We likely haven’t been affected because the creation of the groups, the categories, and the topics all coincided. But of course this won’t be the case when new members join the committees.

I chose to Discourse with this plan in mind: to move our Basecamp groups which only need a discussion space to our community forum. So I’d like to see this issue addressed somehow.

What’s next?


(Sam Saffron) #18

I follow the desire here, but let me explain the issue.

What happens if you watch a category, enter a topic and then mute it? We should display that that topic is muted after that fact.

Which means that when we are looking up tracking state, we always have to look up the specific tracking state for the topic.

What if you muted it prior to watching the category? Are you watching the topic or is the topic muted?

What if you tracked it prior to watching the category? Are you watching the topic or tracking it?

What happens when you enter an old topic? Are you watching it?

I am open to simplifying but I need to work through all the little edge cases here to redo the internals.


(Alex Armstrong) #19

I’m happy to help you think through issues, given the limitations of my perspective and experience. Unfortunately, I haven’t played around with muting much. We’re a small private community, so it hasn’t been useful for us.

I don’t follow. Isn’t that what Discourse does now anyway?

It seems logical that the specific (i.e., topic-level state) should override the general (category-level state).

I would say that muted topics say muted. You must have had a good reason to do that in the first place.

But the intention of tracking is similar to watching. I think of it as a weaker form of watching. Based on the use of it I’ve seen in my community – not just the category-as-mailing-list but generally usage – I would say elevate the topics from tracking to watched. And do so without asking.

Now, if you or other people seem to find that too obnoxious, you might want to offer a choice when tracking. But I’d try to avoid the extra UI if possible. This is all pretty confusing as it is :slight_smile:

Yes, why wouldn’t you be watching it?


(Alex Armstrong) #20

I don’t know enough about Discourse’s internals, but let me suggest something. I don’t necessarily need my users to be watching all old topics (including locked ones and whatnot). What I want for them is to be notified of new posts, regardless of whether the topic was old or new.

Would it be less onerous to start watching old topics only when they have new posts? Again, I think I would ignore muted issues and elevate tracked issues to watched.