logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: 8fe36654efff73cb9b6800f7d1a57e6466f2ded3
parent: 8ee1af95306e4016644ddfd257929eb61851d8fa
Author: Keiji, Yoshimi <walf443@gmail.com>
Date:   Wed, 26 Apr 2017 10:47:44 +0900

attach_media should be in transaction of creation status (#2426)


Diffstat:

Mapp/services/post_status_service.rb20+++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb @@ -20,15 +20,17 @@ class PostStatusService < BaseService end media = validate_media!(options[:media_ids]) - status = account.statuses.create!(text: text, - thread: in_reply_to, - sensitive: options[:sensitive], - spoiler_text: options[:spoiler_text] || '', - visibility: options[:visibility], - language: detect_language_for(text, account), - application: options[:application]) - - attach_media(status, media) + status = nil + ApplicationRecord.transaction do + status = account.statuses.create!(text: text, + thread: in_reply_to, + sensitive: options[:sensitive], + spoiler_text: options[:spoiler_text] || '', + visibility: options[:visibility], + language: detect_language_for(text, account), + application: options[:application]) + attach_media(status, media) + end process_mentions_service.call(status) process_hashtags_service.call(status)