about summary refs log tree commit diff
path: root/app/lib
diff options
context:
space:
mode:
authorTakeshi Umeda <noel.yoshiba@gmail.com>2020-07-15 02:05:34 +0900
committerGitHub <noreply@github.com>2020-07-14 19:05:34 +0200
commit5c23ec2fa668c9a0b25681349f7e73e1dfb68ecd (patch)
tree7391582b72682d0beab4cb08dccfdfc92e09e790 /app/lib
parent6a96af4d20129cea06c716393338aa4f730b7b35 (diff)
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.
Diffstat (limited to 'app/lib')
-rw-r--r--app/lib/activitypub/activity.rb2
-rw-r--r--app/lib/activitypub/tag_manager.rb12
2 files changed, 7 insertions, 7 deletions
diff --git a/app/lib/activitypub/activity.rb b/app/lib/activitypub/activity.rb
index 58cec7ac4..0ce279d28 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 1523f86d4..3f98dad2e 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