0
0
Fork 0

Fix RefollowWorker not keeping show_reblogs setting (#12707)

* Fix RefollowWorker not keeping show_reblogs setting

* Fix RefollowWorker
This commit is contained in:
ThibG 2020-01-02 20:52:39 +01:00 committed by Eugen Rochko
parent 09d54d1f62
commit aa138ea350
2 changed files with 36 additions and 3 deletions

View file

@ -7,15 +7,18 @@ class RefollowWorker
def perform(target_account_id)
target_account = Account.find(target_account_id)
return unless target_account.protocol == :activitypub
return unless target_account.activitypub?
target_account.passive_relationships.where(account: Account.where(domain: nil)).includes(:account).reorder(nil).find_each do |follow|
reblogs = follow.show_reblogs?
target_account.followers.where(domain: nil).reorder(nil).find_each do |follower|
# Locally unfollow remote account
follower = follow.account
follower.unfollow!(target_account)
# Schedule re-follow
begin
FollowService.new.call(follower, target_account)
FollowService.new.call(follower, target_account, reblogs: reblogs)
rescue Mastodon::NotPermittedError, ActiveRecord::RecordNotFound, Mastodon::UnexpectedResponseError, HTTP::Error, OpenSSL::SSL::SSLError
next
end