FIX: don't send mailing list for post with empty content (#10577)

discourse-assign is creating posts with empty content to show that a specific user was assign/unassigned for a specific topic.

It is causing confusing emails with empty content

The bug was mentioned here: https://meta.discourse.org/t/again-on-empty-emails-and-notifications-generated-on-topic-assignment/162213
This commit is contained in:
Krzysztof Kotlarek 2020-09-03 08:58:25 +10:00 committed by GitHub
parent de038c0eab
commit 9954a677ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -26,7 +26,7 @@ module Jobs
post_id = args[:post_id]
post = post_id ? Post.with_deleted.find_by(id: post_id) : nil
return if !post || post.trashed? || post.user_deleted? || !post.topic
return if !post || post.trashed? || post.user_deleted? || !post.topic || post.raw.blank?
users =
User.activated.not_silenced.not_suspended.real

View File

@ -65,6 +65,11 @@ describe Jobs::NotifyMailingListSubscribers do
include_examples "no emails"
end
context "with a empty post" do
before { post.update_columns(raw: "") }
include_examples "no emails"
end
context "with a user_deleted post" do
before { post.update(user_deleted: true) }
include_examples "no emails"