Compare commits

...

3 Commits

Author SHA1 Message Date
Claire
b8aca89c88
Merge e5d530e5cf into 94bceb8683 2025-07-11 14:03:35 +00:00
Claire
e5d530e5cf
Merge branch 'main' into fixes/thread-resolve-worker-skip_fetching 2025-01-09 11:27:18 +01:00
Claire
ebabda5695 Fix threading of private posts received out of order 2024-07-26 15:30:39 +02:00

View File

@ -10,10 +10,17 @@ class ThreadResolveWorker
child_status = Status.find(child_status_id) child_status = Status.find(child_status_id)
return if child_status.in_reply_to_id.present? return if child_status.in_reply_to_id.present?
parent_status = ActivityPub::TagManager.instance.uri_to_resource(parent_url, Status) skip_fetching = options.delete('skip_fetching')
parent_status ||= FetchRemoteStatusService.new.call(parent_url, **options.deep_symbolize_keys)
return if parent_status.nil? parent_status = ActivityPub::TagManager.instance.uri_to_resource(parent_url, Status)
parent_status ||= FetchRemoteStatusService.new.call(parent_url, **options.deep_symbolize_keys) unless skip_fetching
if parent_status.nil?
raise 'presumably private parent not found, retrying later' if skip_fetching
ThreadResolveWorker.perform_async(child_status_id, parent_url, { 'skip_fetching' => true })
return
end
child_status.thread = parent_status child_status.thread = parent_status
child_status.save! child_status.save!