你好,
我针对此问题创建了 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 中获取,但该测试并非未编辑的帖子。