lib/devise/models/trackable.rb in devise-4.4.1 vs lib/devise/models/trackable.rb in devise-4.4.2

- old
+ new

@@ -29,11 +29,16 @@ self.sign_in_count ||= 0 self.sign_in_count += 1 end def update_tracked_fields!(request) + # We have to check if the user is already persisted before running + # `save` here because invalid users can be saved if we don't. + # See https://github.com/plataformatec/devise/issues/4673 for more details. + return if new_record? + update_tracked_fields(request) - save + save(validate: false) end end end end