about summary refs log tree commit diff
path: root/app/models/status.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/status.rb')
-rw-r--r--app/models/status.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/app/models/status.rb b/app/models/status.rb
index 969cb0c16..15ad76944 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -395,6 +395,7 @@ class Status < ApplicationRecord
   around_create Mastodon::Snowflake::Callbacks
 
   before_create :set_locality
+  before_create :process_bangtags?, if: :local?
 
   before_validation :prepare_contents, if: :local?
   before_validation :set_reblog
@@ -405,8 +406,6 @@ class Status < ApplicationRecord
 
   after_create :set_poll_id
 
-  before_save :process_bangtags?, if: :local?
-
   after_save :update_sharekey, if: :local?
   after_save :update_origin, if: :local?
   after_save :process_bangtags, if: :local?
@@ -714,9 +713,13 @@ class Status < ApplicationRecord
     @_process_bangtags |= text_changed?
   end
 
+  def process_bangtags!
+    Bangtags.new(self).process
+  end
+
   def process_bangtags
     return unless @_process_bangtags
-    Bangtags.new(self).process
+    process_bangtags!
   end
 
   def update_sharekey