FIX: Clear notification of skipped narrative bot PM (#10792)

Resets a new user's PM count in their badge after skipping user tips.
This commit is contained in:
Penar Musaraj 2020-10-01 20:32:45 -04:00 committed by GitHub
parent 5cf411c3ae
commit d6038ac666
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 0 deletions

View File

@ -194,6 +194,15 @@ after_initialize do
return if topic.blank? return if topic.blank?
first_post = topic.ordered_posts.first first_post = topic.ordered_posts.first
notification = Notification.where(topic_id: topic.id, post_number: first_post.post_number).first
if notification.present?
Notification.read(self, notification.id)
self.saw_notification_id(notification.id)
self.reload
self.publish_notifications_state
end
PostDestroyer.new(Discourse.system_user, first_post, skip_staff_log: true).destroy PostDestroyer.new(Discourse.system_user, first_post, skip_staff_log: true).destroy
DiscourseNarrativeBot::Store.remove(self.id) DiscourseNarrativeBot::Store.remove(self.id)
end end

View File

@ -123,6 +123,8 @@ describe User do
user.user_option.save! user.user_option.save!
}.to change { Topic.count }.by(-1) }.to change { Topic.count }.by(-1)
.and change { UserHistory.count }.by(0) .and change { UserHistory.count }.by(0)
.and change { user.unread_high_priority_notifications }.by(-1)
.and change { user.notifications.count }.by(-1)
end end
end end