Если описание события превышает 1000 символов, оно отображается пустым, либо вместо него показывается предыдущее описание события.
Это вызвано жёстким ограничением в таблице discourse_post_event_events: descriptioncharacter varying(1000)
Воспроизведение #1
Создайте событие
Сделайте так, чтобы описание события (текст между [event] и [/event]) превышало 1000 символов
Описание события не будет отображаться в отрендеренном посте
Воспроизведение #2
Создайте событие
Сделайте так, чтобы описание события (текст между [event] и [/event]) было менее 1000 символов
Отредактируйте событие
Сделайте так, чтобы описание события (текст между [event] и [/event]) превышало 1000 символов
В отрендеренном посте будет отображено предыдущее описание события
Это также позволяет отравлять поисковую выдачу.
Связанное
Похоже, то же самое относится к полям url и location
Ожидаемое поведение
Одно из следующего:
a) описание события должно быть без ограничений по длине
b) при слишком длинном описании события должно отображаться явное предупреждение
c) описание события должно обрезаться при рендеринге (при этом полный текст по-прежнему сохраняется в разметке Markdown)
Воспроизведено на последней версии, проверено сегодня. Пользователь сообщил о проблеме с отображением карточек событий — без видимой причины. Тема сохранялась нормально, разметка события в исходном тексте поста была корректной, однако карточка события не появлялась ни в теме, ни в каком-либо другом месте. Предупреждений в редакторе, ошибок сохранения, ошибок в консоли браузера или соответствующих записей в /logs не было.
Я бы поддержал вариант b) — явное предупреждение или ошибку валидации.
Пока мы здесь, стоит отметить, что абсолютно такое же поведение (тихое отсутствие отображения карточки) происходит и в том случае, если по какой-либо другой причине разметка события не может быть корректно распознана. В случае, который я рассматривал несколько месяцев назад, пользователь тщательно подготовил разметку события в Word, а затем скопировал и вставил её в Discourse. В результате вокруг элементов data= автоматически вставились «умные кавычки», что, как можно ожидать, привело к комичным последствиям.
Так что да, видимая ошибка, даже если она будет отображаться только в консоли, была бы оооочень полезна.