在 3.6.0.beta2 上进行了测试,据我回忆,beta1 没有出现此问题
步骤:
- 创建一个开始日期在过去、结束日期在未来的新主题(例如 3 小时后)
- 发布主题,主题标题上的活动日期显示正确
- 将活动结束日期更新为更晚或更早的时间
- 问题出现:主题标题上的活动日期保持不变
我也尝试刷新 HTML,但问题仍然存在
编辑:我在仅编辑活动开始日期时也遇到了同样的问题,但尚未能重现……
在 3.6.0.beta2 上进行了测试,据我回忆,beta1 没有出现此问题
步骤:
我也尝试刷新 HTML,但问题仍然存在
编辑:我在仅编辑活动开始日期时也遇到了同样的问题,但尚未能重现……
您是通过用户界面还是通过 Markdown 编辑的事件?
两者行为有差异吗?
据我回忆,问题在两种情况下都出现了,但我不能100%确定。
有时开始日期未更新,有时结束日期受到影响。我没有机会正确地重现它,因为它非常耗时。
我提交了一个小的PR,在一定程度上修复了它。我们目前将其用作辅助插件。
目前的解决方法是:
这将从头开始将事件日期重写到主题中。
你好,
我针对此问题创建了 FIX: Refresh event dates in topic lists - Pull Request #43285 - discourse/discourse - GitHub 这个 PR。
随后,我录制了一段针对该 PR 头提交(head commit)进行手动测试的屏幕录像:
该 PR 基于 main 分支。
录像中的红色计时器倒计时至相关事件边界,而绿色时钟显示当前的实际时间,因此录像应当是完整自洽的。
我在下方以补充说明的形式附上了我确切的测试时间和 BBCode。
预期时间:
| 开始 | 编辑后的开始 | 结束 | 编辑后的结束 |
|---|---|---|---|
| 16:22 | 未编辑 | 16:25 | 16:28 |
初始的 BBCode 为:
[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:25"]
this is an event description
[/event]
我明确将其更改为:
[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:28"]
this is an event description
[/event]
预期时间:
| 开始 | 编辑后的开始 | 结束 | 编辑后的结束 |
|---|---|---|---|
| 16:31 | 16:32 | 16:35 | 未编辑 |
本次运行中我犯了一个设置错误:初始的 BBCode 实际上是:
[event start="2026-09-04 17:00" end="2026-09-04 18:00" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]
随后我明确将其更改为:
[event start="2026-09-04 16:32" status=public timezone=Europe/London end="2026-09-04 16:35" reminders=notification.15.minutes]
[/event]
因此,本次特定的运行不应被视为一次干净的 16:31 → 16:32 仅开始时间对比。
预期时间:
| 开始 | 编辑后的开始 | 结束 | 编辑后的结束 |
|---|---|---|---|
| 16:38 | 16:39 | 16:42 | 16:45 |
初始的 BBCode 为:
[event start="2026-09-04 16:38" status=public timezone=Europe/London end="2026-09-04 16:42" reminders=notification.15.minutes]
[/event]
我明确将其更改为:
[event start="2026-09-04 16:39" status=public timezone=Europe/London end="2026-09-04 16:45" reminders=notification.15.minutes]
[/event]
预期时间:
| 开始 | 编辑后的开始 | 结束 | 编辑后的结束 |
|---|---|---|---|
| 16:47 | 未编辑 | 16:50 | 16:53 |
初始的 BBCode 为:
[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:50"]
[/event]
我明确将其更改为:
[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:53"]
[/event]
预期时间:
| 开始 | 编辑后的开始 | 结束 | 编辑后的结束 |
|---|---|---|---|
| 16:56 | 16:57 | 17:00 | 未编辑 |
最终的 BBCode 为:
[event start="2026-09-04 16:57" status=public timezone=Europe/London end="2026-09-04 17:00" reminders=notification.15.minutes]
[/event]
事后的数据库检查确认,该帖子在其作者于 Discourse 的 300 秒编辑宽限期内被编辑了一次(self_edits = 1)。由于编辑发生在该宽限期内,帖子保持为版本 1,且未创建可见的修订/铅笔标记。
因此,原始 raw 值无法再从 post_revisions 中获取,但该测试并非未编辑的帖子。
预期时间:
| 开始 | 编辑后的开始 | 结束 | 编辑后的结束 |
|---|---|---|---|
| 17:03 | 17:04 | 17:07 | 17:10 |
最终的 BBCode 为:
[event start="2026-09-04 17:04" end="2026-09-04 17:10" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]
事后的数据库检查确认,该帖子在其作者于 Discourse 的 300 秒编辑宽限期内被编辑了一次(self_edits = 1)。由于编辑发生在该宽限期内,帖子保持为版本 1,且未创建可见的修订/铅笔标记。
因此,原始 raw 值无法再从 post_revisions 中获取,但该测试并非未编辑的帖子。