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