ラッキーですね。コストが高いため、V2 プレビューが終了するとすぐに SKU V1 に切り替える必要がありました。
とにかく、この問題/ケースは既に マージされた 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
この簡易修正を、そのファイル内の他の場所や他のファイル(email_controller.rb、006-mini_profiler.rb、request_tracker.rb)にある request.ip のすべての出現箇所に置き換えるのが良いアイデアかどうかはわかりませんが、私たちにとっては機能しています。
前述の通り、ビルド/CI プロセス中にパッチを適用することで、コードベースをクリーンに保ち、更新可能にすることができます。
より「きれいな」解決策があれば、ぜひご教示ください。