From 5c23ec2fa668c9a0b25681349f7e73e1dfb68ecd Mon Sep 17 00:00:00 2001 From: Takeshi Umeda Date: Wed, 15 Jul 2020 02:05:34 +0900 Subject: [PATCH] Improve group processing (#14279) * Fix the local group's followers collection * Fix to accept followed relayed_through_account * Add local delivery to the group's followers * Fix code style * Revert "Add local delivery to the group's followers" This reverts commit 3237effc199772e4c4d30f19082cbc5633f56196. --- app/lib/activitypub/activity.rb | 2 +- app/lib/activitypub/tag_manager.rb | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/lib/activitypub/activity.rb b/app/lib/activitypub/activity.rb index 58cec7ac49f..0ce279d2873 100644 --- a/app/lib/activitypub/activity.rb +++ b/app/lib/activitypub/activity.rb @@ -185,7 +185,7 @@ class ActivityPub::Activity end def followed_by_local_accounts? - @account.passive_relationships.exists? + @account.passive_relationships.exists? || @options[:relayed_through_account]&.passive_relationships&.exists? end def requested_through_relay? diff --git a/app/lib/activitypub/tag_manager.rb b/app/lib/activitypub/tag_manager.rb index 1523f86d4fe..3f98dad2eb0 100644 --- a/app/lib/activitypub/tag_manager.rb +++ b/app/lib/activitypub/tag_manager.rb @@ -72,16 +72,16 @@ class ActivityPub::TagManager account_ids = status.active_mentions.pluck(:account_id) to = status.account.followers.where(id: account_ids).each_with_object([]) do |account, result| result << uri_for(account) - result << account.followers_url if account.group? + result << account_followers_url(account) if account.group? end to.concat(FollowRequest.where(target_account_id: status.account_id, account_id: account_ids).each_with_object([]) do |request, result| result << uri_for(request.account) - result << request.account.followers_url if request.account.group? + result << account_followers_url(request.account) if request.account.group? end) else status.active_mentions.each_with_object([]) do |mention, result| result << uri_for(mention.account) - result << mention.account.followers_url if mention.account.group? + result << account_followers_url(mention.account) if mention.account.group? end end end @@ -110,16 +110,16 @@ class ActivityPub::TagManager account_ids = status.active_mentions.pluck(:account_id) cc.concat(status.account.followers.where(id: account_ids).each_with_object([]) do |account, result| result << uri_for(account) - result << account.followers_url if account.group? + result << account_followers_url(account) if account.group? end) cc.concat(FollowRequest.where(target_account_id: status.account_id, account_id: account_ids).each_with_object([]) do |request, result| result << uri_for(request.account) - result << request.account.followers_url if request.account.group? + result << account_followers_url(request.account) if request.account.group? end) else cc.concat(status.active_mentions.each_with_object([]) do |mention, result| result << uri_for(mention.account) - result << mention.account.followers_url if mention.account.group? + result << account_followers_url(mention.account) if mention.account.group? end) end end