diff options
author | ThibG <thib@sitedethib.com> | 2019-09-27 21:13:51 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2019-09-27 21:13:51 +0200 |
commit | 18b451c0e6cf6a927a22084f94b423982de0ee8b (patch) | |
tree | 9f2f657b793f499cece2a97dd902c285019dfb61 /app/services/update_account_service.rb | |
parent | 2f90a38f44c9c414a2020b2a0031835f3335fea0 (diff) |
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
Diffstat (limited to 'app/services/update_account_service.rb')
-rw-r--r-- | app/services/update_account_service.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/app/services/update_account_service.rb b/app/services/update_account_service.rb index 01756a73d..ebf24be37 100644 --- a/app/services/update_account_service.rb +++ b/app/services/update_account_service.rb @@ -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 |