모두 안녕하세요,
Discourse Chat에서 GitLab/GitHub 활동 알림을 표시하거나, 더 넓게는 정기적인 이벤트들을 표시하는 플러그인을 개발하고 싶습니다.
더 풍부한 출력을 위해 활동을 카드 형태로 표시하고 싶은데, 채팅 메시지에 이 용도에 유용해 보이는 blocks JSON 필드가 있다는 것을 확인했습니다. 불행히도 현재 블록 유형은 Chat 내부 구현을 패치하지 않고는 확장할 수 없는 것 같습니다. 스키마, 직렬화기(serilaizers), 프론트엔드 렌더러 모두 지원되는 블록/요소 유형을 나열하고 있기 때문입니다.
blocks를 플러그인 확장 지점(extension point)으로 만들 수 있을까요, 아니면 플러그인에서는 이를 내부 구현 세부 사항으로 취급해야 하나요?
구체적으로, Discourse가 다음 중 하나를 수용할 의향이 있을까요:
- 코어에 범용 이벤트/카드 블록 유형을 추가하거나,
registerChatBlockType스타일의 플러그인 API를 제공하거나?
이 방향이 허용된다고 판단된다면 구조화된 블록이 더 깔끔한 모델인 것 같지만, 그렇지 않을 경우 마크다운을 렌더링하고 클라이언트 사이드에서 조리된(cooked) 채팅 메시지를 꾸미는 방식으로 대체할 수 있습니다.