about summary refs log tree commit diff
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
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.
-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