Cuando en la misma pantalla solo ingresamos canales que tienen por defecto onlyWhenActive (que es verdadero por defecto al llamar a channel.enter()) → se realiza la llamada incorrecta al servidor al pasar a inactivo para actualizar estos canales.
Cómo reproducir
-
Primero deshabilita el plugin de chat si lo tienes habilitado (esto es importante porque los plugins de chat realizan una llamada en todas las pantallas a
.enter({onlyWhenActive: false}con la opciónonlyWhenActiveestablecida en falso). -
Agrega un canal para la demostración. Elegí
topic-presence-display.jsy agregué esto:
@on("init")
_init() {
this._presentChannel = this.presence.getChannel('/presence-idle-demo');
this._presentChannel.enter();
},
-
Abre cualquier tema con la consola de red del navegador abierta → deberías ver una primera llamada a
/presence/update. -
Minimiza la ventana del navegador (con la pestaña de red abierta) y espera un poco más de 10 segundos (este es el tiempo de inactividad del navegador por defecto).
-
Vuelve a abrir el navegador y mira la última llamada realizada a
/presence/update.
Resultado actual:
Mientras que debería ser leave_channels[]: /presence-idle-demo.
Abrí una solicitud de extracción:
