此主题将在最后回复后几秒钟关闭

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

image

更新后不知为何出现了一个 bug,显示“此话题将在最后一次回复后几秒钟关闭”。

image

如果我进入扳手图标 → 话题计时器,弹窗出现后,下方的消息会立即自动修正。

现在的问题在于:并非所有话题都出现此问题,有些显示正确,有些则不正确。此外,一些在更新后创建的话题也显示该错误(因此可能并非迁移导致)。

幸运的是,这仅仅是在显示上提示“几秒后关闭”,实际上话题仍按正确的计划关闭(例如 6 个月)。

请问您能否复现此问题?提前感谢!

2 个赞

我认为 @martin 目前正负责这一领域?有什么想法吗?

1 个赞

嗯,这很有趣,打开模态框后问题就自行解决了。我会查看一下。另外,我提交了一个 PR 来引入一个新的 duration 组件;很高兴你提出了这个问题,因为这样我就可以用这个来替换:

换成这个:

这样你就不需要自己进行小时到月份的转换计算了。

4 个赞

我无法根据这个最新的 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 对此稍作修改):

因此,建议您等到最新更改合并后再测试一下效果。如果问题仍然存在,我可以进一步调查。合并完成后我会在此更新进展。

2 个赞

上述变更现已合并,并位于我们的 tests-passed 分支中。

2 个赞

感谢您的时间!

我进行了进一步的调查(仍在 f6e6ae5e24 分支上),发现只有旧话题表现出这种奇怪的行为,因此迁移 bug 很可能确实是问题的根源。

旧的有问题的计时器设置是 duration = 4320duration_minutes = NULL
新的正常工作的计时器设置是 duration = NULLduration_minutes = 259200

我怀疑问题出在这两个提交之一:

FEATURE: Topic timer UI revamp (#11912) · discourse/discourse@6d72c8a · GitHub

FEATURE: Allow durations < 1 hour and < 1 day for topic timers where … · discourse/discourse@4af77f1 · GitHub

2 个赞

哦,我明白了,这是我的疏忽。最初的迁移不正确。您至少需要升级到 FIX: Topic timer duration_minutes was not backfilled correctly (#12004) · discourse/discourse@18da1d5 · GitHub 或最新版本来解决此问题(或者如果您确实无法升级,请运行链接提交中迁移后帖子里的 UPDATE 查询)。

3 个赞

太棒了,非常感谢!我会尽快更新到最新版本。

2 个赞