Invalid input for update_ip_address

Fortunato te. A causa dei costi più elevati, abbiamo dovuto tornare alla SKU V1 non appena è terminata la preview della V2.

Comunque, sembra che questo problema/sia già stato risolto a monte da una PR unita e dovrebbe essere incluso dalla versione 2.0 di rack. Ma secondo questo issue, manca ancora nelle release attuali.

Temporaneamente applico una patch durante la CI/CD per gestire questo problema. Non è eccezionale, ma fa il suo lavoro finché non vedremo la correzione in una futura release di rack o Discourse.

Se qualcuno è interessato, questa è la parte da modificare per eliminare la porta extra in 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

Non so se sia una buona idea sostituire ogni occorrenza di request.ip con questa soluzione rapida altrove in quel file o in altri (email_controller.rb, 006-mini_profiler.rb, request_tracker.rb), ma per noi funziona.
Come detto, applicarla come patch durante i processi di build/CI mantiene la base di codice pulita e aggiornabile.

Qualsiasi soluzione “più elegante” è benvenuta.