diff --git a/plugins/chat/app/models/chat/message.rb b/plugins/chat/app/models/chat/message.rb index 7e642fe30b9..3766fbe0ead 100644 --- a/plugins/chat/app/models/chat/message.rb +++ b/plugins/chat/app/models/chat/message.rb @@ -223,8 +223,13 @@ module Chat ] def self.cook(message, opts = {}) + bot = opts[:user_id] && opts[:user_id].negative? + + features = MARKDOWN_FEATURES.dup + features << "image-grid" if bot + rules = MARKDOWN_IT_RULES.dup - rules << "heading" if opts[:user_id] && opts[:user_id].negative? + rules << "heading" if bot # A rule in our Markdown pipeline may have Guardian checks that require a # user to be present. The last editing user of the message will be more @@ -235,8 +240,7 @@ module Chat cooked = PrettyText.cook( message, - features_override: - MARKDOWN_FEATURES + DiscoursePluginRegistry.chat_markdown_features.to_a, + features_override: features + DiscoursePluginRegistry.chat_markdown_features.to_a, markdown_it_rules: rules, force_quote_link: true, user_id: opts[:user_id], diff --git a/plugins/chat/spec/models/chat/message_spec.rb b/plugins/chat/spec/models/chat/message_spec.rb index 32e696b6219..3c66a186863 100644 --- a/plugins/chat/spec/models/chat/message_spec.rb +++ b/plugins/chat/spec/models/chat/message_spec.rb @@ -99,6 +99,16 @@ describe Chat::Message do
test
+[grid]
test
[/grid]