خطأ في الوسيطة: المنطقة الزمنية غير صالحة: US/Pacific-New يسبب خطأ 500

لدي تثبيت قياسي قمت بترقيته للتو وهو يفشل بسبب مشكلة في المنطقة الزمنية. أعتقد أن الأمر قد يتعلق بمستخدم واحد فقط، لكنني لست متأكدًا تمامًا بعد.

كان الأمر يتعلق بمستخدم واحد فقط. عندما ذهبت إلى ملفه الشخصي، لم يتم تعيين منطقته الزمنية. عندما قمت بتعيين المنطقة الزمنية، اختفت المشكلة.

Started GET "/t/37040.json?track_visit=true&forceLoad=true" for 204.98.75.5 at 2023-03-23 21:36:37 +0000
Processing by TopicsController#show as JSON
  Parameters: {"track_visit"=>"true", "forceLoad"=>"true", "id"=>"37040"}
Completed 500 Internal Server Error in 48ms (ActiveRecord: 0.0ms | Allocations: 8345)
ArgumentError (Invalid Timezone: US/Pacific-New)
(eval):82:in `_fast_attributes'
app/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'
app/serializers_post_stream_serializer_mixin.rb:47:in `map'
app/serializers/post_stream_serializer_mixin.rb:47:in `posts'
app/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'
(eval):3:in `_fast_attributes'
app/controllers/application_controller.rb:545:in `render_json_dump'
app/controllers/topics_controller.rb:1242:in `block (2 levels) in perform_show_response'
app/controllers/topics_controller.rb:1232:in `perform_show_response'
app/controllers/topics_controller.rb:187:in `show'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:369:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'
Failed to handle exception in exception app middleware : ArgumentError : Invalid Timezone: US/Pacific-New
  Rendered text template (Duration: 0.0ms | Allocations: 1)
Started GET "/latest.json" for 172.220.127.141 at 2023-03-23 21:37:00 +0000
Processing by ListController#latest as JSON

تعديل: ربما كان لديه منطقته الزمنية مضبوطة على تلك القيمة المزيفة؟ لقد جربت مستخدمًا آخر بمنطقة زمنية فارغة ولم يكن هناك خطأ.

3 إعجابات

من أي إصدار قمت بالترقية؟

ربما يتعلق الأمر (وقديم) FIX: removes us_pacific-new from the list of available timezones by jjaffeux · Pull Request #10514 · discourse/discourse · GitHub

5 إعجابات

رائع. اكتشاف جيد. أحتاج إلى تعلم كيفية البحث بشكل أفضل في الالتزامات القديمة عن السلاسل النصية. هل تفعل ذلك من خلال واجهة مستخدم GitHub؟ أين؟

لقد كان من إصدار حديث، لم يمض عليه أكثر من شهر. لا معنى لهذا أن يكون مشكلة الآن إلا إذا كانت مكتبة أحدث تفرض شيئًا بشكل مختلف.

لذا ربما يكون الأمر مجرد صدفة أو ربما كان يجب على هذا الالتزام إزالة إعدادات المستخدم مع المنطقة الزمنية غير الصالحة الآن.

إعجاب واحد (1)
  1. انتقل إلى المستودع الذي تريد البحث فيه
  2. أدخل مصطلح البحث في الزاوية العلوية اليسرى

  1. انقر، ثم انقر فوق “في هذا المستودع”

إعجابَين (2)

لم أكن متأكدًا كيف استغرق الأمر مني 6 سنوات لمعرفة ذلك!

3 إعجابات

حسنًا، يبدو أنني لم أكتشف الأمر بعد.

ولكن انتظر! ها هي الحيلة التي كنت أفتقدها طوال هذه السنوات:

وإذا نقرت على “issues” … … أخيرًا!

شكرًا جزيلاً.

إعجاب واحد (1)

حسنًا، أفضل تخمين لدي هو أنه كانت هناك فترة زمنية يمكن للمرء فيها اختيار US/Pacific-New كمنطقة زمنية، وقد فعل هذا المستخدم ذلك. والآن تفشل بعض المكتبات للمستخدمين الذين لديهم تلك المنطقة الزمنية.

UserOption.where("timezone like '%Pacific-New%'")

لا يجد أي مستخدمين آخرين لديهم تلك المنطقة الزمنية، لذا أعتقد أنه لن يحدث مرة أخرى على هذا الموقع.

إعجاب واحد (1)