مراجعة - أضف غرف صوتية على غرار ديسكورد إلى مجتمعك 🎙

هل هذا حصريًا لـ Enterprise أم أنه يمكن تشغيله على Professional؟

هل لا يوجد خطة ‘Professional’ لـ Discourse؟ نعم، ولكن بما أن هذا ليس #رسميًا، فيمكن تثبيته فقط على الخطة الأعلى، وهي Enterprise.

إيه؟ يوجد بالفعل؟!

المصدر: https://discourse.org/buy

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

أعتقد أنني لم أربط أبدًا بين ‘Pro’ و’Professional’…

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

أليس Pro اختصارًا لـ Professional؟

صحيح، لكن كنت أتوقع أن يكون Professional أعلى من Business (ومن هنا جاء الاختصار Pro؟)

@Falco لقد أكملت التكامل، ومع ذلك كان عليّ الانتقال من WebRTC الأساسي إلى تضمين مكتبة SDK لـ SFU عبر حاوية Docker منفصلة. كما ذهبت إلى حد إنشاء واجهة منفصلة عن الشريط الجانبي القياسي الخاص بك، وشملت إمكانيات البث المباشر للمناقشات الصوتية الموجهة للمجتمعات الكبيرة.

يمكن بدء الغرفة وإيقافها من واجهة Discourse الويب أو من Domniq - معاينة تطبيق Discourse الأصلي لنظامي Android و iOS، حيث تتوفر جميع عناصر التحكم للإدارة والتحكم في الغرفة.

لم أركز على دردشة بأسلوب Discord، بل على العكس قمت بتطوير مفهوم يشبه Clubhouse و Spaces مستوحى من نواة إضافة الخاص بك، مع الإبقاء على ذكر حقوقك.

4 إعجابات

أضفت دعم الفيديو، حيث أصبحت مقاطع مشاركة الشاشة ومقاطع الكاميرا الأمامية متاحة الآن ضمن إعدادات الموقع في البرنامج المساعد.

17 إعجابًا

@Falco متى يمكننا تجربة المنتدى المستضاف؟ هذا رائع، لكنني لا أستطيع تجربته الآن :slight_smile:

بما أنه غير رسمي، ستحتاج إلى خطة Enterprise أو استضافة الخدمة بنفسك.

يبدو أن هناك مشكلة توافق مع النسخ التي تعمل على ESR، حيث يفشل البرنامج المساعد في التحميل مع:

Uncaught (in promise) Error: Could not find module discourse/blocks imported from discourse/plugins/resenha/discourse/components/resenha-anon-rooms-block
f loader.js:247
f loader.js:258
findDeps loader.js:168
f loader.js:262
findDeps loader.js:168
f loader.js:262
requireModule loader.js:24
iI app.js:228
iN app.js:251
start app.js:210
start app.js:225
start-app.js:19
loader.js:247:1

وهذا يؤدي إلى كسر التخطيط في قائمة المواضيع في سمة Horizon.

محاولة استخدام الإضافات التجريبية مع Discourse ESR ليست استراتيجية ناجحة.

إذا كنت ترغب في استخدام هذا البرنامج المساعد، فالتزم بأحدث إصدار.

5 إعجابات

أتمنى أن تكون هناك آليات مثل d-compat لضمان بقاء الإصدارات الأقدم من Discourse متوافقة في هذه الحالات! :sad_but_relieved_face:

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

إعجابَين (2)

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

إعجابَين (2)

ملاحظـة :+1:

(عشرون حرفًا)

تحدثتُ بسرعة مع @Falco وبعض الآخرين اليوم باستخدام هذا البرنامج المساعد، وكانت التجربة ممتعة!

كنت أتحدث مع @markvanlan حول أمرٍ آخر، ولاحظت أيقونة الميكروفون بجوار صورته الرمزية. قررتُ الانضمام إلى محادثة في قناة “Watercooler”، وتمكّنتُ من رؤية وجوه أشخاص لا أراهم إلا نادراً.

من الرائع حقاً رؤية ما تقومون به هنا، يا فالكو.

4 إعجابات

تصادف أن أجرينا اجتماعًا داخليًا شاملًا (All Hands) حول هذا المكوّن الإضافي خلال الأسبوعين الماضيين، وإليك ما حدث:

ملخص نموذج اللغة الكبيرة (LLM) للأسبوعين الماضيين في Resenha

