بطاقات المستخدم للزوار المجهولين تختفي فورًا مع "500 خطأ داخلي في الخادم" في `card.json?include_post_count_for`

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

عندما ينقر زائر مجهول على أي صورة رمزية للمستخدم، يظهر مخطط بطاقة المستخدم لبضع مللي ثانية ثم يختفي على الفور. تعرض وحدة تحكم أخطاء F12:

GET   https://example.com/u/UserName/card.json?include_post_count_for=xxxxx

Status  500 Internal Server Error
Version  HTTP/2
Transferred  294 B (46 B size)
Referrer Policy  strict-origin-when-cross-origin
Request Priority  Highest

يحدث هذا أيضاً في الوضع الآمن.

ليس لدي الإعداد إخفاء ملفات تعريف المستخدمين عن الجمهور ممكّناً، ولكني اختبرت تمكينه قبل بضعة أيام، ولست متأكداً مما إذا كان لذلك علاقة بالأمر.

يبدو أن هذا قد يكون مرتبطًا بـ جهودك لتضمين عدد المشاركات في بطاقة المستخدم. هل قمت بإنشاء إضافة لهذا في النهاية؟

لا، لم أتمكن من تشغيل ذلك أبدًا. على أي حال، كان سيتم تعطيل ذلك في الوضع الآمن.

الرقم ?include_post_count_for=xxxxx هو رقم معرف الموضوع، وليس المستخدم.

افترضت أن الوظيفة التي تفشل هي لزر “X مشاركات في هذا الموضوع” الذي يظهر في بطاقة المستخدم.

الوضع الآمن يعطل فقط واجهة المستخدم الأمامية ويترك بعض الأشياء من جانب الخادم في مكانها، لذلك قد يكون لا يزال مكونًا إضافيًا حتى لو حدث في الوضع الآمن. هناك منشور حديث به مزيد من المعلومات هنا Safe-mode failed with a plugin - #4 by david

لا يمكنني تكرار هذه المشكلة على موقع الاختبار الخاص بي. هل لديك أي مكونات إضافية / إعدادات إضافية / أي شيء غير عادي يمكن أن يكون له تأثير؟ هل هناك أي معلومات إضافية في /logs حول الخطأ؟

حسنًا، شكرًا لك على ذلك، يبدو أنك على حق، لقد كان بسبب هذا المكون الإضافي:

يتم الإشارة إلى @pfaffman

رسالة (تم الإبلاغ عن 184 نسخة)

NoMethodError (undefined method `in_any_groups?' for nil:NilClass)
lib/plugin/instance.rb:301:in `public_send'
lib/plugin/instance.rb:301:in `block (2 levels) in add_to_class'
app/serializers/user_card_serializer.rb:144:in `can_send_private_message_to_user'
(eval):18:in `_fast_attributes'
app/controllers/application_controller.rb:545:in `render_json_dump'
app/controllers/users_controller.rb:147:in `block (2 levels) in show'
app/controllers/users_controller.rb:140:in `show'
app/controllers/users_controller.rb:152:in `show_card'
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/middleware/anonymous_cache.rb:367: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'

تتبع الأخطاء

plugins/discourse-allow-pm-to-staff/plugin.rb:52:in `block (2 levels) in activate!'
lib/plugin/instance.rb:301:in `public_send'
lib/plugin/instance.rb:301:in `block (2 levels) in add_to_class'
app/serializers/user_card_serializer.rb:144:in `can_send_private_message_to_user'
(eval):18:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:343:in `as_json'
إعجابَين (2)

لقد قمت بتحويله إلى Support لأنه مكون إضافي لطرف ثالث. :+1:

إعجابَين (2)

هل تستمر هذه المشكلة بعد الترقية؟

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

إذًا، هل المشكلة مستمرة؟

تحدث مشكلة اختفاء بطاقات المستخدمين للمستخدمين المجهولين أثناء تمكين GitHub - pfaffman/discourse-allow-pm-to-staff: Allow private messages to be sent to staff for users who could otherwise not send private messages. وتحل عند تعطيل المكون الإضافي.

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

أعتقد أن هذه المشكلة قد تم إصلاحها الآن. يرجى الترقية إذا لم تكن قد قمت بذلك بالفعل.

تم الإصلاح، شكراً!

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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.