Refactor status reference flag
This commit is contained in:
parent
71c451a569
commit
a39b8cb90e
5 changed files with 11 additions and 17 deletions
|
@ -494,10 +494,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
|
|||
quote = @object['quote'] || @object['quoteUrl'] || @object['quoteURL'] || @object['_misskey_quote']
|
||||
references << quote if quote
|
||||
|
||||
return unless ProcessReferencesService.need_process?(@status, [], references)
|
||||
|
||||
Rails.cache.write("status_reference:#{@status.id}", true, expires_in: 10.minutes)
|
||||
ProcessReferencesWorker.perform_async(@status.id, [], references)
|
||||
ProcessReferencesService.perform_worker_async(@status, [], references)
|
||||
end
|
||||
|
||||
def join_group!
|
||||
|
|
|
@ -255,10 +255,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
|
|||
quote = @json['quote'] || @json['quoteUrl'] || @json['quoteURL'] || @json['_misskey_quote']
|
||||
references << quote if quote
|
||||
|
||||
return unless ProcessReferencesService.need_process?(@status, [], references)
|
||||
|
||||
Rails.cache.write("status_reference:#{@status.id}", true, expires_in: 10.minutes)
|
||||
ProcessReferencesWorker.perform_async(@status.id, [], references)
|
||||
ProcessReferencesService.perform_worker_async(@status, [], references)
|
||||
end
|
||||
|
||||
def expected_type?
|
||||
|
|
|
@ -186,13 +186,9 @@ class PostStatusService < BaseService
|
|||
def postprocess_status!
|
||||
@account.user.update!(settings_attributes: { default_privacy: @options[:visibility] }) if @account.user&.setting_stay_privacy && !@status.reply? && %i(public public_unlisted login unlisted private).include?(@status.visibility.to_sym) && @status.visibility.to_s != @account.user&.setting_default_privacy && !@dtl
|
||||
|
||||
if ProcessReferencesService.need_process?(@status, @reference_ids, [])
|
||||
Rails.cache.write("status_reference:#{@status.id}", true, expires_in: 10.minutes)
|
||||
ProcessReferencesWorker.perform_async(@status.id, @reference_ids, [])
|
||||
end
|
||||
|
||||
process_hashtags_service.call(@status)
|
||||
Trends.tags.register(@status)
|
||||
ProcessReferencesService.perform_worker_async(@status, @reference_ids, [])
|
||||
LinkCrawlWorker.perform_async(@status.id)
|
||||
DistributionWorker.perform_async(@status.id)
|
||||
ActivityPub::DistributionWorker.perform_async(@status.id)
|
||||
|
|
|
@ -33,6 +33,13 @@ class ProcessReferencesService < BaseService
|
|||
reference_parameters.any? || (urls || []).any? || FormattingHelper.extract_status_plain_text(status).scan(REFURL_EXP).pluck(3).uniq.any?
|
||||
end
|
||||
|
||||
def self.perform_worker_async(status, reference_parameters, urls)
|
||||
return unless need_process?(status, reference_parameters, urls)
|
||||
|
||||
Rails.cache.write("status_reference:#{status.id}", true, expires_in: 10.minutes)
|
||||
ProcessReferencesWorker.perform_async(status.id, reference_parameters, urls)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def references
|
||||
|
|
|
@ -162,10 +162,7 @@ class UpdateStatusService < BaseService
|
|||
def update_references!
|
||||
reference_ids = (@options[:status_reference_ids] || []).map(&:to_i).filter(&:positive?)
|
||||
|
||||
return unless ProcessReferencesService.need_process?(@status, reference_ids, [])
|
||||
|
||||
Rails.cache.write("status_reference:#{@status.id}", true, expires_in: 10.minutes)
|
||||
ProcessReferencesWorker.perform_async(@status.id, reference_ids, [])
|
||||
ProcessReferencesService.perform_worker_async(@status, reference_ids, [])
|
||||
end
|
||||
|
||||
def update_metadata!
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue