近期更新后收到更多邮件?

我不确定情况是否如此。我可能快疯了。自从提交 a2c85f0845 以来,邮件发送中“用户最近查看”的计时器是否变短了?我两天前重启过以排查问题,感觉收到的邮件比以前更频繁了。

根据 @sam 的说法,用户可见逻辑确实发生了变化,但改进应该是更完善、更准确,而不是更差。你能详细说明一下吗?

这并不是说它本身更差,我也没有精确计时,但似乎如果我有 45 分钟没有活动,我就会收到关于我创建或参与的主题的邮件。

举个例子。我今天上午 10:02 创建了一个帖子,第一个回复是在今天下午 12:45。在创建主题到第一个回复之间,我一直在阅读其他主题或在 Discourse 的管理面板中操作,并且至少每 15-20 分钟就会浏览一次页面。但我仍然在下午 12:45 收到了关于该回复的邮件。

这可能是更准确的部分,有助于我理解邮件何时发送、何时不发送。我的会员平均年龄可能在 46 岁左右,所以我有时不得不解释论坛为何会这样做 :sweat_smile:

TLDR 是:之前系统会“误判”你在线,而实际上你并不在线。该问题已修复。

在 Discourse 的早期版本中,“仅在离开时”选项与 email_time_window_mins 站点设置(默认值为 10 分钟)是绑定的。

一个轻微副作用是:该数值既用于排队发送邮件,也用于检查用户上次在线的时间。

因此,例如,如果你希望用户在未访问网站 30 分钟后才收到邮件,但同时又希望邮件能尽快发送,这是无法实现的。


过去,如果用户在过去 10 分钟内未被检测到在线(且用户偏好设置为“仅在离开时”),系统会在帖子发布 10 分钟后向其发送邮件。

这一逻辑未发生变化,但我们修复了一个错误:该错误导致系统“认为”你在线,而实际上你并不在线。

因此,如果我开始收到会员的提问,可以总结如下:邮件会在你创建或参与的话题以及你离线 10 分钟后发送私聊(DM)时生成。根据最近的更改,系统是否已从“认为”用户不在线转变为“确认”用户不在线?

如果是这样,是否有或将来会有设置来自定义不活跃计时器?

正确。过去,如果用户打开浏览器后离开,我们仍将其计为“活跃”。现在,我们会检查实际活动(如滚动、点击)来判断用户是否活跃。

正如 Sam 提到的,这与站点设置 email time window mins 相关联,因此您可以自定义该设置。

哎呀……我的错。我直接跳过了那段!感谢大家的详细说明!

这一点很重要,请注意。

email time window mins site

意味着件事。例如,假设您将 email time window mins site 设置为 60:

  1. Discourse 发送的所有关于新回复等的通知邮件将延迟 60 分钟。

  2. 个人资料中设置了“仅在离开时”的用户,如果他们在过去 60 分钟内被访问过,则不会收到邮件。

目前的延迟是关联的,我们可能应该在此处添加一个新的站点设置。