Old statuses and statuses from Pawoo, which runs a modified version of
Mastodon, may not have been marked sensitive even if spoiler text is
present.
Such statuses are still not marked sensitve if they are local or
arrived before version upgrade. Marking recently fetched remote status
sensitive contradicts the behavior.
Considering what people expected when they authored such statuses, this
change removes the sensitivity enforcement.
before_validation :set_reblog
before_validation :set_visibility
before_validation :set_conversation
- before_validation :set_sensitivity
before_validation :set_local
class << self
self.sensitive = false if sensitive.nil?
end
- def set_sensitivity
- self.sensitive = sensitive || spoiler_text.present?
- end
-
def set_conversation
self.reply = !(in_reply_to_id.nil? && thread.nil?) unless reply
status = account.statuses.create!(text: text,
media_attachments: media || [],
thread: in_reply_to,
- sensitive: (options[:sensitive].nil? ? account.user&.setting_default_sensitive : options[:sensitive]),
+ sensitive: (options[:sensitive].nil? ? account.user&.setting_default_sensitive : options[:sensitive]) || options[:spoiler_text].present?,
spoiler_text: options[:spoiler_text] || '',
visibility: options[:visibility] || account.user&.setting_default_privacy,
language: language_from_option(options[:language]) || LanguageDetector.instance.detect(text, account),