From 01dfd6dbc8905dfaa5ab81fb9b38e52079e5ed7f Mon Sep 17 00:00:00 2001 From: Surinna Curtis Date: Tue, 8 May 2018 06:30:04 -0500 Subject: Take the first recognized actor_type. (#7410) --- app/services/activitypub/process_account_service.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'app/services') diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb index cc416b671..721c9c928 100644 --- a/app/services/activitypub/process_account_service.rb +++ b/app/services/activitypub/process_account_service.rb @@ -71,7 +71,7 @@ class ActivityPub::ProcessAccountService < BaseService @account.note = @json['summary'] || '' @account.locked = @json['manuallyApprovesFollowers'] || false @account.fields = property_values || {} - @account.actor_type = @json['type'] + @account.actor_type = actor_type end def set_fetchable_attributes! @@ -96,6 +96,14 @@ class ActivityPub::ProcessAccountService < BaseService ActivityPub::SynchronizeFeaturedCollectionWorker.perform_async(@account.id) end + def actor_type + if @json['type'].is_a?(Array) + @json['type'].find { |type| ActivityPub::FetchRemoteAccountService::SUPPORTED_TYPES.include?(type) } + else + @json['type'] + end + end + def image_url(key) value = first_of_value(@json[key]) -- cgit