From ee5a4030f76c0ec4799d2249aad952665a7bda80 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 12 Jul 2020 22:11:49 +0200 Subject: Fix removing a DomainAllow rule wiping known accounts in open federation mode (#14298) Fixes #14296 --- app/services/unallow_domain_service.rb | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'app/services') diff --git a/app/services/unallow_domain_service.rb b/app/services/unallow_domain_service.rb index bd1ad328d..870c79951 100644 --- a/app/services/unallow_domain_service.rb +++ b/app/services/unallow_domain_service.rb @@ -1,11 +1,19 @@ # frozen_string_literal: true class UnallowDomainService < BaseService + include DomainControlHelper + def call(domain_allow) - Account.where(domain: domain_allow.domain).find_each do |account| - SuspendAccountService.new.call(account, reserve_username: false) - end + suspend_accounts!(domain_allow.domain) if whitelist_mode? domain_allow.destroy end + + private + + def suspend_accounts!(domain) + Account.where(domain: domain).find_each do |account| + SuspendAccountService.new.call(account, reserve_username: false) + end + end end -- cgit From 98b3b80d6bc6b8549448bb7fadc1449ba68a52ea Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 13 Jul 2020 19:33:10 +0200 Subject: Fix account domain block not properly unfollowing accounts from domain (#14304) Fix #14303 --- app/services/after_block_domain_from_account_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/services') diff --git a/app/services/after_block_domain_from_account_service.rb b/app/services/after_block_domain_from_account_service.rb index f50bde261..89d007c1c 100644 --- a/app/services/after_block_domain_from_account_service.rb +++ b/app/services/after_block_domain_from_account_service.rb @@ -19,7 +19,7 @@ class AfterBlockDomainFromAccountService < BaseService private def remove_follows! - @account.active_relationships.where(account: Account.where(domain: @domain)).includes(:target_account).reorder(nil).find_each do |follow| + @account.active_relationships.where(target_account: Account.where(domain: @domain)).includes(:target_account).reorder(nil).find_each do |follow| UnfollowService.new.call(@account, follow.target_account) end end -- cgit