Email to subscribers stopped working after last update


(Yonatan Golan) #1

Hi!
We are a medium size community and are using Discourse very happily.
2 days ago (16-Nov-2015) I updated to the latest version and I think that since then email notifications to subscribers of categories stopped working for everyone.
Digest emails still work properly and test emails do too.
What can be done? Where should I look? Which information can I add to help understand the issue?
Thanks!
Yonatan


(Jeff Atwood) #2

Can you repro this @techapj? This is the third time I have seen someone mention it so something might be up with watching categories.


#3

Hello!

I also have the same issue with the email notifications not being sent to subscribers or original posters when they get a reply, along with the translations issue from last beta build (v1.5.0.beta5 +17).

I get an error 500 while trying to preview the email (it works when the language is set to english, but error 500 in french):

In logs the only issue there is is that:

If that can help this is what I can see in sidekiq:

Maybe everything is related to translations ?


(Sam Saffron) #4

Possibly, @eviltrout has been working on some changes here, @Yonatan_Golan is there anything in sitename/logs or in sitename/sidekiq ?


#5

Here is also a more precise list of errors:


(Jeff Atwood) #6

Makes sense, @gerhard this is kind of a traumatic change for our users (at least in non-English locales) so I hope it was worth it…


(Sam Saffron) #7

Something feels buggy somewhere to me… @riking added the fallback logic a while back. Somehow it regressed.


(Yonatan Golan) #8

We are using the site in Hebrew.

In site/logs I get an error about 2-3 times a minute:
"Job exception: translation missing: he.time.formats.short_no_year"
In the details of the error (attached), the user notifications are mentioned.Job exception error.txt (7.6 KB)
I can’t see earlier errors or when it started since all the last 1000 errors are these.

In site/sidekiq there seem to be many fails since Nov 16 (About 50% out of the processed). I don’t know exactly what to look for in there. Do you want the link to look at it yourselves or direct me what to look for?

Also, yesterday I again updated to the latest version (there were just a few commits), and since then I get on the dashboard an error about translations - “translation missing: he.dashboard.failing_emails_warning”.
Could problems with translation cause email failures? Or does it just mean that I don’t receive the warning about the failed emails?
(I should note that we don’t update the translations on transifex regularly enough).

Let me know what other information would be helpful.
Thanks a lot for your support!
Yonatan


(Yonatan Golan) #9

Ok, I read @heptoilabas 's posts again so I understood what to get from sidekiq:


(Gerhard Schlager) #10

I’m quite sure this used to work. Actually, I fixed the exact same issue a few months back.

Anyway, I’ll look into it tonight unless someone else beats me to it.


(Sam Saffron) #11

This could be related to @eviltrout local override work… if it gets tricky you can skip it … its a work in progress.


(Yonatan Golan) #12

What do you suggest I do in the meanwhile? Can I downgrade without loosing data from the past week?


(Robin Ward) #13

I’m working on it now. I should have a fix ready soon!


(Robin Ward) #14

I figured it out. It’s complicated to explain how I made this mistake, but monkey patching something in Rails and declaring a class look exactly the same. I thought some code @riking wrote was a class definition when it was actually a patch. So I missed some fallback logic. Confusingly it worked in most cases despite missing much of the logic!

It’s fixed in this commit, should be in tests-passed shortly:

edit: Since it was important I also back-ported the fix to beta. If you update via admin you should get it there too.


(Yonatan Golan) #15

Great!
You guys are absolutely awesome! :slight_smile:
Thanks a lot for your great support and of course for Discourse itself


(Kane York) #16

That’s because all the missing logic was covering failure cases :joy: