diff --git a/app/jobs/regular/post_update_topic_tracking_state.rb b/app/jobs/regular/post_update_topic_tracking_state.rb index cb3506cc539..6eaaeb288b4 100644 --- a/app/jobs/regular/post_update_topic_tracking_state.rb +++ b/app/jobs/regular/post_update_topic_tracking_state.rb @@ -5,21 +5,14 @@ module Jobs def execute(args) post = Post.find_by(id: args[:post_id]) - topic = post&.topic - return unless topic - - if post.topic.private_message? - TopicTrackingState.publish_private_message(topic, post: post) - TopicGroup.new_message_update(topic.last_poster, topic.id, post.post_number) - else - TopicTrackingState.publish_unmuted(topic) + if post && post.topic + TopicTrackingState.publish_unmuted(post.topic) if post.post_number > 1 - TopicTrackingState.publish_muted(topic) + TopicTrackingState.publish_muted(post.topic) TopicTrackingState.publish_unread(post) end - - TopicTrackingState.publish_latest(topic, post.whisper?) + TopicTrackingState.publish_latest(post.topic, post.whisper?) end end diff --git a/lib/post_jobs_enqueuer.rb b/lib/post_jobs_enqueuer.rb index 2fc56b460f0..4809fdc1e86 100644 --- a/lib/post_jobs_enqueuer.rb +++ b/lib/post_jobs_enqueuer.rb @@ -20,6 +20,11 @@ class PostJobsEnqueuer after_topic_create make_visible end + + if @topic.private_message? + TopicTrackingState.publish_private_message(@topic, post: @post) + TopicGroup.new_message_update(@topic.last_poster, @topic.id, @post.post_number) + end end private