Invalid input for update_ip_address

Вам повезло. Из-за более высокой стоимости нам пришлось вернуться к SKU V1, как только закончился превью V2.

В любом случае, похоже, что эта проблема/случай уже были решены выше по потоку в объединённом PR и должны быть включены начиная с rack 2.0. Но согласно этому issue, это всё ещё отсутствует в текущих релизах.

Временно я применяю патч во время CI/CD для решения этой проблемы. Это не идеально, но это сработает, пока мы не увидим исправление в следующем релизе rack-/discourse.

Если кому-то интересно, вот часть, которую нужно изменить, чтобы избавиться от лишнего порта в 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

Не знаю, хорошая ли идея заменить любое вхождение request.ip на это быстрое решение в других местах этого файла или в других файлах (email_controller.rb, 006-mini_profiler.rb, request_tracker.rb), но у нас это работает.
Как уже говорилось, применение патча во время процессов сборки/CI сохраняет код чистой и обновляемой базой.

Любое «более красивое» решение приветствуется.