It is 100% clear to me that in the current state of affairs there are no winners.
Nobody wants to “start watching a category BUT only new topics in the category”, nobody … ever.
I don’t want to have to backfill 200k rows of topic tracking state when you watch a category, cause it hurts perf, I always don’t want to really leak size there on topics that a user never visits.
I will have a look at just having the notifier directly check the category users table (excluding explicitly set stuff), that way it can notify without having explicit state in topic users.
A minor annoying edge case is.
Watch category
Track topic
vs:
Track topic
Watch category
I am not certain what is desirable here, I can have state explicitly change on existing topics on watch, cause we now have a proper undo.
It’s possible to start tracking a topic without explicitly choosing to track it. I would prefer that category-watching trumps topic-tracking, as it demonstrates explicit intent.
My overall goal here is for new members to get an email, with context, from any of 5 categories we deem Important. And only “track” 4 other categories which might be too noisy.
Once they join, we want our users to be able to customize this per their own desires.
Mailing list mode doesn’t allow the per-category controls, as far as I know.
What we need is mailing-list-mode per category, with the ability for a user to easily opt-out of a given topic, as they can now.