From 9beef9926f583f891441025c70ecb91e22f87e19 Mon Sep 17 00:00:00 2001 From: KMY Date: Tue, 11 Jul 2023 18:57:17 +0900 Subject: [PATCH] Fix fetch_references_service --- .../activitypub/fetch_references_service.rb | 30 +++++-------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/app/services/activitypub/fetch_references_service.rb b/app/services/activitypub/fetch_references_service.rb index 6ee0dc4f94..682ec7eb16 100644 --- a/app/services/activitypub/fetch_references_service.rb +++ b/app/services/activitypub/fetch_references_service.rb @@ -13,31 +13,17 @@ class ActivityPub::FetchReferencesService < BaseService def collection_items(collection_or_uri) collection = fetch_collection(collection_or_uri) - return unless collection.is_a?(Hash) && collection['first'].present? + return unless collection.is_a?(Hash) - all_items = [] - collection = fetch_collection(collection['first']) + collection = fetch_collection(collection['first']) if collection['first'].present? + return unless collection.is_a?(Hash) - while collection.is_a?(Hash) - items = begin - case collection['type'] - when 'Collection', 'CollectionPage' - collection['items'] - when 'OrderedCollection', 'OrderedCollectionPage' - collection['orderedItems'] - end - end - - break if items.blank? - - all_items.concat(items) - - break if all_items.size >= 5 - - collection = collection['next'].present? ? fetch_collection(collection['next']) : nil + case collection['type'] + when 'Collection', 'CollectionPage' + collection['items'] + when 'OrderedCollection', 'OrderedCollectionPage' + collection['orderedItems'] end - - all_items end def fetch_collection(collection_or_uri)