Когда на одном экране мы добавляем только каналы, у которых установлено значение по умолчанию onlyWhenActive (которое по умолчанию равно true при вызове 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.
Я создал pull request:
