1
0
Fork 0
forked from gitea/nas

Remove: 現在使われていないドメインブロック無視設定のデッドコード (#476)

* Remove: 現在使われていないドメインブロック無視設定のデッドコード

* Refactoring

* Fix test
This commit is contained in:
KMY(雪あすか) 2024-01-19 08:39:58 +09:00 committed by GitHub
parent 46161e5348
commit 989efcd78e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 36 additions and 33 deletions

View file

@ -83,9 +83,7 @@ class StatusesController < ApplicationController
info = InstanceInfo.find_by(domain: signed_request_account.domain)
return false if info.nil?
@misskey_software = %w(misskey calckey cherrypick sharkey).include?(info.software) &&
((@status.public_unlisted_visibility? && @status.account.user&.setting_reject_public_unlisted_subscription) ||
(@status.unlisted_visibility? && @status.account.user&.setting_reject_unlisted_subscription))
@misskey_software = %w(misskey calckey cherrypick sharkey).include?(info.software) && @status.sending_maybe_compromised_privacy?
end
def status_activity_serializer

View file

@ -153,7 +153,7 @@ class ActivityPub::TagManager
end
def cc_for_misskey(status)
if (status.account.user&.setting_reject_unlisted_subscription && status.unlisted_visibility?) || (status.account.user&.setting_reject_public_unlisted_subscription && status.public_unlisted_visibility?)
if status.sending_maybe_compromised_privacy?
cc = cc_private_visibility(status)
cc << uri_for(status.reblog.account) if status.reblog?
return cc

View file

@ -192,19 +192,15 @@ class StatusReachFinder
end
def banned_domains_of_status(status)
if status.account.user&.setting_send_without_domain_blocks
[]
else
blocks = DomainBlock.where(domain: nil)
blocks = blocks.or(DomainBlock.where(reject_send_sensitive: true)) if (status.with_media? && status.sensitive) || status.spoiler_text?
blocks.pluck(:domain).uniq
end
blocks = DomainBlock.where(domain: nil)
blocks = blocks.or(DomainBlock.where(reject_send_sensitive: true)) if (status.with_media? && status.sensitive) || status.spoiler_text?
blocks.pluck(:domain).uniq
end
def banned_domains_for_misskey
return @banned_domains_for_misskey if defined?(@banned_domains_for_misskey)
return @banned_domains_for_misskey = [] if (!@status.account.user&.setting_reject_public_unlisted_subscription && !@status.account.user&.setting_reject_unlisted_subscription) || (!@status.public_unlisted_visibility? && !@status.unlisted_visibility?)
return @banned_domains_for_misskey = [] unless @status.sending_maybe_compromised_privacy? || (@status.reblog? && @status.reblog.sending_maybe_compromised_privacy?)
domains = banned_domains_for_misskey_of_status(@status)
domains += banned_domains_for_misskey_of_status(@status.reblog) if @status.reblog? && @status.reblog.local?
@ -213,7 +209,6 @@ class StatusReachFinder
def banned_domains_for_misskey_of_status(status)
return [] if status.public_searchability?
return [] unless (status.public_unlisted_visibility? && status.account.user&.setting_reject_public_unlisted_subscription) || (status.unlisted_visibility? && status.account.user&.setting_reject_unlisted_subscription)
from_info = InstanceInfo.where(software: %w(misskey calckey cherrypick sharkey)).pluck(:domain)
from_domain_block = DomainBlock.where(detect_invalid_subscription: true).pluck(:domain)

View file

@ -0,0 +1,18 @@
# frozen_string_literal: true
module Status::DomainBlockConcern
extend ActiveSupport::Concern
def sending_sensitive?
return false unless local?
(with_media? && sensitive) || spoiler_text?
end
def sending_maybe_compromised_privacy?
return false unless local?
(public_unlisted_visibility? && !public_searchability? && account.user&.setting_reject_public_unlisted_subscription) ||
(unlisted_visibility? && !public_searchability? && account.user&.setting_reject_unlisted_subscription)
end
end

View file

@ -71,10 +71,6 @@ module User::HasSettings
settings['reject_unlisted_subscription']
end
def setting_send_without_domain_blocks
settings['send_without_domain_blocks']
end
def setting_stop_emoji_reaction_streaming
settings['stop_emoji_reaction_streaming']
end

View file

@ -40,6 +40,7 @@ class Status < ApplicationRecord
include Discard::Model
include Paginable
include RateLimitable
include Status::DomainBlockConcern
include Status::SafeReblogInsert
include Status::SearchConcern
include Status::SnapshotConcern

View file

@ -31,7 +31,6 @@ class UserSettings
setting :public_post_to_unlisted, default: false
setting :reject_public_unlisted_subscription, default: false
setting :reject_unlisted_subscription, default: false
setting :send_without_domain_blocks, default: false
setting :reaction_deck, default: nil
setting :stop_emoji_reaction_streaming, default: false
setting :emoji_reaction_streaming_notify_impl2, default: false

View file

@ -143,14 +143,8 @@ class StatusPolicy < ApplicationPolicy
def server_blocking_domain_of_status?(status)
@domain_block ||= DomainBlock.find_by(domain: current_account&.domain)
if @domain_block
if status.account.user&.setting_send_without_domain_blocks
(@domain_block.detect_invalid_subscription && status.public_unlisted_visibility? && status.account.user&.setting_reject_public_unlisted_subscription) ||
(@domain_block.detect_invalid_subscription && status.public_visibility? && status.account.user&.setting_reject_unlisted_subscription)
else
(@domain_block.detect_invalid_subscription && status.public_unlisted_visibility? && status.account.user&.setting_reject_public_unlisted_subscription) ||
(@domain_block.detect_invalid_subscription && status.public_visibility? && status.account.user&.setting_reject_unlisted_subscription) ||
(@domain_block.reject_send_sensitive && ((status.with_media? && status.sensitive) || status.spoiler_text?))
end
(@domain_block.detect_invalid_subscription && status.sending_maybe_compromised_privacy?) ||
(@domain_block.reject_send_sensitive && status.sending_sensitive?)
else
false
end