Qué suerte tienes. Debido al mayor coste, tuvimos que volver a la SKU V1 tan pronto como terminó la vista previa de V2.
De todos modos, parece que este problema ya fue abordado aguas arriba mediante una PR fusionada y debería estar incluido desde rack 2.0. Pero según este problema, aún falta en las versiones actuales.
Temporalmente, aplico un parche durante CI/CD para resolver este problema. No es lo ideal, pero funcionará hasta que veamos la corrección en una futura versión de rack o Discourse.
Si alguien está interesado, esta es la parte que debes modificar para eliminar el puerto extra en 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
No sé si es buena idea reemplazar cualquier aparición de request.ip con esta solución rápida en otras partes de ese archivo o en otros (email_controller.rb, 006-mini_profiler.rb, request_tracker.rb), pero nos funciona.
Como dije, aplicarlo como un parche durante tus procesos de construcción/CI mantiene la base de código limpia y actualizable.
Cualquier solución “más elegante” será bienvenida.