diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index 3c4eb9c12f..d6ce7fa771 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -70,11 +70,11 @@ class PostStatusService < BaseService def preprocess_attributes! @sensitive = (@options[:sensitive].nil? ? @account.user&.setting_default_sensitive : @options[:sensitive]) || @options[:spoiler_text].present? @text = @options.delete(:spoiler_text) if @text.blank? && @options[:spoiler_text].present? - @visibility = @options[:visibility]&.to_sym || @account.user&.setting_default_privacy&.to_sym + @visibility = @options[:visibility]&.to_sym || @account.user&.setting_default_privacy&.to_sym || :public @visibility = :limited if %w(mutual circle reply).include?(@options[:visibility]) @visibility = :unlisted if (@visibility == :public || @visibility == :public_unlisted || @visibility == :login) && @account.silenced? @visibility = :public_unlisted if @visibility == :public && !@options[:force_visibility] && !@options[:application]&.superapp && @account.user&.setting_public_post_to_unlisted && Setting.enable_public_unlisted_visibility - @visibility = Setting.enable_public_unlisted_visibility ? :public_unlisted : :unlisted unless Setting.enable_public_visibility + @visibility = Setting.enable_public_unlisted_visibility ? :public_unlisted : :unlisted if !Setting.enable_public_visibility && @visibility == :public @limited_scope = @options[:visibility]&.to_sym if @visibility == :limited && @options[:visibility] != 'limited' @searchability = searchability @searchability = :private if @account.silenced? && %i(public public_unlisted).include?(@searchability&.to_sym)