هل إضافة حقل المستخدم متعدد التحديد معطلة؟

ربما تأثر هذا التحديث الأخير لمنصة Discourse (الإصدار الحالي 2.5.0.beta2).
لديني حقل قائمة منسدلة متعددة الاختيارات تم إعداده سابقًا ويعمل بشكل صحيح، وتم تعيينه ليكون قابلًا للتعديل بعد التسجيل وما إلى ذلك.

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

أيضًا، بالنسبة للمستخدمين الجدد الذين يسجلون حسابًا جديدًا، على الرغم من ظهور حقل الاختيار المتعدد، إلا أن خيارات القائمة المنسدلة غير متاحة حاليًا/غير ظاهرة (يظهر فقط مستطيل أزرق فارغ رفيع) - وبما أن هذا الحقل مُعد كحقل إلزامي، لا يمكن إتمام عملية التسجيل.

هل هذه مشكلة معروفة؟ وهل تم تأكيد أن تحديث Discourse هو السبب؟ هل من المعروف ما هو أحدث إصدار متوافق من Discourse - وهل توجد طريقة منطقية للعودة إليه؟

لقد نشرت تقريرًا على GitHub، لكنني أرى أن الإضافة لم تشهد أي نشاط تطويري منذ بضع سنوات، لذا لا أتوقع أن يأتي حل من هذا الاتجاه. هل توجد طرق أخرى (تعمل) لتحقيق قائمة منسدلة متعددة الاختيارات لحقول المستخدم في Discourse؟

معلومًا، تم ترقية مجموعة الاختيار الأساسية (Select Kit) إلى الإصدار 2 خلال الأشهر القليلة الماضية. وقد أثّر ذلك على عدد من الإضافات، وتحديدًا هذا النوع من عناصر التحكم. إذا لم يتم صيانة هذه الإضافة منذ ذلك الحين، فقد لا تعمل بالفعل.

نقترح أن ترسل رسالة إلى المطور هنا أو تنشر في موضوع الميتا (Meta Topic) الخاص بها إذا كان موجودًا؟ وإذا لم يردوا وكان الأمر مهمًا بما يكفي بالنسبة لك، فقم بالنشر في قناة Marketplace ليقوم أحد المستقلين بالتقاط المهمة؟

شكرًا لك — لقد أرسلت رسالة إلى المستخدم الوحيد هنا الذي يحمل اسم مستخدم مشابه للاسم على Github، وآمل أن يكون هو الشخص نفسه!

هل من المرجح أن تستلزم تلك التغييرات في النواة إعادة عمل كبيرة للإضافات مثل هذه؟

أتساءل لماذا لم تكن تعدد الاختيارات جزءًا من الوظائف الأساسية بالفعل؟

نعم. ما تغير هو طريقة تكوين واستخدام عنصر التحكم.

شكرًا لك يا روبرت. ولحسن الحظ، أشار @j.jaffeux للتو إلى أنه مستعد لإصلاح الإضافة - ما هذه المجتمع الرائع!

هذا رائع. لقد كان ترقية له، لذا يجب أن يكون في وضع جيد!

هذا يجب أن يحل المشكلة:

ومع ذلك، سيتعين على شخص ما في Procourse دمجها :slight_smile:

@j.jaffeux شكرًا لك على الإصلاح. لقد دمّجته الآن :slight_smile:

مرحبًا، شكرًا لكم كلاهما على الاستجابة الرائعة!

لقد قمت بتحديث كل من الإضافة ومنصة Discourse لتشمل أحدث التغييرات، لكن مشكلة حجب حقل القائمة المنسدلة في صفحة ملف المستخدم لا تزال قائمة لدي.

وقد تكون هناك مشكلة ذات صلة، وهي أنه في جميع الحالات، يجب أن أنقر مرتين على رابط “ملف المستخدم” الموجود على الجانب الأيسر من صفحة تفضيلات المستخدم. فالنقرة الأولى تعرض حقول المستخدم القياسية فقط، بينما تظهر الحقول المخصصة بالإضافة إلى ذلك فقط عند النقرة الثانية — باستثناء حقل الاختيار المتعدد (للأسف، النقر ثلاث مرات لا يفيد).

لقد جربت ذلك على عدة متصفحات، وقمت بمسح ذاكرة التخزين المؤقت للمتصفح في كل حالة.

يمكنني التأكيد على أن المستخدمين الجدد المسجلين حديثًا يمكنهم الآن رؤية خيارات القائمة المنسدلة.
هل يساعد هذا في تضييق نطاق المشكلة؟

هل يمكنك صنع فيديو من فضلك؟

بالتأكيد! 2020-03-12_00h34_39|video

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

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

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

بخصوص الفواصل، فهذا ليس تراجعا في Discourse.

تظهر نافذة وحدة التحكم الرسالة أدناه عند النقر على ‘الملف الشخصي’ لأول مرة

VM173:1 Uncaught SyntaxError: Unexpected token N in JSON at position 0
    at JSON.parse (<anonymous>)
    at t.init_values (_discourse-multiselect-user-field-307aa8bb3934aada9a7d682455decf422704c235754739f0d5e4b19e3e909690.js:63)
    at D (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25381)
    at p (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:41427)
    at Function.e.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:42006)
    at e.t.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:11490)
    at t.n.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:18623)
    at Object.evaluate (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60870)
    at e.t.evaluate (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:59374)
    at e.t.evaluateSyscall (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62789)
init_values @ _discourse-multiselect-user-field-307aa8bb3934aada9a7d682455decf422704c235754739f0d5e4b19e3e909690.js:63
D @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25381
p @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:41427
e.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:42006
t.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:11490
n.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:18623
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60870
t.evaluate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:59374
t.evaluateSyscall @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62789
t.evaluateInner @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62735
t.evaluateOuter @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62727
e.next @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:64859
e.execute @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:64843
t.handleException @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63724
t.handleException @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63904
t.throw @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63622
r.evaluate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60213
t.execute @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63609
t.rerender @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63936
h.render @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19079
V @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25920
t._renderRoots @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19372
t._renderRootsTransaction @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19410
t._revalidate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19456
t.invoke @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66276
t.flush @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66168
t.flush @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66372
t._end @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66948
t.end @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66634
t._run @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:67003
t._join @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66977
t.join @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66694
f @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:53486
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45901
r @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:49817
handleEvent @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45897
handleEvent @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:44834
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45224
dispatch @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:5251
v.handle @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:5058
Show 10 more frames

عند النقر على ‘الملف الشخصي’ مرة أخرى، لا يبدو أن رسالة الخطأ في وحدة التحكم تتغير.
هل يمكنني إرسال تسجيل فيديو إذا كان ذلك سيساعد؟
هل هناك أي طريقة لإضافة الفواصل بين الخيارات المدرجة؟ حاليًا، إذا انطبقت أكثر من خيار، فإنها تُعرض واحدة تلو الأخرى بدون فاصل، فتُقرأ وكأنها خيار واحد طويل.

حسناً، سألقِ نظرة، إما لاحقاً اليوم أو غداً.

شكرًا جزيلاً!! نقدر مساعدتك حقًا

مرحبًا، هل كانت لديك أي حظ؟

لا أعرف كيف انتهى بك الأمر في هذه الحالة، لكن يبدو أن قيمة إعدادك خاطئة. لقد قدمت طلب سحب (PR) إلى الإضافة لجعل التحليل أكثر مرونة، والعودة إلى قيمة افتراضية في حال لم يكن من الممكن تحليل القيمة بصيغة JSON لسبب ما.

أما بالنسبة إلى “المشكلة” الأخرى، فهي طلب ميزة موجه إلى مالكي هذه الإضافة. لكنني لست متأكدًا تمامًا مما إذا كان بإمكانهم تنفيذ ذلك.

شكرًا لك!

لم يكتشف تثبيت Discourse الخاص بي التحديث حتى الآن.

بناءً على ما ورد أعلاه، يبدو أن هناك حاجة إلى عملية “دمج”؟
هل يمكنني محاولة القيام بذلك دون التسبب في أي فوضى للآخرين؟

هل توجد طريقة للتحديث يدويًا للإضافة في هذه الأثناء؟ وإذا كان الأمر كذلك، هل سيظل Discourse قادرًا على إدارة أي تحديثات مستقبلية؟

هذه ليست مشكلة في جوهر discourse، لقد أرسلت طلب سحب (PR) إلى مالك الإضافة. لا يمكننا فعل أي شيء آخر حتى يقوموا بدمجه.

نجح الأمر! وصل التحديث ويبدو أن كل شيء يعمل الآن - شكرًا جزيلًا لكم يا أصدقاء