Invalid input for update_ip_address

Haben Sie Glück. Aufgrund der höheren Kosten mussten wir zurück zu SKU V1 wechseln, sobald die V2-Vorschau beendet war.

Wie auch immer, es scheint, dass dieses Problem/Fall bereits upstream durch einen zusammengeführten PR behoben wurde und seit Rack 2.0 enthalten sein sollte. Laut diesem Issue fehlt es jedoch immer noch in den aktuellen Releases.

Vorübergehend wende ich während CI/CD einen Patch an, um dieses Problem zu lösen. Es ist nicht das Schönste, aber es erledigt den Job, bis wir die Korrektur in einem kommenden Rack-/Discourse-Release sehen.

Falls jemand interessiert ist, das ist der Teil, den Sie ändern müssen, um das zusätzliche Port in lib/auth/default_current_user_provider.rb loszuwerden:

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

Ich weiß nicht, ob es eine gute Idee ist, jedes Vorkommen von request.ip mit diesem Quickfix auch an anderer Stelle in dieser Datei oder in anderen (email_controller.rb, 006-mini_profiler.rb, request_tracker.rb) zu ersetzen, aber es funktioniert bei uns.
Wie gesagt, das Anwenden als Patch während Ihrer Build-/CI-Prozesse hält die Codebasis sauber und aktualisierbar.

Jede „schönere“ Lösung ist willkommen.