Urgent: help troubleshoot missing notifications for watched categories


(Tobias Eigen) #1

I’m campaigning hard in my community to build trust in the email delivery system, and today came across an odd situation where it appears that a new post did not trigger emails to all users watching the category. I’d be grateful for any and all advice on troubleshooting this issue.

57 people have access to the category and I can confirm are watching it. According to mandrill, only 54 emails were sent out. I am still comparing lists of email addresses but have already found one where I know for sure a user was watching the category and according to mandrill did not get the notification by email.

This is an urgent, important issue for me because we are still ramping up and it’s necessary that everyone on our team have full confidence in the platform that we use to connect. I need to be able to provide good, evidence-based answers when I start hearing rumblings about discourse not reaching everyone.


Email notifications get skipped on busy topics
(Mittineague) #2

Did all of the members have their “send email even when I visit” preference setting checked?


(Tobias Eigen) #3

No they didn’t. Or at least one of them didn’t. But shouldn’t they be getting these emails anyway?

I now know all three of the users who didn’t get the message.


(Tobias Eigen) #4

is it possible that an upgrade automatically deselected the “Send me email notifications even when I am active on the site” option for users? One member who didn’t get the message swears she had that selected previously and now it’s not selected.


(Mittineague) #5

AFAIK it is by design that emails of Watched categories are not sent if the member has recently visited Discourse as they presumably would have seen the Notification - unless they indicate otherwise.

Seems unlikely, but entirely possible I suppose.


(Tobias Eigen) #6

ok so it looks like this is the answer. the OP and two others didn’t get it because they were presumably logged in.

I’m concerned though because several of our key people do not like the notifications and count on their email to be alerted to emails that are important and they need to respond to. This includes mentions and categories they are watching.

So is the only answer to make sure those people have this turned on? Is there no way to set a “mailing list mode” or set watched topics to always send emails?


(Jeff Atwood) #7

This is a part of the global user settings change, where site admins can override the user pref defaults for all new users, that @zogstrip is working on.


(Tobias Eigen) #8

Nice! Any ETA?

Then I would set this for all users and then hide the option on the user preferences?


(Mittineague) #9

That seems a bit extreme
Resistance is Futile. You WILL get emails

If the option to not Watch something and not get emails are removed, the only options would be to abandon the email address or send them to the Trash folder.

But you know your members better than I


(Tobias Eigen) #10

Yeah maybe just setting it once and defaulting it on for new users is the ticket. And to warn folks.

For staff we need to require watching certain categories and not allow it to be changed. This is a separate issue I am working on In another topic.


(Régis Hanol) #11

What I’m currently working on will allow admins to set a default value that will only be applied for new users. Plus, they will always be able to change the value in their preferences.


(Felix Freiberger) #12

Note that you can consult admin/email/all to troubleshoot unsent emails. This list contains a reason if sending an email was skipped.


(Wes Osborn) #13

I’ve been seeing this in v1.4.0.beta9 +54 as well. I’ve personally gone in and setup the Watched categories and “Send email even when I’m active” for new users (added after our last upgrade) and then generated new posts and they have not be going out to those new users, though other members with the same settings HAVE been getting those posts and the new users have been getting email notifications for PMs that I’ve sent to them. Nothing in /logs or /sidekiq to indicate what might be going on here.

In my case I had already checked this and showed that nothing had been shipped for the users as expected.


(Tobias Eigen) #14

Yes but this list doesn’t tell you the specific post that is being shipped.


(Wes Osborn) #16

Maybe something went wrong when these changes were made:

or maybe something to do with the wording changes that happened with the “Active on site” preference (I think this was the post that initiated that change):

I also impersonated the user just to make sure that they hadn’t Muted a particular topic (they had not).


(Michael - DiscourseHosting.com) #17

It’s wasn’t the first fix, that one was trivial.


(Wes Osborn) #18

Ok, I believe I’ve figured out what was going on in my Discourse instance, here are the repo steps:

  1. Create a group; add some users to that group
  2. Create a category
  3. Remove the everyone permission from the new category
  4. Add your new group created in step #1 so those members can Create / Reply / See
  5. Make a post in this new category
  6. Add new members to the permission group created in step #1
  7. Make sure that these members are set to Watch the category
  8. Post a reply to the topic created in step #3

The users that you added in step #4 will not get notified of this new post/reply to any topic that was created before they joined the group. They will get notified anytime a new topic is made in the category.

Personally I would consider this is a bug as it is not feasible for me to go back and invite these individuals to all previous topics in this category that they might want to get notified of a reply on (they can view the topic in the web interface), but I suppose it is possible that the system could have been spec’d out to work this way for a reason.


(Jeff Atwood) #19

Ok so if you add someone to a group that is five years old, they will suddenly be watching 5,000 old topics in the category associated with that group? Maybe even topics created before they had an account on the site?

It has never worked this way, and it is not a reasonable expectation to think that it should…


(Wes Osborn) #20

I guess I was the idiot that thought the answer to this question would be Yes. Even though I’ll admit that the label clearly says otherwise:

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 replies will appear for these topics.

So for our low volume list, I guess our options are:

  • Put the user account in mailing list mode (Send me an email for every new post (unless I mute the topic or category))
  • Not likely to happen because this group is only truly interested in about 1/10th of the traffic happening on the site and it would be a lot of muting
  • Set all topics in the category to auto-close within XX days so that folks can’t reply to old posts forcing them to create new posts so that any new users watching the category will get properly notified
  • Our most viable option, though since many of them send in replies via email, I’m sure it will lead to some confusion when their messages are bounced back due to a closed thread
  • Have new users go into each topic in a category and watch any topics they might be interested in
  • Probably not feasible because although we’re low volume, we still have a couple of hundred topics in there

Of course this issue just happens to be manifesting itself with the category that our C-level folks use for their mailing list which makes troubleshooting and suggesting workarounds a bit of a delicate tap dance.

@tobiaseigen does my scenario sound similar to what was happening with your users?


Set category notification state historically
(Jeff Atwood) #21

You could probably script it with our API to cause people to watch the previous (n) topics in the category if needed. That is what I would recommend if it is needed.

Why not have a separate Discourse instance with just the content these folks are interested in on it? Not like you have to pay licensing fees for each Discourse install, though more sites is more work to some degree.

I would like to hear more about the specific use case, the expectation is that if a new user joins and watches category X they are automatically interested in every X topic even ones from years ago? Are there a lot of people joining, and is there a lot of necro of old topics vs. creating new ones?