在“即将发生的事件”日历中快速切换周数触发速率限制

我创建了一个新主题,因为我现在捕获到了一个明确的 HTTP 429 响应,错误代码为 user_10_secs_limit。我之前的报告未包含确认的 429 错误,后来被视为已解决。


我测试了在“即将发生的事件”日历中快速连续切换多个星期的操作。完成此操作后,我检查了 Firefox 控制台,发现存在请求错误。

测试页面:

/upcoming-events/week/2026/7/13

已安装版本

  • Discourse 2026.7.0-latest +314
  • Git 提交 cf0d9228b4
  • Ember v6.10.1

复现步骤

  1. 以周视图打开“即将发生的事件”日历。
  2. 快速连续地向前或向后切换多个星期。
  3. 打开 Firefox 开发者控制台。

请求错误

/discourse-post-event/events 的请求开始返回 HTTP 429 响应:

请放慢速度,您的请求过于频繁。请在 1 秒后重试。错误代码:user_10_secs_limit。

控制台记录了来自 index.js:631:21 的失败请求。

日历是否应通过防抖、取消或其他机制来处理快速导航,以避免其事件请求触发正常的每用户请求限制?

我还检查了复现问题前后主机资源的占用情况。

在前后一小时内,这台 4 vCPU 服务器的平均数据如下:

  • CPU 空闲率 96.45%
  • 平均负载 0.22
  • 磁盘利用率 1.28%
  • 剩余可用内存约 1.4 GB

没有出现进程阻塞、显著的 I/O 等待或网络饱和现象。

因此,这看起来是应用层的请求限制,而非服务器因 CPU、内存、磁盘或网络压力而进行的自我保护。