مؤتمر فيديو Jitsi

:discourse2: ملخص مؤتمرات الفيديو Jitsi يتيح دمج مكالمات الفيديو من Jitsi في منشورات Discourse.
:hammer_and_wrench: رابط المستودع https://github.com/discourse/discourse-jitsi
:open_book: جديد على سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

تثبيت مكون السمة هذا

الميزات

  • يمكن للمسؤولين استخدام خادم Jitsi الخاص بهم
  • يضيف أيقونة شريط أدوات المؤلف (يمكن حصرها على الموظفين فقط في إعدادات المكون)
  • يعرض زرًا بأيقونة وتسمية قابلة للتكوين في المنشورات


الإعدادات

الاسم الوصف
إظهار في قائمة الخيارات المنسدلة عند إلغاء التحديد، تظهر الأيقونة في شريط أدوات المؤلف.
متاح للموظفين فقط
نطاق meet jitsi النطاق فقط (بدون بروتوكول، بدون شرطة مائلة في النهاية).
مصدر سكريبت jitsi عنوان URL لملف جافا سكريبت لواجهة برمجة التطبيقات الخارجية. إذا قمت بتغيير هذا، فستحتاج أيضًا إلى إضافة عنوان URL إلى إعداد موقع ‘مصدر سكريبت أمان المحتوى’.
أيقونة الزر أدخل اسم أيقونة FontAwesome 5 المراد عرضها في زر Jitsi.
زر الدردشة التكامل مع دردشة Discourse
إخفاء أزرار iframe إخفاء خيار إعدادات iframe عن المستخدمين، سيتم استخدام الإعدادات الافتراضية أدناه
iframe افتراضي للجوال تمكين وضع iframe افتراضيًا للجوال
iframe افتراضي للسطح المكتبي تمكين وضع iframe افتراضيًا لأجهزة سطح المكتب
موقع زر الدردشة موقع الزر داخل نافذة الدردشة
أيقونات SVG إذا كنت تستخدم أيقونة مخصصة، فأضفها إلى هذا الحقل أيضًا (بالإضافة إلى ‘button_icon’ أعلاه
الترجمة الافتراضي
composer_title Discourse Jitsi
room_label معرف غرفة Jitsi
button_text_label تسمية الزر
launch_jitsi بدء مؤتمرات الفيديو
modal.room_field_description أدخل معرفًا لغرفتك (أو اتركه فارغًا لاستخدام معرف يتم إنشاؤه عشوائيًا).
modal.insert إدراج
modal.cancel إلغاء
modal.title إضافة تكامل Jitsi
modal.mobile_iframe العرض داخل iframe على أجهزة الجوال
modal.desktop_iframe العرض داخل iframe على أجهزة سطح المكتب

:discourse2: مُستضاف بواسطةنا؟ تتوفر مكونات السمات للاستخدام في خططنا القياسية، والأعمال، والمؤسسات.

43 إعجابًا

مرحبًا، شكرًا لك على هذا المنشور والإضافة. لقد قمت بإزالة بعض منشوراتي من الموضوع الآخر لتقليل الارتباك. لقد قمت بتثبيت المكون وجاري اختباره.

لا أرى معاينة Discourse عند صياغة مؤتمر فيديو في منشور جديد.
هل تلاحظ المعاينة؟

إعجابَين (2)

رائع! @downey، هل يمكننا تجربة ذلك باستخدام خادم Jitsi الخاص بك؟ ليس لدي خادم حاليًا، لكن قد أود إعداد واحد.

كنت أواجه صعوبة في مكالمة عائلية باستخدام GoToMeeting، وسأكون مهتمًا بتجربة شيء جديد يتم تضمينه ببساطة في موضوع Discourse. سيكون ذلك أفضل إذا كان باستخدام Jitsi!

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

هل هناك قلق بشأن استخدام خادم Jitsi المجاني الذي يوفره؟

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

هل هناك قلق بشأن استخدام خادم Jitsi الذي يتم توفيره مجانًا؟

لقد قمنا باختباره، ويعمل بشكل جيد لحوالي 10 أشخاص. لكن الأداء يصبح غير مقبول عند تجاوز 20 مستخدمًا، لذا يُفضّل تشغيل نسختك الخاصة للمكالمات الجماعية الأكبر حجمًا بالإضافة إلى التكامل مع Slack وEtherpad.

4 إعجابات

يذكرني هذا بأن سبب توقف اختبارات Jitsi لدينا هو أن Jitsي يطلب من المستخدمين على الهواتف تثبيت تطبيق، على الأقل على نظام iOS. نحن نعود إلى النظر في BigBlueButton الذي يعمل عبر المتصفح على الهواتف وأجهزة سطح المكتب.

أتساءل عما إذا كان @pmusaraj مهتمًا بالاطلاع على واجهة برمجة التطبيقات (API) الخاصة بهم لمعرفة إلى أي مدى يمكن أن يعمل أي من العمل المنجز على هذا المكون هناك أيضًا…

6 إعجابات

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

إعجابَين (2)

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

3 إعجابات

إنه نوعًا ما (وليس تمامًا) مثل طلب من كل من يريد إجراء أي محادثة معينة باستخدام منصة ديسكورش استخدام ميتا. :slight_smile:

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

لقد سمعتُ أيضًا أشياء جيدة عن BBB، خاصةً للفعاليات ذات الطابع “الندوي” أكثر. سيكون التكامل معه جيدًا أيضًا :slight_smile:

بحسب علمي، العكس هو الصحيح، فقد نسخت Zoom الكثير من واجهة المستخدم/تجربة المستخدم من Jitsi وأدوات المؤتمرات الأخرى عبر الويب على مر السنين.

6 إعجابات

للعلم، أواجه خطأً أثناء تكوين مكون المظهر لاستخدام مثيل Jitsi المثبت لدي. فصيغة عنوان URL للغرفة العادية تعمل بشكل جيد، لكن لسبب ما أحصل على خطأ 404 عند محاولة استخدام الزر. للأسف، لن أتمكن من تخصيص وقت لحل هذه المشكلة هذا الأسبوع…

3 إعجابات

@pmusaraj، شكرًا لك على المكون!

هل توجد طريقة لإضافة مولد كلمات عشوائي لإنشاء الغرف؟ أو ربما استخدام طابع زمني/epoch؟ أعاني من حيرة ذهنية في كل مرة أنشئ فيها غرفة في Discourse. :slight_smile:

3 إعجابات

“الفنانون الجيدون ينسخون، والفنانون العظماء يسرقون” - في بداية اليوم، ما يراه المستخدم هو المنتج الحالي، وليس التاريخ.

كم تتحسن أداءات Jitsي عند استخدام مثيل خاص بك؟ كنت أعتقد أنها تعمل بنظام الند للند بمجرد إجراء المكالمة.

نحن بحاجة إلى حل يمكنه التعامل مع المجموعات الكبيرة، وبما هو عليه الآن (باستخدام meet.jit.si) أجد أن الأداء ضعيف للغاية حتى للمكالمات الفردية في كثير من الأحيان.

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

حتى النسخ المستضافة ذاتيًا المخصصة التي جربناها، تتوقف عن العمل بسرعة كبيرة نسبيًا.

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

ربما يجب عليهم تقديم خيار استضافة مدفوع بالإضافة إلى خيار الاستضافة الذاتية… قد يساعدهم ذلك في تحديد المشكلات في البرنامج على نطاق واسع :thinking:

3 إعجابات

أعتقد أن المشكلة الرئيسية هي أن عمليات النشر بأي حجم تتطلب في الواقع خادمًا مخصصًا لـ jitsi-videobridge، مع تثبيت مكون jitsi-meet بشكل منفصل. فالأول هو خادم البث، بينما يوفر meet فقط الواجهة الأمامية.

لسوء الحظ، فإن مسار التثبيت الذي يتخذه معظم الناس هو النشر شبه الآلي على خادم واحد. فإرشادات التثبيت السريع الخاصة بهم موجودة بالكامل داخل Docker وهي مباشرة جدًا.

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

9 إعجابات

لم أستطع جعل هذا يعمل، حتى مع خادم meet.jit.si الافتراضي. مهما أدخلت كمعرف للاجتماع، أحصل فقط على مربع رمادي بدلاً من اجتماع الفيديو.

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

هل يوجد أي شيء في وحدة التحكم؟

مرحبًا توبياس، إنه يعمل هنا (مع متصفحي Chrome وFirefox)، الإصدار 2.5.0 بيتا 2، مع عدد قليل من الإضافات، وخادم Jitsi جديد تم إنشاؤه قبل حوالي 48 ساعة … :face_with_raised_eyebrow:

أنا أحاول حاليًا تنفيذ JWT، لكن قد أكون غارقًا في التفاصيل :exploding_head:، وكنت أيضًا أتساءل عما إذا كان من الأفضل استيراد ملف external_api.js من settings.meet_jitsi_domain بدلاً من https://meet.jit.si؟

هنا: https://github.com/pmusaraj/discourse-jitsi/blob/master/javascripts/discourse/initializers/insert-jitsi.js.es6

إعجابَين (2)

Hmm… lots of errors in the console. This happens on my personal instance and on a new hosted trial site just created. I’m using the default meet.jit.si server, have made no changes to the theme component settings.

I don’t have my own jitsi server (yet) and thought it would work out of the box…

click to see
Logger.js:154 2020-04-11T19:21:21.250Z [modules/util/JitsiLocalStorage.js] <new <anonymous>>:  DOMException: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
    at new <anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:29:197547)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:29:197486)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:29:197742)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:54:98101)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:24:101984)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:29:222225)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:24:213733)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:29:196138)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:24:154819)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:63:41390)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:54:53082)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:54:55490)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:54:165081)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:54:166745)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:126:292708)
    at Object.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:126:323867)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at Module.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:222:80217)
    at n (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:110)
    at https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:908
    at https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:1:919
o @ Logger.js:154
(anonymous) @ JitsiLocalStorage.js:42
(anonymous) @ JitsiLocalStorage.js:77
(anonymous) @ app.bundle.min.js?v=3962.622:29
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:54
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:24
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:29
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:24
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:29
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:24
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:63
n @ bootstrap:19
(anonymous) @ AuthHandler.js:1
(anonymous) @ app.bundle.min.js?v=3962.622:54
n @ bootstrap:19
(anonymous) @ connection.js:1
(anonymous) @ app.bundle.min.js?v=3962.622:54
n @ bootstrap:19
(anonymous) @ conference.js:1
(anonymous) @ app.bundle.min.js?v=3962.622:126
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:222
n @ bootstrap:19
(anonymous) @ bootstrap:83
(anonymous) @ app.bundle.min.js?v=3962.622:1
Show 2 more frames
Logger.js:154 2020-04-11T19:21:21.252Z [features/local-recording] <Object._loadMetadata>:  Failed to parse localStorage item.
o @ Logger.js:154
_loadMetadata @ SessionManager.js:170
(anonymous) @ SessionManager.js:152
(anonymous) @ SessionManager.js:435
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:24
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:29
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:24
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:29
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:24
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:63
n @ bootstrap:19
(anonymous) @ AuthHandler.js:1
(anonymous) @ app.bundle.min.js?v=3962.622:54
n @ bootstrap:19
(anonymous) @ connection.js:1
(anonymous) @ app.bundle.min.js?v=3962.622:54
n @ bootstrap:19
(anonymous) @ conference.js:1
(anonymous) @ app.bundle.min.js?v=3962.622:126
n @ bootstrap:19
(anonymous) @ app.bundle.min.js?v=3962.622:222
n @ bootstrap:19
(anonymous) @ bootstrap:83
(anonymous) @ app.bundle.min.js?v=3962.622:1
Logger.js:154 2020-04-11T19:21:21.309Z [index.web] <HTMLDocument.<anonymous>>:  (TIME) document ready:	 432.6749999891035
react-dom.production.min.js:187 DOMException: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
    at Oe._initStorage (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:16:45149)
    at Oe.componentDidMount (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:16:44779)
    at Oe.componentDidMount (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:24:223947)
    at Gs (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:94889)
    at t.unstable_runWithPriority (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:192:3884)
    at fi (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:41540)
    at Ws (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:90890)
    at Ps (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:78509)
    at fc (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:105337)
    at hc (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:105412)
    at https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:106607
    at Bs (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:80044)
    at _c (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:106592)
    at Object.render (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:109864)
    at HTMLDocument.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:222:80940)
La @ react-dom.production.min.js:187
Ga.n.callback @ react-dom.production.min.js:200
Hi @ react-dom.production.min.js:125
Bi @ react-dom.production.min.js:125
Gs @ react-dom.production.min.js:239
t.unstable_runWithPriority @ scheduler.production.min.js:20
fi @ react-dom.production.min.js:113
Ws @ react-dom.production.min.js:230
Ls @ react-dom.production.min.js:206
(anonymous) @ react-dom.production.min.js:114
t.unstable_runWithPriority @ scheduler.production.min.js:20
fi @ react-dom.production.min.js:113
gi @ react-dom.production.min.js:114
mi @ react-dom.production.min.js:113
Bs @ react-dom.production.min.js:208
_c @ react-dom.production.min.js:272
render @ react-dom.production.min.js:273
(anonymous) @ index.web.js:25
react-dom.production.min.js:114 Uncaught DOMException: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
    at Oe._initStorage (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:16:45149)
    at Oe.componentDidMount (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:16:44779)
    at Oe.componentDidMount (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:24:223947)
    at Gs (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:94889)
    at t.unstable_runWithPriority (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:192:3884)
    at fi (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:41540)
    at Ws (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:90890)
    at Ps (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:78509)
    at fc (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:105337)
    at hc (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:105412)
    at https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:106607
    at Bs (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:80044)
    at _c (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:106592)
    at Object.render (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:184:109864)
    at HTMLDocument.<anonymous> (https://web-cdn.jitsi.net/meetjitsi_4004.656/libs/app.bundle.min.js?v=3962.622:222:80940)
gi @ react-dom.production.min.js:114
mi @ react-dom.production.min.js:113
Bs @ react-dom.production.min.js:208
_c @ react-dom.production.min.js:272
render @ react-dom.production.min.js:273
(anonymous) @ index.web.js:25
react-dom.production.min.js:187 TypeError: Cannot read property 'dispatch' of undefined
    at Oe.componentWillUnmount (BaseApp.js:100)
    at react-dom.production.min.js:187
    at Ra (react-dom.production.min.js:189)
    at Ua (react-dom.production.min.js:195)
    at Gs (react-dom.production.min.js:235)
    at t.unstable_runWithPriority (scheduler.production.min.js:20)
    at fi (react-dom.production.min.js:113)
    at Ws (react-dom.production.min.js:230)
    at Ls (react-dom.production.min.js:206)
    at react-dom.production.min.js:114
    at t.unstable_runWithPriority (scheduler.production.min.js:20)
    at fi (react-dom.production.min.js:113)
    at gi (react-dom.production.min.js:114)
    at mi (react-dom.production.min.js:113)
    at Bs (react-dom.production.min.js:208)
    at _c (react-dom.production.min.js:272)
    at Object.render (react-dom.production.min.js:273)
    at HTMLDocument.<anonymous> (index.web.js:25)
La @ react-dom.production.min.js:187
Ga.n.callback @ react-dom.production.min.js:200
Hi @ react-dom.production.min.js:125
Bi @ react-dom.production.min.js:125
Gs @ react-dom.production.min.js:239
t.unstable_runWithPriority @ scheduler.production.min.js:20
fi @ react-dom.production.min.js:113
Ws @ react-dom.production.min.js:230
Ls @ react-dom.production.min.js:206
(anonymous) @ react-dom.production.min.js:114
t.unstable_runWithPriority @ scheduler.production.min.js:20
fi @ react-dom.production.min.js:113
gi @ react-dom.production.min.js:114
mi @ react-dom.production.min.js:113
I @ scheduler.production.min.js:16
H @ scheduler.production.min.js:18
C @ scheduler.production.min.js:13
BaseApp.js:100 Uncaught TypeError: Cannot read property 'dispatch' of undefined
    at Oe.componentWillUnmount (BaseApp.js:100)
    at react-dom.production.min.js:187
    at Ra (react-dom.production.min.js:189)
    at Ua (react-dom.production.min.js:195)
    at Gs (react-dom.production.min.js:235)
    at t.unstable_runWithPriority (scheduler.production.min.js:20)
    at fi (react-dom.production.min.js:113)
    at Ws (react-dom.production.min.js:230)
    at Ls (react-dom.production.min.js:206)
    at react-dom.production.min.js:114
    at t.unstable_runWithPriority (scheduler.production.min.js:20)
    at fi (react-dom.production.min.js:113)
    at gi (react-dom.production.min.js:114)
    at mi (react-dom.production.min.js:113)
    at Bs (react-dom.production.min.js:208)
    at _c (react-dom.production.min.js:272)
    at Object.render (react-dom.production.min.js:273)
    at HTMLDocument.<anonymous> (index.web.js:25)
إعجاب واحد (1)