我们有一个类别,其中的话题以默认的话题计时器启动,会在 6 个月后关闭。

更新后不知为何出现了一个 bug,显示“此话题将在最后一次回复后几秒钟关闭”。
![]()
如果我进入扳手图标 → 话题计时器,弹窗出现后,下方的消息会立即自动修正。
现在的问题在于:并非所有话题都出现此问题,有些显示正确,有些则不正确。此外,一些在更新后创建的话题也显示该错误(因此可能并非迁移导致)。
幸运的是,这仅仅是在显示上提示“几秒后关闭”,实际上话题仍按正确的计划关闭(例如 6 个月)。
请问您能否复现此问题?提前感谢!
我们有一个类别,其中的话题以默认的话题计时器启动,会在 6 个月后关闭。

更新后不知为何出现了一个 bug,显示“此话题将在最后一次回复后几秒钟关闭”。
![]()
如果我进入扳手图标 → 话题计时器,弹窗出现后,下方的消息会立即自动修正。
现在的问题在于:并非所有话题都出现此问题,有些显示正确,有些则不正确。此外,一些在更新后创建的话题也显示该错误(因此可能并非迁移导致)。
幸运的是,这仅仅是在显示上提示“几秒后关闭”,实际上话题仍按正确的计划关闭(例如 6 个月)。
请问您能否复现此问题?提前感谢!
我认为 @martin 目前正负责这一领域?有什么想法吗?
嗯,这很有趣,打开模态框后问题就自行解决了。我会查看一下。另外,我提交了一个 PR 来引入一个新的 duration 组件;很高兴你提出了这个问题,因为这样我就可以用这个来替换:
换成这个:
这样你就不需要自己进行小时到月份的转换计算了。
我无法根据这个最新的 PR 复现该问题:FEATURE: Relative time input for timers and bookmarks and promote auto-close after last post timer by martin-brennan · Pull Request #12063 · discourse/discourse · GitHub
使用与您相同的设置创建新主题时,我看到的界面如下:
然后当我进入主题计时器弹窗时(我已通过新 PR 对此稍作修改):
因此,建议您等到最新更改合并后再测试一下效果。如果问题仍然存在,我可以进一步调查。合并完成后我会在此更新进展。
上述变更现已合并,并位于我们的 tests-passed 分支中。
感谢您的时间!
我进行了进一步的调查(仍在 f6e6ae5e24 分支上),发现只有旧话题表现出这种奇怪的行为,因此迁移 bug 很可能确实是问题的根源。
旧的有问题的计时器设置是 duration = 4320 且 duration_minutes = NULL。
新的正常工作的计时器设置是 duration = NULL 且 duration_minutes = 259200。
我怀疑问题出在这两个提交之一:
FEATURE: Topic timer UI revamp (#11912) · discourse/discourse@6d72c8a · GitHub
哦,我明白了,这是我的疏忽。最初的迁移不正确。您至少需要升级到 FIX: Topic timer duration_minutes was not backfilled correctly (#12004) · discourse/discourse@18da1d5 · GitHub 或最新版本来解决此问题(或者如果您确实无法升级,请运行链接提交中迁移后帖子里的 UPDATE 查询)。
太棒了,非常感谢!我会尽快更新到最新版本。