إدخال غير صالح لتحديث عنوان IP

حظًا سعيدًا. بسبب التكلفة الأعلى، اضطررنا إلى العودة إلى SKU V1 فور انتهاء النسخة التجريبية من V2.

على أي حال، يبدو أن هذه المشكلة/الحالة قد تم معالجتها مسبقًا عبر طلب دمج مدمج ويجب أن يكون مدرجًا منذ إصدار rack 2.0. لكن وفقًا لـ هذه المشكلة، لا يزال غير موجود في الإصدارات الحالية.

مؤقتًا، أقوم بتطبيق تصحيح أثناء عملية CI/CD للتعامل مع هذه المشكلة. ليس مثاليًا، لكنه يؤدي الغرض حتى نرى الإصلاح في إصدار rack/دسكروس القادم.

إذا كان أي شخص مهتمًا، فهذا هو الجزء الذي تحتاج إلى تعديله للتخلص من المنفذ الإضافي في 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)، لكنه يعمل بالنسبة لنا.
كما قلنا، تطبيقه كـ patch أثناء عمليات البناء/CI يحافظ على نظافة قاعدة الكود وقابليتها للتحديث.

أي حل “أجمل” مرحب به.