From ad5f9492fbc5b8f205ec8489199bef5cc1fe03e6 Mon Sep 17 00:00:00 2001 From: KMY Date: Thu, 6 Jul 2023 13:23:38 +0900 Subject: [PATCH] Fix status reference worker parameters error --- app/lib/activitypub/activity/create.rb | 5 ++--- app/models/status_stat.rb | 2 +- app/services/post_status_service.rb | 2 +- app/services/process_references_service.rb | 2 +- app/services/update_status_service.rb | 2 +- app/workers/process_references_worker.rb | 4 ++-- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 3dbdaf74fb..12e05b9796 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -473,9 +473,8 @@ class ActivityPub::Activity::Create < ActivityPub::Activity end def process_references! - references = [] - references = ActivityPub::FetchReferencesService(@json['references']) unless @json['references'].nil? - ProcessReferencesWorker.perform_async(@status.id, [], urls: references) + ActivityPub::FetchReferencesService(@json['references']) unless @json['references'].nil? + ProcessReferencesWorker.perform_async(@status.id, [], []) end def join_group! diff --git a/app/models/status_stat.rb b/app/models/status_stat.rb index d2a29170a8..dbbc95948b 100644 --- a/app/models/status_stat.rb +++ b/app/models/status_stat.rb @@ -48,7 +48,7 @@ class StatusStat < ApplicationRecord end def status_referred_by_count - [attributes['status_referred_by_count'], 0].max + [attributes['status_referred_by_count'] || 0, 0].max end private diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index e1d5ab2471..2c488e6f5e 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -148,7 +148,7 @@ class PostStatusService < BaseService def postprocess_status! process_hashtags_service.call(@status) - ProcessReferencesWorker.perform_async(@status.id, @reference_ids) + ProcessReferencesWorker.perform_async(@status.id, @reference_ids, []) Trends.tags.register(@status) LinkCrawlWorker.perform_async(@status.id) DistributionWorker.perform_async(@status.id) diff --git a/app/services/process_references_service.rb b/app/services/process_references_service.rb index f61129eb4c..194a65484e 100644 --- a/app/services/process_references_service.rb +++ b/app/services/process_references_service.rb @@ -44,7 +44,7 @@ class ProcessReferencesService < BaseService end def scan_text! - text = @status.text.gsub(%r{]*>}, '') + text = @status.text.gsub('\u003c', '<').gsub('\u003e', '>').gsub(%r{]*>}, '') @scan_text = fetch_statuses!(text.scan(REFURL_EXP).pluck(3).uniq).map(&:id).uniq.filter { |status_id| !status_id.zero? } end diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb index ec39059d3f..fb94dd7b17 100644 --- a/app/services/update_status_service.rb +++ b/app/services/update_status_service.rb @@ -142,7 +142,7 @@ class UpdateStatusService < BaseService def update_metadata! ProcessHashtagsService.new.call(@status) ProcessMentionsService.new.call(@status) - ProcessReferencesWorker.perform_async(@status.id, (@options[:status_reference_ids] || []).map(&:to_i).filter(&:positive?)) + ProcessReferencesWorker.perform_async(@status.id, (@options[:status_reference_ids] || []).map(&:to_i).filter(&:positive?), []) end def broadcast_updates! diff --git a/app/workers/process_references_worker.rb b/app/workers/process_references_worker.rb index edae2c6163..7d59d964c9 100644 --- a/app/workers/process_references_worker.rb +++ b/app/workers/process_references_worker.rb @@ -3,8 +3,8 @@ class ProcessReferencesWorker include Sidekiq::Worker - def perform(status_id, ids, urls: nil) - ProcessReferencesService.new.call(Status.find(status_id), ids || [], urls: urls) + def perform(status_id, ids, urls) + ProcessReferencesService.new.call(Status.find(status_id), ids || [], urls: urls || []) rescue ActiveRecord::RecordNotFound true end