使用键盘快捷键跟踪主题时,也会跟踪其他主题

当我使用 m tm r 快捷键来跟踪/取消跟踪某个主题时,同一窗口中最近浏览的其他主题的跟踪状态也会随之改变。

使用鼠标操作时似乎不会出现这种情况。

我在 Firefox 68.4.1esr 上观察到该问题。最初在 Rust 论坛发现,随后也在此处进行了验证。

5 个赞

你好,感谢你的报告!

我认为这个 bug 已经存在一段时间了,可能是最近的更改使其更加明显。

简单说来:

  • 我们在接收变更事件时没有强制执行主题 ID
  • 我们没有对快捷键进行节流,这意味着如果你按住“m”键,它会无限次地发送相同的事件……

这应该能解决问题:

这应该会在本周末前合并。

7 个赞

您好,
从拉取请求合并到修复部署,通常需要多长时间?
目前我这边没有看到任何行为上的变化。

这取决于具体是哪个论坛。该提交已合并到 master 分支,并回溯移植到稳定分支,因此所有人都应该能够获取到。

4 个赞

此主题已在 3 天后自动关闭。不再允许新回复。

@Falco 这个问题是回归了吗?

2 个赞

你好 @david
我仍然可以在这个 Discourse 上复现该问题。我不确定这段时间内是否已经无法复现了。

2 个赞

@joffreyjaffeux 能否请您再查看一下?

@mpol 我们一直无法复现此问题。能否请您详细说明一下您在 Meta 上复现该问题的具体步骤?

1 个赞

如果问题出在我这边,我深表歉意,但情况如下:我使用的是 Firefox 68.6.0esr。

  1. 仅使用键盘导航,从新标签页中刚打开的主页 https://meta.discourse.org/ 开始,我最初没有任何已追踪的主题。
  2. 我按 ‘j’,然后按 ‘Enter’ 进入一个主题。
  3. 我按多次 ‘j’ 直到选中建议的主题,再按 ‘Enter’ 进入其中一个。
  4. 我按 ‘j’ ‘m’ ‘t’——现在我已同时追踪这个主题以及从主页进入的那个主题。

顺便一提,我刚刚注意到,如果在第 3 步中我立即按 ‘m’ ‘t’,只有正确的主题被追踪。但即使在那之后,再按 ‘j’ ‘m’ ‘t’ 也会改变之前主题的状态。

1 个赞

所以我无法复现这个确切的 bug,@david 也无法复现。但 @david 的浏览器中有很多正在进行的请求,而我没有。我最初的猜测是浏览器本身的问题,或者是打开了多个浏览器?

经过一番搜索,我发现问题出在浏览器尺寸上(对我来说很窄,而对 David 来说很宽),以及主题时间线按钮。该按钮为 David 显示了,但对我来说没有显示,并且它一直在注册新的 appEvents 处理器。

我认为这将大大改善主题追踪的情况,更多详情见提交记录:

4 个赞

啊,没错,是请求。所以,上述过程最终生成了两个相同的 POST 请求,目标地址为 https://meta.discourse.org/t/146924/notifications,随后是那个我猜有问题的请求,目标地址为 https://meta.discourse.org/t/113192/notifications

2 个赞

是的,这应该能解决这类问题。我现在就合并,你很快就可以在 Meta 上测试了。

5 个赞

@joffreyjaffeux 谢谢。经过几次尝试,我这边已无法复现该问题。现在确实只看到一次正确的 /notifications 请求,没有重复请求,也没有针对其他主题的请求。

3 个赞