Browse Source

Add check for visibility.nil? even though it can't ever be, to check for race conditions

Eugen Rochko 7 years ago
parent
commit
8232f76c48
2 changed files with 3 additions and 0 deletions
  1. 1 0
      app/lib/exceptions.rb
  2. 2 0
      app/services/fan_out_on_write_service.rb

+ 1 - 0
app/lib/exceptions.rb

@@ -4,4 +4,5 @@ module Mastodon
   class Error < StandardError; end
   class NotPermittedError < Error; end
   class ValidationError < Error; end
+  class RaceConditionError < Error; end
 end

+ 2 - 0
app/services/fan_out_on_write_service.rb

@@ -4,6 +4,8 @@ class FanOutOnWriteService < BaseService
   # Push a status into home and mentions feeds
   # @param [Status] status
   def call(status)
+    raise Mastodon::RaceConditionError if status.visibility.nil?
+
     deliver_to_self(status) if status.account.local?
 
     if status.direct_visibility?