البحث عن وسم مع مربع اختيار لا يُظهر نتائج على الهاتف المحمول

:warning: ملاحظة أغسطس 2023: الأمثلة السابقة في هذا الموضوع تحتوي على إشارات إلى علامات لم تعد موجودة، ومع ذلك فإن مشكلة النتائج الفارغة لا تزال قائمة.

إذا قمت بزيارة https://meta.discourse.org/tags/c/theme/61/theme-component على الهاتف المحمول، وانقر على العدسة المكبرة، وابحث على سبيل المثال عن “topic” وانقر على مربع الاختيار لـ “search the tag Theme component”، فهناك مشكلتان.
من ناحية، تحتاج إلى النقر على مربع الاختيار مرتين حتى يتم تحديد المربع. من ناحية أخرى، لا توجد نتائج بحث بعد النقر على مربع الاختيار مرة أو مرتين، بينما توجد العديد من النتائج إذا كنت تستخدم البحث على سطح المكتب.

البحث على الهاتف المحمول دون لمس مربع الاختيار


https://meta.discourse.org/search?context=tag&context_id=theme-component&q=Topic&skip_context=true

البحث على الهاتف المحمول والنقر على مربع الاختيار مرة واحدة


https://meta.discourse.org/search?context=tag&context_id=theme-component&q=Topic&skip_context=false

البحث على الهاتف المحمول والنقر على مربع الاختيار مرتين


https://meta.discourse.org/search?context=tag&context_id=theme-component&q=Topic&skip_context=false

البحث باستخدام عرض سطح المكتب


https://meta.discourse.org/search?q=topic%20%23theme-component

أعلم أنه يمكنني كتابة Theme component في البحث للحصول على نتائج على الهاتف المحمول، ولكن أعتقد أن هذه ليست فكرة تقديم مربع الاختيار.

3 إعجابات

يا له من اكتشاف رائع يا @moin. أعتقد أنك ربما اكتشفت خللين. :slight_smile:

  1. خانة الاختيار لا تعمل على الفور، و
  2. تحديد نطاق البحث لعلامة ينشئ مسارًا تخدمه Discourse برمز 403

خانة الاختيار لا يتم تحديدها

في الهاتف المحمول، يضيف رابط البحث “context” إلى عنوان URL، مما يكشف عن خانة الاختيار التي يمكن تبديلها المعنية. في هذه الحالة، عنوان URL الذي ننظر إليه هو https://meta.discourse.org/search?context=tag&context_id=theme-component&skip_context=true.

عند تبديل خانة الاختيار، نقوم بتغيير استعلام البحث حيث يتغير skip_context من true إلى false والعودة مرة أخرى. هذا يعني أيضًا أنه قد يمكنك إنشاء عنوان URL حيث يتم تحديد المربع افتراضيًا، مثل <https://meta.discourse.org/search?context=category&context_id=1&skip_context=false>. هذا مهم، لأنني لاحظت سلوكًا مختلفًا بين الحالتين عند تحميلهما.

skip_context=true

الافتراضي في عرض الهاتف المحمول، ولن يتم تحديد المربع. التفاعل مع خانة الاختيار، باللمس أو لوحة المفاتيح، يغير عنوان URL إلى skip_context=false، ولكنه لا يحدد خانة الاختيار. النقر مرة أخرى سيحددها، مع الاحتفاظ بـ “false” في عنوان URL.

بعد ذلك، يمكن تبديلها ذهابًا وإيابًا، مع تغييرات عنوان URL المقابلة كما هو متوقع.

skip_context=false

عند تحميل البحث، يتم تحديد خانة الاختيار، والتفاعل معها يعمل كما هو متوقع: كل تفاعل يغير خانة الاختيار وعنوان URL.


لقد لاحظت بشكل منفصل أن استخدام خانات الاختيار هذه يتسبب أيضًا في فقدان التركيز على الصفحة، بغض النظر عن قيمة skip_context؛ آمل أن يكون نفس الشيء هو السبب في مشكلة النقر المزدوج لدينا. :slight_smile:

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

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

4 إعجابات

نطاق العلامات في البحث يُرجع 403

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

باستخدام Theme و Theme component كمثال:

عندما نستخدم سياق البحث للعلامات، يبدو طلبنا كالتالي: https://meta.discourse.org/search?q=topic&page=1&search_context[type]=tag&search_context[id]=theme-component، والذي يُرجع 403.

عندما نستخدم سياق البحث للفئات، يبدو طلبنا كالتالي: https://meta.discourse.org/search?q=topic&page=1&search_context[type]=category&search_context[id]=61، والذي يُرجع النتائج كما هو متوقع.

بدلاً من ذلك، إذا اخترنا علامة من عوامل تصفية البحث المتقدم، يبدو طلبنا كالتالي: https://meta.discourse.org/search?q=tags:theme-component&page=1 ويُرجع النتائج بتلك العلامة.

أنا قادر على إعادة إنتاج المسار &search_context[type]=tag&search_context[id]=theme-component الذي يُرجع 403 في الوضع الآمن أيضًا.

هل هناك أنواع أخرى من search_context؟ لقد ألقيت نظرة سريعة على الكود ولكن لم أتمكن من تحديده؛ إذا كان الأمر كذلك، يمكننا اختبارها أيضًا.

3 إعجابات

متابعةً للنقاش من Discourse Subscriptions - allow subscription of predetermined length:

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

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

يمكنني تأكيد ذلك. حاولت للتو البحث من علامة التصنيف post-voting مع تحديد الخيار، ولم يتمكن من العثور على أي نتائج ( @mention أو أي كلمة رئيسية أخرى عادية)

Android/Chrome

(لم أتحقق من سطح المكتب بعد) لقد تحققت من سطح المكتب ويعمل بشكل جيد.

هل هذه إحدى المشكلات التي أبلغت عنها هنا؟

إعجابَين (2)

لم تكن لدي مشكلة في تحديد المربع، ولكن يبدو أن عدم وجود نتائج هو نفس المشكلة.

لقد قمت بدمج المواضيع. :+1: (وقمت بتعديل OP قليلاً).

فقط لتدوين ملاحظة هنا أيضًا؛ لم تعد علامات المثال في OP موجودة، على الرغم من أن المشكلة المتعلقة بنتائج البحث الفارغة على الهاتف المحمول التي أظهروها لا تزال قائمة.

خطواتي الأساسية جدًا:

  • على الهاتف المحمول، انتقل إلى قائمة مواضيع post-voting
  • افتح البحث وحدد مربع الاختيار Search the #post_voting tag
  • أدخل شيئًا من شأنه بالتأكيد أن يعطي نتيجة (على سبيل المثال، ‘comment’ أو ‘@JammyDodger’)
  • اضغط على ‘Search’

النتيجة: ‘No results found

النتيجة المتوقعة: العثور على الأشياء

إعجابَين (2)

هذه بالفعل مشكلة، شكراً على التبليغ يا رفاق. يجب إصلاحها عند دمج طلب السحب هذا: FIX: Search by tag context was broken by pmusaraj · Pull Request #23006 · discourse/discourse · GitHub

إعجابَين (2)

تم دمج هذا الآن :partying_face:

3 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد يومين. لم يعد يُسمح بالردود الجديدة.