From d6038ac666a948b1e8466c7ead7f9df06ca00671 Mon Sep 17 00:00:00 2001 From: Penar Musaraj Date: Thu, 1 Oct 2020 20:32:45 -0400 Subject: [PATCH] FIX: Clear notification of skipped narrative bot PM (#10792) Resets a new user's PM count in their badge after skipping user tips. --- plugins/discourse-narrative-bot/plugin.rb | 9 +++++++++ plugins/discourse-narrative-bot/spec/user_spec.rb | 2 ++ 2 files changed, 11 insertions(+) diff --git a/plugins/discourse-narrative-bot/plugin.rb b/plugins/discourse-narrative-bot/plugin.rb index b6c72c64530..98c2f41db2f 100644 --- a/plugins/discourse-narrative-bot/plugin.rb +++ b/plugins/discourse-narrative-bot/plugin.rb @@ -194,6 +194,15 @@ after_initialize do return if topic.blank? 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 DiscourseNarrativeBot::Store.remove(self.id) end diff --git a/plugins/discourse-narrative-bot/spec/user_spec.rb b/plugins/discourse-narrative-bot/spec/user_spec.rb index 3e514cc4aee..f775dd71110 100644 --- a/plugins/discourse-narrative-bot/spec/user_spec.rb +++ b/plugins/discourse-narrative-bot/spec/user_spec.rb @@ -123,6 +123,8 @@ describe User do user.user_option.save! }.to change { Topic.count }.by(-1) .and change { UserHistory.count }.by(0) + .and change { user.unread_high_priority_notifications }.by(-1) + .and change { user.notifications.count }.by(-1) end end