هل تقصد أنه كان لديك سابقًا قواعد تقوم بتسلسل المحادثات، ولكن مع آخر تحديث قمت به، لم يعد التسلسل يعمل؟ أم أنك توقعت مع التحديث أن يبدأ التسلسل ولكنه لا يفعل ذلك؟
أنا أدير discourse 093ee1d80c و discourse-chat-integration da91061 (الأحدث حاليًا)، وقناتي التي تحتوي على قواعد thread تقوم بتسلسل الردود بشكل صحيح، ولكن فقط للقنوات التي تم إعدادها بقواعد thread.
هل يمكنك إظهار إعداداتك لقاعدة thread؟ في لوحة الإدارة → الإضافات → تكاملات الدردشة، يجب أن ترى قواعد تقول:
سترى أعلاه التبرير لجعل هذا الإعداد خاصًا بكل قاعدة وليس لكل موقع.
عند إعداد قاعدة من أمر /discourse في Slack (أو أي أمر اخترته عند إعداد التكامل)، استخدم thread بدلاً من watch أو follow، كما هو موثق في Discourse Chat Integration
حسناً، أحتاج إلى مراجعة تكاملات Slack وتغيير كل حالة من الحالات التالية: جميع المنشورات والردود ← جميع المنشورات مع الردود المتسلسلة.
حتى الآن، نقوم بعرض جميع المنشورات والردود في معظم تكاملات القنوات. هل سيؤدي مجرد عرض جميع المنشورات مع الردود المتسلسلة إلى إحداث أي مشاكل مستقبلاً؟ أسأل أيضاً لأن لدي العديد من القنوات التي يجب إعادة تكوينها، لذا من الأفضل أن أعيد تعيينها بشكل صحيح من المرة الأولى.
إذا فهمت سؤالك بشكل صحيح: لا، لن “تسبب أي فوضى” — الهدف منها هو الأمان، حيث لن تمنع أبدًا إرسال إشعار جديد إلى Slack، بل إن الأمر يقتصر على أنه إذا كانت التكاملية على علم بخيط محدد، فستُرسل إليه بدلاً من القناة. أما إذا لم تكن على علم بسياق خيط لأي سبب، فستُرسل إلى القناة كما هو مُعرَّف في القاعدة.
“جميع المنشورات ذات الردود المتسلسلة” تعني ما يلي:
عند إضافة منشور جديد إلى موضوع موجود:
إذا تم تخزين معرف خيط للموضوع، فاستخدمه لنشر رد ضمن الخيط.
إذا لم يتم تخزين معرف خيط للموضوع، فبعد إرسال الإشعار إلى Slack، استخدم معرف الخيط الخاص بالمنشور الجديد في Slack للمنشورات اللاحقة في ذلك الموضوع. وستبدأ عملية التسلسل من تلك النقطة فصاعدًا.
عند نشر موضوع جديد إلى Slack، قم بتخزين معرف الخيط الناتج عنه، بحيث تُرسل المنشورات الإضافية في ذلك الموضوع إلى Slack كردود متسلسلة.
أوجز ذلك بالقول: “تصرف كما تفعل قاعدة watch تمامًا، إلا أنه إذا كانت تعرف خيطًا مخصصًا للنشر فيه، فقم بذلك بدلاً من ذلك”.
بالإضافة إلى ذلك، عند استخدام ميزة “المحضر” (transcript) لنشر محتوى Slack كموضوع جديد في Discourse، وبغض النظر عن أي إعدادات قواعد، فإنه دائمًا يحاول تخزين معرف الخيط، بحيث إذا كانت قاعدة thread موجودة بالفعل أو أضيفت في المستقبل، تُعلن الردود على الموضوع الجديد في Discourse في الخيط المناسب في Slack.
أنا متأكد من أنه يمكن تعديل قواعدها الحالية باستخدام بعض الأوامر عبر bin/rails c، لكنني لا أريد فعل ذلك على موقعي المباشر حيث اخترت عمدًا القنوات التي أرغب في تسلسل المنشورات فيها وتلك التي لا أرغب في ذلك، كما أنني جديد جدًا على Ruby لدرجة أنني لا أستطيع كتابة أوامر Ruby عشوائية كنصيحة مساعدة على منتدى وأتوقع ألا تتسبب في حدوث فوضى. باستثناء أنها ربما تبدأ بـ DiscourseChat::Rule.where(، فلن أتمكن من تقديم الكثير من المساعدة. آسف!
@sunjam بالمناسبة، أقدر جدًا تأكيدك على أن هذه الوظيفة مرغوبة وقيمة! (خاصة مع السخرية من أنني لا أحب خيوط Slack شخصيًا، وقمت بهذا العمل لصالح آخرين يجدونها أكثر قيمة مني!)
يمكنني تخيل أنه سيكون من المنطقي إضافة زر في واجهة المستخدم لتحويل جميع قواعد watch إلى قواعد thread. ومع ذلك، لا أملك حقًا المعرفة الكافية للقيام بذلك، ولن أستخدمه بنفسي. أنا في الأساس مطور في الخلفية يتلاعب بـ Discourse، لذا حتى أنني لن أكون مراجعًا مفيدًا لطلب سحب (PR) لإضافة مثل هذا الزر. كل ما يمكنني فعله هو أن أكون مشجعًا بلا فائدة إذا أراد شخص آخر تنفيذ مثل هذه الوظيفة.
لقد عثرت على مشكلة @mcdanlj. عند إنشاء تكامل قناة جديد: لا تظهر الردود المتسلسلة في اختبارات 2.6 beta1 التي نجحت في الفلاتر. بمجرد إنشاء التكامل، يصبح خيارًا عند تعديل التكامل.
لكنني في الحقيقة مطور في الخلفية ولا أعرف كيفية إصلاح هذا. لا أعرف سبب كون channel.provider هو slack فقط عند تعديل قاعدة موجودة، وليس عند إنشاء قاعدة جديدة.
@sunjam بالمناسبة، بعد أن قرّرت نقل معظم قواعد تكامل Slack الخاصة بي من watch إلى thread (وليس جميعها)، شعرت بما تمر به. لقد تعبت عينيّ حقًا وسرّني أن أنتهي من الأمر. لذا، لست متأكدًا من أنني سأفعل شيئًا مختلفًا في عملي، لكنني لا أقلل من الجهد المطلوب للتحويل. على الأقل، هذه تكلفة لمرة واحدة.
إذا كانت هناك أمر سطر واحد يمكن تنفيذه في وحدة تحكم Rails لتحويل جميع قواعد watch العادية إلى قواعد thread، فلم أتمكن من اكتشافه—وإلا لاستخدمته، ثم أعيد تحويل القواعد القليلة التي أردت الاحتفاظ بها كقواعد watch.
هل تظهر ردود المواضيع في كل غير المقروء والمواضيع على جانب Slack الخاص بك؟ لقد رأيت ظهور منشورات جديدة، لكن ردود المواضيع لا تبدو وكأنها تثير هذه الإشعارات.
لا تُرسل رسائل Discourse إشعارات مختلفة عن أي موضوع آخر في Slack، لكن هذا الأمر يتجاوز Discourse ليدخل في كيفية عمل إشعارات المواضيع في Slack. أعتقد أن قواعد إشعارات المواضيع في Slack ليست رائعة، لكن Slack ليس مشروعًا مفتوح المصدر يمكن لأي شخص عشوائي المساهمة في تحسينه. يجب عليك المشاركة في موضوع ما أو الاشتراك فيه لتلقي إشعارات حول المنشورات الإضافية ضمن ذلك الموضوع. على الأقل، هذه هي القاعدة في هذا الأسبوع. أعتقد أن المواضيع كانت تتبع قواعد إشعارات القناة عندما أُدخلت لأول مرة في Slack. لا أستطيع العثور على أي خيار في Slack لتمكين إشعارات المواضيع لتتبع القنوات، وهذا الأمر يثير جنوني لأنني أفقد معلومات مهمة في العمل نتيجة لذلك.
أنا أكره تنفيذ Slack للمواضيع إلى حد أن الأمر ساخر حقًا لأنني كنت الشخص الذي قام بتنفيذ هذه الميزة. لكنني أيضًا أعتقد أنني في الأقلية، وقد قمت بتنفيذها لجعل Discourse أكثر جاذبية للأغلبية الذين يقدّرون مواضيع Slack حقًا.
شكرًا لك على التوضيح. يبدو أن المشاركين في ThreadExample سيعرفون الردود المتسلسلة، وهو ما يعمل بشكل جيد بما يكفي. في كلتا الحالتين، هذا خيار مفيد جدًا في تنظيف الأمور على جانب Slack، بالإضافة إلى أنني آمل أن يلهم هذا التكاملات الأخرى للدردشة لتضمين اختلافات مماثلة لهذا المفهوم!
هذا صحيح، حيث يشمل «الأشخاص المعنيون» أولئك الذين يفتحون قائمة النقاط الثلاث العمودية في الموضوع، ويختارون «متابعة الموضوع» (الخيار الأول).
لقد أدركت للتو أن هناك نماذج أولية في وقت سابق من الموضوع، لكنني لم أشارك مثالاً على هذا في العمل. لذا، بدءًا من اليوم، في قناة Slack الخاصة بـ https://forum.makerforums.info/c/k40، لدينا هذا:
شكرًا جزيلاً لك على تمكين مزامنة خيوط Discourse مع Slack. لاحظت مشكلة واحدة: إذا نشرت رابطًا باستخدام onebox عن طريق لصق الرابط في سطر منفصل، يتم حذفه بالكامل من الرسالة المنشورة في خيط Slack، ولا أرى سوى سطر فارغ. في حالتي، كان الرابط محصورًا بين سطرين من النص، وتم نشرهما بشكل صحيح.
ملخص سريع: نقل المواضيع أمر سيء عند ربط الردود بسلاك.
لاحظت شيئًا واحدًا وهو أن نقل موضوع بين فئات في ديسكورش يبدو أنه يكسر الربط في قنوات سلاك. يتعلق الأمر فقط بأشخاص ينشئون موضوعًا في فئة، ثم ينقلونه إلى فئة أخرى مجهزة لقناة سلاك مختلفة.
بما أن المنشور أ تم نقله، فإنه لم يعد يرسل ردودًا مرتبطة بنفس الموقع على سلاك. هذا يعني أن الردود لم تعد مرئية على طرف سلاك على الإطلاق. إذا حافظت على الردود فردية (غير مرتبطة)، فسوف تتجنب هذه المشكلة المحتملة.
غير متأكد، لكن أعتقد أنه يستحق الذكر. إحدى الحلول البديلة هي جعل التكامل متاحًا في قناة سلاك إضافية محددة دون استخدام الخيوط، فقط ليظهر في قناة واحدة على الأقل.