:sparkles: ميزات جديدة

  • دردشة مستمرة داخل الغرفة — ربط غرفة صوتية بقناة دردشة في Discourse؛ حيث تفتح كل جلسة موضوعًا حقيقيًا يدعم التفاعلات الكاملة، والتعديلات، ورفع الملفات. ينتقل الموضوع تلقائيًا إلى موضوع جديد بعد انتهاء مهلة خمول قابلة للتكوين.
  • مشاركة صوت الشاشة — أصبح صوت التبويب ونظام التشغيل يُنقل الآن مع مشاركة الشاشة عبر مسار مخصص، منفصل عن الميكروفون. يحترم إعدادات مستوى الصوت/كتم الصوت/كتم الصوت والفيديو لكل مستخدم على حدة.
  • نافذة إعدادات الصوت — اختيار أجهزة الإدخال/الإخراج، عرض مقياس مستوى الميكروفون المباشر، وتعيين عتبة بوابة الضوضاء. تظل التفضيلات محفوظة لكل جهاز وتُطبق أثناء المكالمة دون الحاجة إلى إعادة التفاوض على الإعدادات.
  • أداة مرساة قابلة لتغيير الحجم — تغيير الحجم بالسحب عبر مقبض في الزاوية العلوية اليسرى، مع تثبيتها في الزاوية السفلية اليمنى، وحفظ الحجم. حالة التصغير الإضافي الجديدة تعرض فقط أزرار “توسيع” و"مغادرة". تعمل تدفقات الفيديو بشكل صحيح في وضع الأداة.

:artist_palette: تجربة المستخدم (UX)

  • تظهر الآن أيقونات حالة المشاركين في الشريط الجانبي (كتم/كتم كامل/مشاركة الشاشة/كاميرا/ضغط للتحدث) معًا على الحافة اليمنى؛ وتظهر موجة الكلام متحركة فوق الصورة الرمزية.
  • أصبحت الغرف الصوتية مرئية الآن في الشريط الجانبي للدردشة بملء الشاشة.
  • يتم احترام إعداد الموقع prioritize_username_in_ux في مربعات الفيديو وحظر الغرف المجهولة.
  • تم إصلاح مؤشر z-index للأداة للقوائم المحمولة؛ استعادة مقبض تغيير الحجم للشاشة الكاملة (SE)؛ وأصبح زر الترسية يحتوي على ariaLabel مناسب.

:bug: إصلاحات الأخطاء

  • كان تخطيط شبكة الفيديو عالقًا بأبعاد ملء الشاشة بعد الخروج من وضع ملء الشاشة.
  • كانت أعداد المشاركين في الشريط الجانبي تتغير بشكل غير صحيح للمستخدمين غير المشاركين (استهداف البث + Redis + تنظيف العميل).
  • كانت الإشارات الصوتية معطلة على أندرويد (يتم الآن استئناف AudioContext قبل التشغيل؛ ويمنع الكائن المفرد المشترك تجاوز حد السياق).
  • لم يكن الفيديو البعيد يظهر عندما يبدأ نظير ما في النشر بعد المصافحة الأولية.
  • استهداف البث للمشاركين كان قديمًا (غير محدث).

إذا كان أحدًا يستخدم هذا المكوّن، يسعدني أن أسمع ملاحظاتكم حول التغييرات الأخيرة.

11 إعجابًا

ميزة رائعة! هل من الممكن تطبيق ذلك على إضافة الأحداث؟ هل يمكن إنشاء نقطة ربط (hook) تُعرض في موضوع الأحداث؟ بحيث يؤدي النقر إلى التوجيه إلى العرض الكامل خارج الشريط الجانبي؟

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

إعجابَين (2)

قد يكون ذلك ضمن الخطط المستقبلية، لكننا لا نخطط لأي شيء من هذا القبيل في الوقت الحالي. ربما يمكن أن يكون الأمر كالتالي: عندما تحتوي إضافة الأحداث على غرفة «Resenha» في عنوان URL الخاص بها، قبل خمس دقائق من بدء الحدث، نُرسل إشعارًا داخل التطبيق، وإشعارات دفع، ورسائل بريد إلكتروني، وعند النقر عليها يتم توجيه المستخدم إلى /resenha/r/#{room.slug} ليصل مباشرة إلى غرفة الحدث.

بصراحة لا أعرف، فهذا الأمر في أسفل قائمة أولوياتي :laughing:.

لقد أضفنا كلاهما مؤخرًا، لذا لديك عنصر واجهة منبثق:

وأيضًا عرض الصفحة الكاملة:

لذا، من الناحية التقنية، يمكن استخدامه طالما أنك تضع رابط الغرفة في مكان يمكن للمستخدمين العثور عليه.

4 إعجابات

لقد جربت للتو النسخة التجريبية، إنها قفزة هائلة حقاً، عمل رائع ومثير للإعجاب. بناءً على مشاركتي السابقة، استخدمتُ مكتبة LiveKit SDK لإدارة الصوت للمجموعات الكبيرة، مع صفحة بث تُغذى عبر egress وتُبث إلى YouTube. يبدو أن عرضك الجديد بملء الشاشة للغرف أكثر متانة، سأدرس الأمر بعمق أكبر لأرى ما إذا كان التحديث الحالي يمكن أن يحافظ على الاستمرارية لاحتياجاتي أثناء مرحلة resenha.