Invalid input for update_ip_address

Heureux vous. En raison du coût plus élevé, nous avons dû revenir à la SKU V1 dès la fin de l’aperçu de la V2.

Quoi qu’il en soit, il semble que ce problème/ce cas ait déjà été résolu en amont par une PR fusionnée et devrait être inclus depuis rack 2.0. Mais selon ce problème, il manque toujours dans les versions actuelles.

Temporairement, j’applique un correctif pendant le CI/CD pour gérer ce problème. Ce n’est pas idéal, mais cela fera l’affaire jusqu’à ce que nous voyions la correction dans une prochaine version de rack ou de Discourse.

Si quelqu’un est intéressé, voici la partie que vous devez modifier pour vous débarrasser du port supplémentaire dans lib/auth/default_current_user_provider.rb :

if current_user && should_update_last_seen?
  u = current_user
  ip_port_split = request.ip.split(':')
  ip_only = ip_port_split.first
  Scheduler::Defer.later "Updating Last Seen" do
    u.update_last_seen!
    u.update_ip_address!(ip_only)
  end
end

Je ne sais pas si c’est une bonne idée de remplacer n’importe quelle occurrence de request.ip par ce correctif rapide ailleurs dans ce fichier ou dans d’autres (email_controller.rb, 006-mini_profiler.rb, request_tracker.rb), mais cela fonctionne pour nous.
Comme dit, l’appliquer en tant que correctif pendant vos processus de build/CI maintient la base de code propre et mise à jour.

Toute solution « plus élégante » est la bienvenue.