diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index fe5b5b7b74..eaece87970 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -37,9 +37,9 @@ class Formatter html = raw_content html = "RT @#{prepend_reblog} #{html}" if prepend_reblog html = format_markdown(html) if status.content_type == 'text/markdown' - html = encode_and_link_urls(html, linkable_accounts, keep_html: status.content_type == 'text/markdown') + html = encode_and_link_urls(html, linkable_accounts, keep_html: %w(text/markdown text/html).include?(status.content_type)) html = encode_custom_emojis(html, status.emojis, options[:autoplay]) if options[:custom_emojify] - html = simple_format(html, {}, sanitize: false) unless status.content_type == 'text/markdown' + html = simple_format(html, {}, sanitize: false) unless %w(text/markdown text/html).include?(status.content_type) html = html.delete("\n") html.html_safe # rubocop:disable Rails/OutputSafety diff --git a/app/models/status.rb b/app/models/status.rb index e0dc747908..6f3ba4cc39 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -75,7 +75,7 @@ class Status < ApplicationRecord validates_with DisallowedHashtagsValidator validates :reblog, uniqueness: { scope: :account }, if: :reblog? validates :visibility, exclusion: { in: %w(direct limited) }, if: :reblog? - validates :content_type, inclusion: { in: %w(text/plain text/markdown) }, allow_nil: true + validates :content_type, inclusion: { in: %w(text/plain text/markdown text/html) }, allow_nil: true accepts_nested_attributes_for :poll