Привет,
Я создал FIX: Refresh event dates in topic lists - Pull Request #43285 - discourse/discourse - GitHub для этого.
Затем я сделал видеозапись ручного тестирования против head-коммита PR:
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]
Проверка базы данных впоследствии подтверждает, что этот пост был отредактирован его автором один раз в течение 300-секундного периода редактирования Discourse (self_edits = 1). Поскольку редактирование было в пределах этого периода, пост остался на версии 1, и видимая ревизия/карандаш не был создан.
Поэтому исходное сырое значение больше недоступно из 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]
Проверка базы данных впоследствии подтверждает, что этот пост был отредактирован его автором один раз в течение 300-секундного периода редактирования Discourse (self_edits = 1). Поскольку редактирование было в пределах этого периода, пост остался на версии 1, и видимая ревизия/карандаш не был создан.
Поэтому исходное сырое значение больше недоступно из post_revisions, но тест не был неотредактированным постом.