diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb index 34f14e312..5627f8a84 100644 --- a/app/models/form/admin_settings.rb +++ b/app/models/form/admin_settings.rb @@ -35,6 +35,7 @@ class Form::AdminSettings show_replies_in_public_timelines trends trendable_by_default + trending_status_cw show_domain_blocks show_domain_blocks_rationale noindex @@ -57,6 +58,7 @@ class Form::AdminSettings show_replies_in_public_timelines trends trendable_by_default + trending_status_cw noindex require_invite_text captcha_enabled diff --git a/app/models/trends/statuses.rb b/app/models/trends/statuses.rb index e785413ec..e9c48a06b 100644 --- a/app/models/trends/statuses.rb +++ b/app/models/trends/statuses.rb @@ -93,7 +93,7 @@ class Trends::Statuses < Trends::Base original_status.public_visibility? && original_status.account.discoverable? && !original_status.account.silenced? && - original_status.spoiler_text.blank? && !original_status.sensitive? && !original_status.reply? + (original_status.spoiler_text.blank? || Setting.trending_status_cw) && !original_status.sensitive? && !original_status.reply? end def calculate_scores(statuses, at_time) diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml index 49b03a9e3..a287e52ff 100644 --- a/app/views/admin/settings/edit.html.haml +++ b/app/views/admin/settings/edit.html.haml @@ -86,6 +86,9 @@ .fields-group = f.input :trendable_by_default, as: :boolean, wrapper: :with_label, label: t('admin.settings.trendable_by_default.title'), hint: t('admin.settings.trendable_by_default.desc_html') + .fields-group + = f.input :trending_status_cw, as: :boolean, wrapper: :with_label, label: t('admin.settings.trending_status_cw.title'), hint: t('trending_status_cw.desc_html') + .fields-group = f.input :noindex, as: :boolean, wrapper: :with_label, label: t('admin.settings.default_noindex.title'), hint: t('admin.settings.default_noindex.desc_html') diff --git a/config/locales-glitch/en.yml b/config/locales-glitch/en.yml index c382ee9ed..7fd0683c9 100644 --- a/config/locales-glitch/en.yml +++ b/config/locales-glitch/en.yml @@ -20,6 +20,9 @@ en: show_replies_in_public_timelines: desc_html: In addition to public self-replies (threads), show public replies in local and public timelines. title: Show replies in public timelines + trending_status_cw: + desc_html: When trending posts are enabled, allow posts with Content Warnings to be eligible. Changes to this setting are not retroactive. + title: Allow posts with Content Warnings to trend auth: captcha_confirmation: hint_html: Just one more step! To confirm your account, this server requires you to solve a CAPTCHA. You can contact the server administrator if you have questions or need assistance with confirming your account. diff --git a/config/settings.yml b/config/settings.yml index 11709cee4..1f366d7d1 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -41,6 +41,7 @@ defaults: &defaults use_pending_items: false trends: true trendable_by_default: false + trending_status_cw: true crop_images: true notification_emails: follow: false