diff options
author | Thibaut Girka <thib@sitedethib.com> | 2020-01-04 22:54:06 +0100 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2020-01-04 23:04:42 +0100 |
commit | 01eaeab56df4da4c697b1096f40a400cc9e2b8e8 (patch) | |
tree | 6288ee106b4615cacd98362f9fd268317a9cdeff /app/workers | |
parent | 22daf24600d8e99e4569740ee5836d25c70c1e8b (diff) | |
parent | 2ecc7802caf4d272191a7fd582fc97996f750827 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: - `app/controllers/application_controller.rb`: Conflict due to theming system. - `app/controllers/oauth/authorizations_controller.rb`: Conflict due to theming system.
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/refollow_worker.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/app/workers/refollow_worker.rb b/app/workers/refollow_worker.rb index 12f2bf671..9b07ce1b5 100644 --- a/app/workers/refollow_worker.rb +++ b/app/workers/refollow_worker.rb @@ -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 |