当我们在同一个屏幕上只输入所有具有默认 onlyWhenActive(调用 channel.enter() 时默认为 true)的频道时 → 在进入空闲状态以更新这些频道时,会向服务器发出错误的调用
如何重现
-
首先禁用聊天插件(如果已启用)(这很重要,因为聊天插件会在所有屏幕上调用
.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
我已提交一个拉取请求:
