Add: ローカルからフォローされていない全てのアカウントからのフォローを拒否する設定 (#592)

* Add: ローカルからフォローされていない全てのアカウントからのフォローを拒否する設定

* Fix test

* Fix test
This commit is contained in:
KMY(雪あすか) 2024-02-18 11:39:09 +09:00 committed by GitHub
parent 1efeedf896
commit c35c13ffba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 58 additions and 2 deletions

View file

@ -149,6 +149,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
valid = !Admin::NgWord.mention_reject?(@raw_mention_uris.size, uri: @params[:uri], target_type: :status, public: @status_parser.distributable_visibility?, text: "#{@params[:spoiler_text]}\n#{@params[:text]}") if valid
valid = !Admin::NgWord.stranger_mention_reject_with_count?(@raw_mention_uris.size, uri: @params[:uri], target_type: :status, public: @status_parser.distributable_visibility?, text: "#{@params[:spoiler_text]}\n#{@params[:text]}") if valid && (mention_to_local_stranger? || reference_to_local_stranger?)
valid = !Admin::NgWord.stranger_mention_reject?("#{@params[:spoiler_text]}\n#{@params[:text]}", uri: @params[:uri], target_type: :status, public: @status_parser.distributable_visibility?) if valid && (mention_to_local_stranger? || reference_to_local_stranger?)
valid = false if valid && Setting.block_unfollow_account_mention && (mention_to_local_stranger? || reference_to_local_stranger?) && !local_following_sender?
valid
end
@ -486,6 +487,10 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
@reject_reply_exclude_followers ||= DomainBlock.reject_reply_exclude_followers?(@account.domain)
end
def local_following_sender?
::Follow.exists?(account: Account.local, target_account: @account)
end
def ignore_hashtags?
return @ignore_hashtags if defined?(@ignore_hashtags)