Add references activitypub support

This commit is contained in:
KMY 2023-07-11 18:31:28 +09:00
parent 4c65f2721c
commit cadfbbab96
8 changed files with 115 additions and 5 deletions

View file

@ -473,7 +473,9 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
end
def process_references!
references = @json['references'].nil? ? [] : ActivityPub::FetchReferencesService(@json['references'])
references = @json['references'].nil? ? [] : ActivityPub::FetchReferencesService.new.call(@json['references'])
quote = @json['quote'] || @json['quoteUrl'] || @json['quoteURL'] || @json['_misskey_quote']
references << quote if quote
ProcessReferencesWorker.perform_async(@status.id, [], references)
end

View file

@ -78,6 +78,12 @@ class ActivityPub::TagManager
account_status_replies_url(target.account, target, page_params)
end
def references_uri_for(target, page_params = nil)
raise ArgumentError, 'target must be a local activity' unless %i(note comment activity).include?(target.object_type) && target.local?
account_status_references_url(target.account, target, page_params)
end
def followers_uri_for(target)
target.local? ? account_followers_url(target) : target.followers_url.presence
end