Ampliación de los bloques de mensajes de chat

Hola a todos,

Me gustaría desarrollar un plugin para mostrar notificaciones de actividad de GitLab/GitHub en Discourse Chat, o más ampliamente, cualquier tipo de evento periódico.

Para obtener una salida más rica, me gustaría mostrar la actividad como una tarjeta, y he visto que los mensajes de chat tienen un campo JSON blocks que parece útil para este propósito. Desafortunadamente, por ahora, los tipos de bloques no parecen extensibles sin parchear los componentes internos de Chat: el esquema, los serializadores y el renderizador del frontend enumeran todos los tipos de bloques/elementos compatibles.

¿Sería posible convertir blocks en un punto de extensión para plugins, o deberían los plugins tratarlo como un detalle de implementación interno?

Concretamente, ¿estaría Discourse abierto a alguna de las siguientes opciones:

  1. Un tipo de bloque genérico para eventos/tarjetas en el núcleo, o
  2. Una API de plugin estilo registerChatBlockType?

Puedo recurrir a renderizar Markdown y decorar los mensajes de chat procesados en el lado del cliente, pero los bloques estructurados parecen un modelo más limpio si se considera que esta dirección es viable.

2 Me gusta