Digest Emails Not Sending to All Users – Need Help Debugging

Perhaps, or something else that makes the digest empty, thus not sent to the users.

I don’t know how a digest is made. I don’t know if it takes into account categories ignored by the user, or stuff like that.

I suppose your users won’t receive the digest if you send it manually through the rails console?

user = User.find_by(username: 'user-name')
Jobs.enqueue(:user_email, type: :digest, user_id: user.id)

A few seconds after running this, you should see the Sidekiq processed jobs increased by 1, but if you have a large forum there might be a lot of Sidekiq jobs at any time, so it might be hard to see if it increased.
You can use the Live Poll button to see it in real-time:

From my test, if I run the rails script to send the digest to a user, but the digest is empty:

  • because the user received it earlier
  • or has disabled email summaries in their profile
  • etc…

Then the Sidekiq processed jobs number will increase by one, but no email will be sent, and there will be no new entry to /admin/email/sent.

Maybe you could log processed Sidekiq jobs to see if there’s any clue in it. I searched for a bit, but I’m not sure it logs what jobs have been processed by default.

I feel that there’s a logical, good explanation for why the users don’t receive the digest. The job might be processed, but the digest might be empty, which would explain why there’s no trace of it.
I would check thoroughly all the concerned users’ settings again, their notification levels, their tracked categories and stuff like that.