Remove: #372 削除予定のドメインブロック項目をいったん削除

This commit is contained in:
KMY 2024-01-10 18:20:12 +09:00
parent 4b10bf23ab
commit 5ba8141df9
13 changed files with 27 additions and 64 deletions

View file

@ -29,9 +29,8 @@ class AccountStatusesFilter
available_searchabilities = [:public, :unlisted, :private, :direct, :limited, nil]
available_visibilities = [:public, :public_unlisted, :login, :unlisted, :private, :direct, :limited]
available_searchabilities = [:public] if domain_block&.reject_send_not_public_searchability
available_visibilities -= [:public_unlisted] if domain_block&.reject_send_public_unlisted || (domain_block&.detect_invalid_subscription && @account.user&.setting_reject_public_unlisted_subscription)
available_visibilities -= [:unlisted] if domain_block&.detect_invalid_subscription && @account.user&.setting_reject_unlisted_subscription
available_visibilities -= [:public_unlisted] if (domain_block&.detect_invalid_subscription || misskey_software?) && @account.user&.setting_reject_public_unlisted_subscription
available_visibilities -= [:unlisted] if (domain_block&.detect_invalid_subscription || misskey_software?) && @account.user&.setting_reject_unlisted_subscription
available_visibilities -= [:login] if current_account.nil?
scope.merge!(scope.where(spoiler_text: ['', nil])) if domain_block&.reject_send_sensitive
@ -44,7 +43,7 @@ class AccountStatusesFilter
private
def initial_scope
if (suspended? || (domain_block&.reject_send_dissubscribable && @account.dissubscribable)) || domain_block&.reject_send_media || blocked?
if suspended? || domain_block&.reject_send_media || blocked?
Status.none
elsif anonymous?
account.statuses.where(visibility: %i(public unlisted public_unlisted))
@ -156,6 +155,21 @@ class AccountStatusesFilter
end
def domain_block
@domain_block = DomainBlock.find_by(domain: @account&.domain)
return nil if @account.nil? || @account.local?
@domain_block = DomainBlock.find_by(domain: @account.domain)
end
def misskey_software?
return false if @account.nil? || @account.local?
return false if instance_info.nil?
%w(misskey cherrypick).include?(instance_info.software)
end
def instance_info
return @instance_info if defined?(@instance_info)
@instance_info = InstanceInfo.find_by(domain: @account.domain)
end
end

View file

@ -143,9 +143,6 @@ class StatusReachFinder
[]
else
blocks = DomainBlock.where(domain: nil)
blocks = blocks.or(DomainBlock.where(reject_send_not_public_searchability: true)) if status.compute_searchability != 'public'
blocks = blocks.or(DomainBlock.where(reject_send_public_unlisted: true)) if status.public_unlisted_visibility?
blocks = blocks.or(DomainBlock.where(reject_send_dissubscribable: true)) if status.account.dissubscribable
blocks = blocks.or(DomainBlock.where(reject_send_media: true)) if status.with_media?
blocks = blocks.or(DomainBlock.where(reject_send_sensitive: true)) if (status.with_media? && status.sensitive) || status.spoiler_text?
blocks.pluck(:domain).uniq