قمتُ بتفعيل الردود المتداخلة لجميع المواضيع (في سمة Horizon) وواجهتُ خطأً في الحالة يمكنني الآن تكراره، سواء على الهاتف المحمول أو سطح المكتب.
عندما أفتح موضوعًا وأقرأه، ثم أنتقل إلى موضوع آخر عبر كتلة المواضيع المقترحة/المرتبطة (أي تنقل من جانب العميل دون إعادة تحميل)، فقد تبقى الردود من الموضوع الذي غادرته مؤخرًا على الشاشة — مُصوّرة بشكل متداخل تحت الفرع الأول للموضوع الجديد. بل إنها قد تعلق تحت منشور تم حذفه في الموضوع الجديد. ولا تختفي هذه الردود حتى لو استمريت في التنقل إلى مواضيع أخرى؛ فإعادة تحميل الصفحة بالكامل فقط هي ما تزيلها.
تفاصيل مهمة: المشكلة تظهر بشكل متقطع. فالقفزة الأولى عبر كتلة المواضيع المرتبطة تكون سليمة عادةً، ويمكنني النقر عليها عدة مرات دون أي مشكلة. ولا تبدو المشكلة إلا بعد التنقل عبر كتلة المواضيع المرتبطة مرتين أو أكثر على التوالي.
خطوات إعادة إنتاج المشكلة:
- افتح موضوعًا يحتوي على ردود متداخلة.
- افتح موضوعًا آخر عبر كتلة المواضيع المقترحة/المرتبطة (دون إعادة تحميل)، واستمر في فعل ذلك عدة مرات على التوالي.
- بعد قفزتين متتاليتين أو أكثر عبر الكتلة، تظهر ردود من موضوع سابق بشكل متداخل تحت الفرع الأول للموضوع الحالي، وأحيانًا تحت منشور تم حذفه هناك.
- تبقى هذه الردود ثابتة حتى مع التنقل اللاحق داخل التطبيق، ولا تختفي إلا بإعادة تحميل كاملة للصفحة.
لا يوجد خطأ في جافا سكريبت في وحدة التحكم، لذا انتقلتُ إلى تبويب الشبكة (Network)، ويبدو أن الموضوع السابق لم يتم تفكيكه أبدًا:
- الصفحة المفحوصة هي الموضوع 724 (/n/vibriruet-pri-troganii…/724?sort=old).
- بينما أكون في الصفحة 724، لا تزال هناك طلبات لبيانات الموضوع السابق في السجل:
509.json?sort=old&track_visit=true.
- لا يزال استطلاع message-bus المباشر يحتوي على Referer …/n/pinki-tolchki-…-na-nissane-kube/509
— أي أن اشتراك message-bus للموضوع 509 لم يتم إعادة توجيهه إلى الموضوع 724.
إذًا، يبدو حقًا أن المسار المتداخل لا يعيد تعيين تدفق المنشورات / اشتراك message-bus للموضوع الذي أتيت منه عند التنقل من جانب العميل. وقد لوحظت المشكلة أولًا على الهاتف المحمول، لكنها تتصرف بنفس الطريقة على سطح المكتب.
إصدار Discourse: 2026.6.0-latest (27f76aa897)
سعيدُ بتسجيل شاشة أو الغوص أعمق إذا كان ذلك مفيدًا.
3 إعجابات
@Andry_Osminin هل يحدث هذا فقط في سمة هورايزون أم أنه نفسه في فاونديشن؟
لم أستطع إعادة إنتاج المشكلة بشكل جيد بعد، لكنني أراسل @markvanlan بخصوص التصور.
إعجابَين (2)
إنه يعمل فقط على Horizon — لم ألاحظ في Foundation أن فرع الردود ينتقل بين المواضيع.
لكنني لا أعتقد أنه مفقود ببساطة في Foundation؛ بل يبدو أن الأمر يتعلق بكيفية عمل التنقل هناك. الفرق الذي لاحظته:
- Horizon: عندما أنقر على موضوع ذي صلة (أو أفتح أي موضوع من القائمة)، يظهر الموضوع فورًا دون مؤشر تحميل. هذا التنقل الفوري هو بالضبط اللحظة التي يظهر فيها انتقال فرع الردود، بعد نقرتين متتاليتين أو أكثر.
- Foundation: يظهر الموضوع فورًا في البداية أيضًا (مثل Horizon)، ولكن بعد حوالي 200-400 مللي ثانية، تظهر شاشة تحميل بنقاط متحركة ويعاد تحميل الموضوع مرة أخرى — أي أن هناك تحميلًا ثانٍ ذاتي التفعيل يلي الفتح السريع.
إذًا يبدو أن الخطأ يظهر تحديدًا بسبب التنقل “الفوري”، حيث لا يتم إعادة تعيين حالة الموضوع السابق. أما في Foundation، فإن هذا التحميل اللاحق يعيد تعيين الحالة ويخفي المشكلة. وبعبارة أخرى: في Horizon، لا يعيد التنقل الفوري للمواضيع المتداخلة تعيين تدفق المنشورات أو اشتراك ناقل الرسائل للموضوع السابق، بينما يفعل ذلك تدفق Foundation عبر ذلك التحميل الثاني.
بشكل منفصل، أثناء الاختبار على Horizon: في العرض المتداخل، ألاحظ أحيانًا انزياحًا طفيفًا في التخطيط. أفتح موضوعًا، أبدأ في التمرير لأسفل، وعندما يصل الشاشة إلى الردود، قد يحدث انزياح سريع دقيق — ليس في كل مرة، ولكن بشكل متكرر. قد يكون مرتبطًا، وقد يكون أمرًا ثانويًا منفصلًا؛ أذكره فقط احتياطًا.
إعجابَين (2)
هناك أمر منفصل وثانوي واجهته — لست متأكدًا ما إذا كان خاصًا بالتداخل أو بـ Horizon، لكنه لم يحدث في الوضع المسطح: سطر إحصائيات الموضوع مُرتَّب بشكل غير صحيح في حالة حدية معينة. عندما يكون عدد المستخدمين في الموضوع قليلًا جدًا بحيث لا يمكن عرض عداد “المستخدمين” ولا يُظهر وقت القراءة، ينزل عداد المشاهدات إلى سطر واحد ويتم عرضه بلون مختلف، بدلًا من كتلة الإحصائيات ذات النمط العادي مع الرقم. لقطة الشاشة 1 — الوضع الطبيعي. لقطة الشاشة 2 — الحالة الحدية. يسعدني تقسيم هذا إلى موضوع منفصل إذا فضلت إبقاء الأخطاء منفصلة.
إعجاب واحد (1)
أعتقد أنني وجدت حلاً لمشاكل Horizon لديك. سأدرجه في طلب دمج (PR) قادم سيؤثر بشكل كبير على عرض المواضيع المتداخلة على الجوال. آمل أن يكون جاهزًا اليوم.
3 إعجابات
شكرًا لك على الاستجابة السريعة! لقد وجدت الإصلاح في #40548 (إصلاح تفكيك تسجيل المنشورات المتداخلة) ولاحظت أن طلب السحب لا يزال مسودة، لذا لا يوجد أي عجلة على الإطلاق.
فقط أردت التأكد - هل لديك فكرة تقريبية عن موعد اعتماده؟ وأنا مستعد لاختباره على نسختي بمجرد جاهزيته، إذا كان ذلك مفيدًا.
إعجاب واحد (1)
مرحبًا أندري،
لقد أدرجتُ ذلك الإصلاح ضمن إعادة هيكلة أكبر لتجربة المستخدم على الهاتف المحمول كنتُ أعمل عليها. أنا أقوم حاليًا بالتحقق النهائي من الجودة للتأكد من عدم حدوث أي كسر غير متوقع. وآمل دمجها اليوم أو غدًا.
إعجاب واحد (1)
تم دمج طلب السحب
أخبرني بعد التحديث إذا كانت الأمور تبدو جيدة. لم أنسَ التنسيق الغريب لوسم views. سأعالج ذلك قريبًا.
إعجابَين (2)
شكرًا لك على دمج #40652! أنا الآن على الإصدار 2f2676180 مع وجود #40652 في الشجرة، قمت بإعادة بناء التطبيق بالكامل عبر ./launcher، وتحققت من ذلك في وضع التصفح المتخفي، لذا لا تتعلق المشكلة بالذاكرة المؤقتة. ومع ذلك، لا يزال الانتقال غير المقصود يحدث.
كيفية تكرار المشكلة لدي (الترتيب حسب الأقدم أولًا): أول فرع والردود الاثنان تحته يتبعان دائمًا إلى الموضوع التالي ويظهران تحت أول فرع هناك، طالما أنني أنتقل بين المواضيع دون إعادة تحميل الصفحة. إعادة تحميل الصفحة بالكامل تحل المشكلة.
فكرة غير مرتبطة، وليست عيبًا: عندما يرد شخص على منشوره الخاص، ربما لا يجب إضافة مستوى تعشيش آخر له، بل وضعه مباشرةً في المستوى نفسه أدناه. بعض التطبيقات تفعل ذلك، مما يمنع خيوط النقاش من التعمق بشكل مفرط. مجرد فكرة.
تم التحديث والاختبار - يعمل بشكل مثالي، لم يعد هناك تسرب بين المواضيع
. شكراً جزيلاً! الآن يمكنني نشر الردود المتداخلة في جميع أنحاء المنتدى.
إعجابَين (2)