聊天插件无法理解标签焦点

基本上,聊天插件不会考虑浏览器标签页当前是否处于聚焦/活动状态。

影响

通知丢失,标题栏未读计数丢失。

重现步骤

在 Firefox 最新版 3.5.0.beta2-dev 中测试

  1. 用户 A + B 登录 discourse 并使用聊天插件互相发送私信。
  2. 用户 A 打开了聊天窗口,但切换到了另一个标签页。
  3. 用户 B 向用户 A 发送消息。
  4. 用户 A 的标签页短暂显示“(1)”以表示新消息,但一秒后迅速隐藏。
  5. 用户 A 未收到桌面通知。

注意:如果用户 A 没有打开聊天窗口,但仍然在 discourse 页面上,标题栏中的 (1) 会正确显示,并且会显示系统通知。

预期行为

如果标签页不可见/未聚焦(无论是因为它是第 29 个标签页还是被其他几个窗口隐藏了),作为用户,我希望收到通知。


谢谢!

2 个赞

您好,感谢您的报告。

我有一些问题,有助于调试。

  • 在这种情况下,Discourse 是否在具有焦点的标签页中打开(未打开聊天)?

  • 您使用的是全屏聊天还是抽屉模式?

在这种情况下,桌面通知是聊天图标上的绿色徽章吗?还是其他什么?

1 个赞

没问题:

对于用户 A,浏览器具有焦点的选项卡是其他内容(例如:Google)。在 Discourse 选项卡内,该选项卡未获得浏览器焦点,聊天窗口已打开。

我 90% 确定我在这两种情况下都看到了这种情况,但我需要回去重新测试才能确定是哪种情况(现在回复,以便至少立即分享其他信息)

桌面通知是通过操作系统推送的通知。

1 个赞

更新,我确认在全屏和抽屉模式下都会出现此问题。

此行为在 Chrome 浏览器中也不同——它会显示一个 (3),然后下降到 (2)。

另外,在两个浏览器中,有时它根本不会在 30 秒内(根据网络调试器,直到下一次轮询请求)完成。但也许这部分只是网络连接问题。

我录制了一个演示问题的视频,已附上:

  • 0:08 Firefox 接收问题
  • 0:32 Chrome 接收问题
  • 0:50 慢速更新问题