عندما ندخل في نفس الشاشة فقط القنوات التي لديها onlyWhenActive افتراضيًا (وهو صحيح افتراضيًا عند استدعاء channel.enter()) → يتم إجراء استدعاء خاطئ للخادم عند الانتقال إلى وضع الخمول لتحديث هذه القنوات.
كيفية إعادة الإنتاج
-
قم أولاً بتعطيل المكون الإضافي للدردشة إذا كان ممكّنًا (هذا مهم لأن المكونات الإضافية للدردشة تجري استدعاءً في جميع الشاشات إلى
.enter({onlyWhenActive: false}مع تعيين الخيارonlyWhenActiveإلى false) -
أضف قناة لغرض العرض التوضيحي. اخترت
topic-presence-display.jsوأضفت هذا:
@on("init")
_init() {
this._presentChannel = this.presence.getChannel('/presence-idle-demo');
this._presentChannel.enter();
},
-
افتح أي موضوع مع فتح وحدة تحكم شبكة المتصفح → يجب أن ترى استدعاءً أولاً إلى
/presence/update -
قم بتصغير نافذة المتصفح (مع فتح علامة التبويب الشبكة) وانتظر أكثر بقليل من 10 ثوانٍ (هذا هو وقت عدم نشاط المتصفح افتراضيًا)
-
افتح المتصفح مرة أخرى وانظر إلى آخر استدعاء تم إجراؤه إلى
/presence/update
النتيجة الحالية:
بينما يجب أن يكون leave_channels[]: /presence-idle-demo
فتحت طلب سحب:
