FIX: when posts are moved to a message then small action post should not be publicly visible (#7085)

FIX: when posts are moved to a message then small action post should not be publicly visible (#7085)

This fix is inspired from what we do in discourse-assigned plugin. discourse-assign/topic_assigner.rb at master · discourse/discourse-assign · GitHub discourse-assign/extend-for-assigns.js.es6 at master · discourse/discourse-assign · GitHub

diff --git a/app/assets/javascripts/discourse/lib/transform-post.js.es6 b/app/assets/javascripts/discourse/lib/transform-post.js.es6
index a560d1b..c0371aa 100644
--- a/app/assets/javascripts/discourse/lib/transform-post.js.es6
+++ b/app/assets/javascripts/discourse/lib/transform-post.js.es6
@@ -114,7 +114,8 @@ export default function transformPost(
   postAtts.isAutoGenerated = post.is_auto_generated;
   postAtts.isModeratorAction = postType === postTypes.moderator_action;
   postAtts.isWhisper = postType === postTypes.whisper;
-  postAtts.isSmallAction = postType === postTypes.small_action;
+  postAtts.isSmallAction =
+    postType === postTypes.small_action || post.action_code === "split_topic";
   postAtts.canBookmark = !!currentUser;
   postAtts.canManage = currentUser && currentUser.get("canManageTopic");
   postAtts.canViewRawEmail =
diff --git a/app/models/post_mover.rb b/app/models/post_mover.rb
index 47e8790..44dfed9 100644
--- a/app/models/post_mover.rb
+++ b/app/models/post_mover.rb
@@ -208,9 +208,10 @@ class PostMover
       )
     end
 
+    post_type = @move_to_pm ? Post.types[:whisper] : Post.types[:small_action]
     original_topic.add_moderator_post(
       user, message,
-      post_type: Post.types[:small_action],
+      post_type: post_type,
       action_code: "split_topic",
       post_number: @first_post_number_moved
     )
diff --git a/spec/models/post_mover_spec.rb b/spec/models/post_mover_spec.rb
index 01dc7cf..80e707b 100644
--- a/spec/models/post_mover_spec.rb
+++ b/spec/models/post_mover_spec.rb
@@ -619,7 +619,7 @@ describe PostMover do
 
           old_message.reload
           move_message = old_message.posts.find_by(post_number: 2)
-          expect(move_message.post_type).to eq(Post.types[:small_action])
+          expect(move_message.post_type).to eq(Post.types[:whisper])
           expect(move_message.raw).to include("2 posts were split")
         end
       end
@@ -662,7 +662,7 @@ describe PostMover do
 
         it "uses the correct small action post" do
           moved_to = personal_message.move_posts(admin, [p2.id], destination_topic_id: another_personal_message.id, archetype: "private_message")
-          post = Post.find_by(topic_id: personal_message.id, post_type: Post.types[:small_action])
+          post = Post.find_by(topic_id: personal_message.id, post_type: Post.types[:whisper])
 
           expected_text = I18n.t(
             "move_posts.existing_message_moderator_post",

GitHub sha: c02956e2