Sorte a sua. Por causa do custo mais alto, precisávamos voltar para o SKU V1 assim que o preview do V2 terminou.
De qualquer forma, parece que esse problema/caso já foi resolvido a montante por um PR mesclado e deveria estar incluído desde o rack 2.0. Mas, de acordo com essa issue, ele ainda está faltando nas versões atuais.
Temporariamente, aplico um patch durante o CI/CD para lidar com esse problema. Não é tão bom, mas resolve até que vejamos a correção em uma próxima versão do rack ou do Discourse.
Se alguém estiver interessado, esta é a parte que você precisa alterar para eliminar a porta extra em 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
Não sei se é uma boa ideia substituir qualquer ocorrência de request.ip por essa correção rápida em qualquer outro lugar desse arquivo ou em outros (email_controller.rb, 006-mini_profiler.rb, request_tracker.rb), mas funciona para nós.
Como dito, aplicá-la como um patch durante seus processos de build/CI mantém a base de código limpa e atualizável.
Qualquer solução “mais elegante” é bem-vinda.