Насколько я помню, проблема проявлялась в обоих случаях.
Иногда не обновлялась дата начала, а иногда затрагивалась дата окончания. У меня не было возможности должным образом воспроизвести проблему, так как это очень трудоёмко и сложно.
Я отправил небольшой PR, который частично исправил ситуацию. Пока мы используем его как вспомогательный плагин.
Затем я сделал видеозапись ручного тестирования против 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 был таким:
Проверка базы данных впоследствии подтверждает, что этот пост был отредактирован его автором один раз в течение 300-секундного периода редактирования Discourse (self_edits = 1). Поскольку редактирование было в пределах этого периода, пост остался на версии 1, и видимая ревизия/карандаш не был создан.
Поэтому исходное сырое значение больше недоступно из post_revisions, но тест не был неотредактированным постом.
Проверка базы данных впоследствии подтверждает, что этот пост был отредактирован его автором один раз в течение 300-секундного периода редактирования Discourse (self_edits = 1). Поскольку редактирование было в пределах этого периода, пост остался на версии 1, и видимая ревизия/карандаш не был создан.
Поэтому исходное сырое значение больше недоступно из post_revisions, но тест не был неотредактированным постом.