Ошибки плагина чата: параметр page_size игнорируется для предыдущих сообщений и проблема с отображением эмодзи

Я хотел бы сообщить о двух отдельных ошибках, с которыми я столкнулся в плагине Discourse Chat.


1. API: параметр page_size игнорируется при direction=past

При запросе сообщений чата через API параметр page_size не работает как ожидалось при получении более старых сообщений. Всегда возвращается максимум 50 элементов, независимо от указанного размера.

Шаги для воспроизведения:

Выполните вызов API к конечной точке сообщений чата со следующими параметрами:

  • target_message_id: [ID последнего видимого сообщения]

  • direction: past

  • page_size: 5 (или любое число меньше 50)

Ожидаемое поведение:

API должен вернуть JSON-объект, содержащий максимум 5 сообщений, отправленных до target_message_id.

Фактическое поведение:

API возвращает 50 сообщений, игнорируя параметр page_size=5. Похоже, что в этом конкретном сценарии он жестко задан на максимальный размер страницы.


2. UI: эмодзи отображаются некорректно в превью потоков чата

В списке каналов чата превью последнего сообщения в потоке отображает эмодзи некорректно. Вместо графического эмодзи показывается его исходный короткий код.

Шаги для воспроизведения:

  1. Перейдите в канал чата.

  2. Создайте новый поток или ответьте на существующий.

  3. Отправьте сообщение, содержащее эмодзи (например, «Hello world :wave:»).

  4. Вернитесь в основной вид чата, где перечислены все каналы и потоки.

Ожидаемое поведение:

Превью сообщения для этого потока должно отображать отрендеренный эмодзи, например: «Hello world :waving_hand:».

Фактическое поведение:

Превью сообщения показывает неотрендеренный текстовый короткий код: «Hello world :shaking-hand:».


Спасибо за вашу отличную работу над Discourse и за то, что разбираетесь в этих проблемах!

Не могли бы вы открывать по одному багу за раз? Это значительно затрудняет их классификацию и обработку… Пока переводим в раздел поддержки.

Будьте добры, создайте две отдельные темы для багов.