about summary refs log tree commit diff
path: root/app/lib/activitypub/activity.rb
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2020-08-24 15:50:39 +0200
committerFire Demon <firedemon@creature.cafe>2020-08-30 05:45:20 -0500
commitf81e156c10c5092dae246f1b3b96e0131ebf786c (patch)
treeb9956d143e3b45bf915dfee896985c5bf294389b /app/lib/activitypub/activity.rb
parentb4d7ef9f2a24fe26fe47722d1742ae9a30739d2e (diff)
Fix dereferencing remote statuses not using the correct account
Follow-up to #14359

In the case of limited toots, the receiver may not be explicitly part of the
audience. If a specific user's inbox URI was specified, it makes sense to
dereference the toot from the corresponding user, instead of trying to find
someone in the explicit audience.
Diffstat (limited to 'app/lib/activitypub/activity.rb')
-rw-r--r--app/lib/activitypub/activity.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/app/lib/activitypub/activity.rb b/app/lib/activitypub/activity.rb
index 8a05e22cc..c4c0f4be1 100644
--- a/app/lib/activitypub/activity.rb
+++ b/app/lib/activitypub/activity.rb
@@ -168,6 +168,8 @@ class ActivityPub::Activity
   end
 
   def signed_fetch_account
+    return Account.find(@options[:delivered_to_account_id]) if @options[:delivered_to_account_id].present?
+
     first_mentioned_local_account || first_local_follower
   end