about summary refs log tree commit diff
path: root/app/lib/activitypub/activity/add.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-05-18 11:33:56 +0200
committerGitHub <noreply@github.com>2018-05-18 11:33:56 +0200
commit57b503d4ef0754e4651eae26b628cba60e1ab4e9 (patch)
tree91252f5d68ee16518516422ab620d6ece07b33eb /app/lib/activitypub/activity/add.rb
parentdafd7afc5ef94fc9513efa341910f7e3c31b909a (diff)
Resolve unknown status from Add activity, skip Remove if unknown (#7526)
Fix #7518
Diffstat (limited to 'app/lib/activitypub/activity/add.rb')
-rw-r--r--app/lib/activitypub/activity/add.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/app/lib/activitypub/activity/add.rb b/app/lib/activitypub/activity/add.rb
index ea94d2f98..688ab00b3 100644
--- a/app/lib/activitypub/activity/add.rb
+++ b/app/lib/activitypub/activity/add.rb
@@ -4,9 +4,10 @@ class ActivityPub::Activity::Add < ActivityPub::Activity
   def perform
     return unless @json['target'].present? && value_or_id(@json['target']) == @account.featured_collection_url
 
-    status = status_from_uri(object_uri)
+    status   = status_from_uri(object_uri)
+    status ||= fetch_remote_original_status
 
-    return unless status.account_id == @account.id && !@account.pinned?(status)
+    return unless !status.nil? && status.account_id == @account.id && !@account.pinned?(status)
 
     StatusPin.create!(account: @account, status: status)
   end