Add Indeterminate category watch state

mattrogowski

Well-known member
Unlike with watching forums where new threads in a sub-forum won't send notifications if you only watch the parent forum, with XFRM there's the "Include notifications for content in sub-categories" option. This will implicitly watch child categories when you watch the parent category with this selected.

However, an issue with this is that the emails have an unsubscribe link to stop emails from the category a resource is in - but in this situation, you weren't explicitly watching that category in the first place, so the emails don't actually stop because it's changing the watch setting on that category from "No" to "No". Similarly if you go to that category, the button will say "Watch" instead of "Unwatch", despite receiving notifications from it. It can be confusing if you come back to it a year later and forget you selected the option on the parent category as to why you're getting notifications from a category you're apparently not even watching.

Due to the feature to implicitly watch child categories by watching the parent, it then adds a need for an "indeterminate" state, which would be the default and would mimic the existing functionality. This is to be able to have a distinction between "I'm not watching a child category directly but might implicitly do so by watching the parent", and "I explicitly don't want to watch this child category". This way, when you unsubscribe from that category with the link in the email, it will explicitly set it to "No". Then if you wanted to go back to tracking the watch state of the parent category, you'd set it back to "indeterminate". Essentially it'd be the same as the Inherit/Yes/No option that exists with permissions.

The other way around this is obviously to not watch the parent category with the "Include notifications for content in sub-categories" option selected at all, and to only watch the sub-categories you want. However, if you have lots of sub-categories this could be a pain to have to watch all of them except the ones you don't want, and would mean newly added sub-categories wouldn't be watched unless you manually did so.
 
Last edited:
Upvote 2
Top Bottom