채팅 플러그인 버그: 과거 메시지 page_size 무시 및 이모지 렌더링 문제

저는 Discourse Chat 플러그인에서 발견한 두 가지 별개의 버그를 보고드립니다.


1. API: direction=past일 때 page_size가 무시됨

API를 통해 채팅 메시지를 조회할 때, 이전 메시지를 가져오는 경우 page_size 파라미터가 의도대로 작동하지 않습니다. 지정된 크기와 무관하게 항상 최대 50개의 항목을 반환합니다.

재현 방법:

다음 파라미터를 사용하여 채팅 메시지 엔드포인트에 API 호출을 수행합니다:

  • target_message_id: [현재 보이는 마지막 메시지의 ID]

  • direction: past

  • page_size: 5 (또는 50보다 작은 임의의 숫자)

기대되는 동작:

API는 target_message_id보다 이전에 전송된 최대 5개의 메시지를 포함하는 JSON 객체를 반환해야 합니다.

실제 동작:

API는 page_size=5 파라미터를 무시하고 50개의 메시지를 반환합니다. 이 특정 시나리오에서 최대 페이지 크기로 하드코딩되어 있는 것으로 보입니다.


2. UI: 채팅 스레드 미리보기에서 이모지가 올바르게 렌더링되지 않음

채팅 채널 목록에서 스레드의 최신 메시지 미리보기가 이모지를 올바르게 렌더링하지 않습니다. 그래픽 이모지가 표시되는 대신, 원본 이모지 쇼트코드가 표시됩니다.

재현 방법:

  1. 채팅 채널로 이동합니다.

  2. 새로운 스레드를 생성하거나 기존 스레드에 답글을 씁니다.

  3. 이모지가 포함된 메시지를 전송합니다 (예: “안녕하세요 세계 :wave:”).

  4. 모든 채널과 스레드가 나열된 메인 채팅 뷰로 돌아갑니다.

기대되는 동작:

해당 스레드의 메시지 미리보기에는 렌더링된 이모지가 표시되어야 합니다. 예: “안녕하세요 세계 :waving_hand:”.

실제 동작:

메시지 미리보기에는 렌더링되지 않은 텍스트 쇼트코드가 표시됩니다. 예: “안녕하세요 세계 :shaking-hand:”.


Discourse에 대한 훌륭한 작업과 이 문제들에 대한 검토에 감사드립니다!

버그 하나당 버그 티켓을 하나씩만 열 수 있도록 해주시겠어요? 이렇게 하면 분류와 처리가 특히 어려워집니다… 일단 지원(고객센터)으로 이관합니다.

원하시는 경우, 버그 주제를 2개로 나누어 각각 등록해 주세요.