Re-add missing transaction around status-from-OStatus creation (#4603)

This commit is contained in:
Eugen Rochko 2017-08-14 21:37:21 +02:00 committed by GitHub
parent a855956185
commit 4fcbb1f838
1 changed files with 21 additions and 17 deletions

View File

@ -16,24 +16,28 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
return [status, false] unless status.nil?
status = Status.create!(
uri: id,
url: url,
account: @account,
reblog: reblog,
text: content,
spoiler_text: content_warning,
created_at: published,
reply: thread?,
language: content_language,
visibility: visibility_scope,
conversation: find_or_create_conversation,
thread: thread? ? find_status(thread.first) : nil
)
cached_reblog = reblog
save_mentions(status)
save_hashtags(status)
save_media(status)
ApplicationRecord.transaction do
status = Status.create!(
uri: id,
url: url,
account: @account,
reblog: cached_reblog,
text: content,
spoiler_text: content_warning,
created_at: published,
reply: thread?,
language: content_language,
visibility: visibility_scope,
conversation: find_or_create_conversation,
thread: thread? ? find_status(thread.first) : nil
)
save_mentions(status)
save_hashtags(status)
save_media(status)
end
if thread? && status.thread.nil?
Rails.logger.debug "Trying to attach #{status.id} (#{id}) to #{thread.first}"