set local_only in a before_create callback instead of status service
parent
7fc6f40a88
commit
6f3321fe4f
|
@ -141,6 +141,8 @@ class Status < ApplicationRecord
|
||||||
|
|
||||||
around_create Mastodon::Snowflake::Callbacks
|
around_create Mastodon::Snowflake::Callbacks
|
||||||
|
|
||||||
|
before_create :set_locality
|
||||||
|
|
||||||
before_validation :prepare_contents, if: :local?
|
before_validation :prepare_contents, if: :local?
|
||||||
before_validation :set_reblog
|
before_validation :set_reblog
|
||||||
before_validation :set_visibility
|
before_validation :set_visibility
|
||||||
|
@ -302,6 +304,12 @@ class Status < ApplicationRecord
|
||||||
self.sensitive = sensitive || spoiler_text.present?
|
self.sensitive = sensitive || spoiler_text.present?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def set_locality
|
||||||
|
if account.domain.nil?
|
||||||
|
self.local_only = marked_local_only?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def set_conversation
|
def set_conversation
|
||||||
self.reply = !(in_reply_to_id.nil? && thread.nil?) unless reply
|
self.reply = !(in_reply_to_id.nil? && thread.nil?) unless reply
|
||||||
|
|
||||||
|
|
|
@ -40,9 +40,6 @@ class PostStatusService < BaseService
|
||||||
LinkCrawlWorker.perform_async(status.id) unless status.spoiler_text?
|
LinkCrawlWorker.perform_async(status.id) unless status.spoiler_text?
|
||||||
DistributionWorker.perform_async(status.id)
|
DistributionWorker.perform_async(status.id)
|
||||||
|
|
||||||
status.local_only = status.marked_local_only?
|
|
||||||
status.save!
|
|
||||||
|
|
||||||
unless status.local_only
|
unless status.local_only
|
||||||
Pubsubhubbub::DistributionWorker.perform_async(status.stream_entry.id)
|
Pubsubhubbub::DistributionWorker.perform_async(status.stream_entry.id)
|
||||||
ActivityPub::DistributionWorker.perform_async(status.id)
|
ActivityPub::DistributionWorker.perform_async(status.id)
|
||||||
|
|
Loading…
Reference in New Issue