Расширение блоков сообщений в чате

Всем привет,

Я хочу разработать плагин для отображения уведомлений об активности GitLab/GitHub в Discourse Chat, или, шире, любых регулярных событий.

Для более насыщенного вывода я хочу отображать активность в виде карточки, и я заметил, что у сообщений чата есть поле JSON blocks, которое, похоже, подходит для этой цели. К сожалению, на данный момент типы блоков, похоже, не расширяемы без патчинга внутренних компонентов чата: схема, сериализаторы и фронтенд-рендерер все перечисляют поддерживаемые типы блоков/элементов.

Возможно ли сделать blocks точкой расширения для плагинов, или же плагинам следует рассматривать его как внутренний детальный аспект реализации?

Конкретно, был бы Discourse открыт к:

  1. общему типу блока события/карточки в ядре, или
  2. API плагина в стиле registerChatBlockType?

Я могу вернуться к рендерингу Markdown и декорированию обработанных сообщений чата на стороне клиента, но структурированные блоки кажутся более чистой моделью, если это направление считается приемлемым.

2 лайка