Я хотел бы сообщить о двух отдельных ошибках, с которыми я столкнулся в плагине 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: эмодзи отображаются некорректно в превью потоков чата
В списке каналов чата превью последнего сообщения в потоке отображает эмодзи некорректно. Вместо графического эмодзи показывается его исходный короткий код.
Шаги для воспроизведения:
-
Перейдите в канал чата.
-
Создайте новый поток или ответьте на существующий.
-
Отправьте сообщение, содержащее эмодзи (например, «Hello world
»). -
Вернитесь в основной вид чата, где перечислены все каналы и потоки.
Ожидаемое поведение:
Превью сообщения для этого потока должно отображать отрендеренный эмодзи, например: «Hello world
».
Фактическое поведение:
Превью сообщения показывает неотрендеренный текстовый короткий код: «Hello world :shaking-hand:».
Спасибо за вашу отличную работу над Discourse и за то, что разбираетесь в этих проблемах!