diff options
author | ThibG <thib@sitedethib.com> | 2018-10-03 23:44:13 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-10-07 18:40:31 +0200 |
commit | c2f31d908ec8764ab3a91e3c6edb8f8d8309d503 (patch) | |
tree | 2e4ee9dfac7bb3da4e7e6c597c144af88fc1172c | |
parent | 38a48a627c290072d6c6c1e99952cecb59d39f51 (diff) |
Fix handling of ActivityPub activities lacking some attributes (#8864)
-rw-r--r-- | app/lib/activitypub/activity/accept.rb | 2 | ||||
-rw-r--r-- | app/lib/activitypub/activity/delete.rb | 2 | ||||
-rw-r--r-- | app/lib/activitypub/activity/reject.rb | 2 | ||||
-rw-r--r-- | app/lib/activitypub/activity/undo.rb | 2 |
4 files changed, 6 insertions, 2 deletions
diff --git a/app/lib/activitypub/activity/accept.rb b/app/lib/activitypub/activity/accept.rb index 7e60b2c00eb..348ee0d1cb3 100644 --- a/app/lib/activitypub/activity/accept.rb +++ b/app/lib/activitypub/activity/accept.rb @@ -26,7 +26,7 @@ class ActivityPub::Activity::Accept < ActivityPub::Activity end def relay - @relay ||= Relay.find_by(follow_activity_id: object_uri) + @relay ||= Relay.find_by(follow_activity_id: object_uri) unless object_uri.nil? end def relay_follow? diff --git a/app/lib/activitypub/activity/delete.rb b/app/lib/activitypub/activity/delete.rb index 3474d55d947..457047ac060 100644 --- a/app/lib/activitypub/activity/delete.rb +++ b/app/lib/activitypub/activity/delete.rb @@ -17,6 +17,8 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity end def delete_note + return if object_uri.nil? + @status = Status.find_by(uri: object_uri, account: @account) @status ||= Status.find_by(uri: @object['atomUri'], account: @account) if @object.is_a?(Hash) && @object['atomUri'].present? diff --git a/app/lib/activitypub/activity/reject.rb b/app/lib/activitypub/activity/reject.rb index d81b157de8a..dba21fb9a7d 100644 --- a/app/lib/activitypub/activity/reject.rb +++ b/app/lib/activitypub/activity/reject.rb @@ -28,7 +28,7 @@ class ActivityPub::Activity::Reject < ActivityPub::Activity end def relay - @relay ||= Relay.find_by(follow_activity_id: object_uri) + @relay ||= Relay.find_by(follow_activity_id: object_uri) unless object_uri.nil? end def relay_follow? diff --git a/app/lib/activitypub/activity/undo.rb b/app/lib/activitypub/activity/undo.rb index 64c2be7d9c2..599823c6e25 100644 --- a/app/lib/activitypub/activity/undo.rb +++ b/app/lib/activitypub/activity/undo.rb @@ -19,6 +19,8 @@ class ActivityPub::Activity::Undo < ActivityPub::Activity private def undo_announce + return if object_uri.nil? + status = Status.find_by(uri: object_uri, account: @account) status ||= Status.find_by(uri: @object['atomUri'], account: @account) if @object.is_a?(Hash) && @object['atomUri'].present? |