0
0
Fork 0

Change silences to always require approval on follow (#11975)

* Change silenced accounts to require approval on follow

* Also require approval for follows by people explicitly muted by target accounts

* Do not auto-accept silenced or muted accounts when switching from locked to unlocked

* Add `follow_requests_count` to verify_credentials

* Show “Follow requests” menu item if needed even if account is locked

* Add tests

* Correctly reflect that follow requests weren't auto-accepted when local account is silenced

* Accept follow requests from user-muted accounts to avoid leaking mutes
This commit is contained in:
ThibG 2019-09-27 21:13:51 +02:00 committed by Eugen Rochko
parent 2f90a38f44
commit 18b451c0e6
9 changed files with 105 additions and 9 deletions

View file

@ -20,7 +20,9 @@ class UpdateAccountService < BaseService
private
def authorize_all_follow_requests(account)
AuthorizeFollowWorker.push_bulk(FollowRequest.where(target_account: account).select(:account_id, :target_account_id)) do |req|
follow_requests = FollowRequest.where(target_account: account)
follow_requests = follow_requests.select { |req| !req.account.silenced? }
AuthorizeFollowWorker.push_bulk(follow_requests) do |req|
[req.account_id, req.target_account_id]
end
end