diff --git a/app/models/account_deletion.rb b/app/models/account_deletion.rb index 492929e5ba11386957c62e995f2565a7f4055c06..7b18862690e1f9f9fc4ffc1cbe49a8851e894236 100644 --- a/app/models/account_deletion.rb +++ b/app/models/account_deletion.rb @@ -7,7 +7,7 @@ class AccountDeletion < ActiveRecord::Base belongs_to :person - after_create :queue_delete_account + after_commit :queue_delete_account, :on => :create xml_name :account_deletion xml_attr :diaspora_handle diff --git a/app/models/comment.rb b/app/models/comment.rb index 25fa5a790b6217e417b4c942d2b54a20dd24a73a..92c56929c0ef31fa5ea1b983eeb02d2e7393f1b7 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -41,7 +41,7 @@ class Comment < ActiveRecord::Base self.post.touch end - after_create do + after_commit :on => :create do self.parent.update_comments_counter end diff --git a/app/models/like.rb b/app/models/like.rb index af85c8d709723f5f7c124832bb3684a0349f337a..530fa2aa50643fdfba54d27529e720f8f44cff35 100644 --- a/app/models/like.rb +++ b/app/models/like.rb @@ -13,7 +13,7 @@ class Like < Federated::Relayable end end - after_create do + after_commit :on => :create do self.parent.update_likes_counter end diff --git a/app/models/message.rb b/app/models/message.rb index f4f75bffe4a56ca7fa1b937c539d6c66951ef466..c0bbcb38a2916e6b67071ccb9f70371098a16892 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -17,7 +17,7 @@ class Message < ActiveRecord::Base validates :text, :presence => true validate :participant_of_parent_conversation - after_create do + after_commit :on => :create do #sign comment as commenter self.author_signature = self.sign_with_key(self.author.owner.encryption_key) if self.author.owner diff --git a/app/models/photo.rb b/app/models/photo.rb index f34d6f3fb02f233902a7f349597bf52bdac7fe20..0e4b2bb82fe3a8d3317f4d8ec5bf6f9101fbef1a 100644 --- a/app/models/photo.rb +++ b/app/models/photo.rb @@ -46,7 +46,7 @@ class Photo < ActiveRecord::Base before_destroy :ensure_user_picture after_destroy :clear_empty_status_message - after_create do + after_commit :on => :create do queue_processing_job if self.author.local? end diff --git a/app/models/post.rb b/app/models/post.rb index 671d4660df2c50ae7531249ca0c6874284e11cd0..b2eda3d06abfff6df462ee2a5793f2a06a37acae 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -26,7 +26,7 @@ class Post < ActiveRecord::Base belongs_to :o_embed_cache belongs_to :open_graph_cache - after_create do + after_commit :on => :create do self.touch(:interacted_at) end diff --git a/app/models/reshare.rb b/app/models/reshare.rb index 902311b07c11f8eb0e1b99976981429e201205a9..b597dea71ae4d9c7c436569df835b001d7b30124 100644 --- a/app/models/reshare.rb +++ b/app/models/reshare.rb @@ -17,7 +17,7 @@ class Reshare < Post self.public = true end - after_create do + after_commit :on => :create do self.root.update_reshares_counter end diff --git a/app/models/status_message.rb b/app/models/status_message.rb index b6a9f3cb5a32531a591ad86ad643fc9475b01a48..4e0dfd127fe6d005f4930f6d3ac949a5a19036e1 100644 --- a/app/models/status_message.rb +++ b/app/models/status_message.rb @@ -34,7 +34,7 @@ class StatusMessage < Post before_create :filter_mentions after_create :create_mentions - after_create :queue_gather_oembed_data, :if => :contains_oembed_url_in_text? + after_commit :queue_gather_oembed_data, :on => :create, :if => :contains_oembed_url_in_text? after_commit :queue_gather_open_graph_data, :on => :create, :if => :contains_open_graph_url_in_text? #scopes diff --git a/lib/diaspora/relayable.rb b/lib/diaspora/relayable.rb index 4a853f62bbaeb2b2f2e5d73debf5f1bbc6e425e9..d0db312b74d8a3cd8ea62e394e31d7a678211621 100644 --- a/lib/diaspora/relayable.rb +++ b/lib/diaspora/relayable.rb @@ -20,7 +20,7 @@ module Diaspora delegate :public?, to: :parent delegate :author, :diaspora_handle, to: :parent, prefix: true - after_create do + after_commit :on => :create do parent.touch(:interacted_at) if parent.respond_to?(:interacted_at) end