快速搜索有时会对每个已输入的字符发出请求,导致403错误

重现步骤:

  1. 在某个类别中打开快速搜索输入框
  2. 点击“在此类别中”选项
  3. 输入几个字母
  4. 每输入一个字符就会执行一次搜索查询,没有等待时间,导致 403 错误

当未注册时似乎更容易发生这种情况,可能是因为不同的速率限制。

search rate limit bug

备注:如果手动输入 #categoryname 或在删除搜索查询以执行另一次搜索后,则不会发生这种情况。

4 个赞

错误仍然存在,我在网络选项卡中看到了所有请求,但有一段时间没有遇到错误消息了。是否为用户增加了每秒最大请求数?

另外,值得注意的是,虽然此错误发生在 meta.discourse.orgtry.discourse.org 上,但并未发生在我的实例上。

也许这与某些设置有关?

3 个赞

将把调查列为中等优先事项,因为这有可能不必要地带来过多流量。

2 个赞

这取决于输入速度。如果你输入的速度足够快,请求就不会为每次击键发送。该小部件会以 400 毫秒为间隔进行请求发送的去抖动,如果用户的输入速度低于该阈值,则不会发送请求。在 macOS 上的 Safari/Firefox/Chrome 上进行了测试,在每个浏览器上效果都很好。

你可以将此作为证据:

CleanShot 2025-03-25 at 09.33.00@2x

在输入“Theme component data”和“Theme component data expl”之间只发送了两个请求,即中间字符没有发送请求。

2 个赞