Сообщения в чате отображаются в неправильном порядке

Используем последнюю версию Discourse, но этот баг известен мне уже несколько недель.

Сообщения в чате иногда (не часто, но примерно в 20% случаев) могут отображаться в неправильном порядке: новое сообщение может появиться выше предыдущих.

У кого-то ещё такое было? Не уверен, как воспроизвести проблему.

У меня всё в порядке. Вы используете треды? Я нет.

Да, хотя, похоже, это происходит даже в личных сообщениях, а не в потоках. Вы думаете, что это связано с включением потоков?

Честно говоря, я ни о чём не думаю, просто выдвигаю одну безумную догадку.

Но поскольку ни на одном другом форуме с этим не сталкиваются (иначе здесь было бы несколько тем), и у меня есть ощущение, что темы не так популярны, как считается, а изменение порядка выглядит как провал в работе тем, эта догадка была легко сделана.

Или, возможно, ломаются временные метки.

Но скоро сюда придёт кто-то, у кого навыки лучше.

Мы ежедневно используем чат внутри компании, но жалоб на это пока не поступало.

Сколько пользователей на вашем форуме сталкиваются с этой проблемой? Можете ли вы предоставить дополнительную информацию о вашей конфигурации? Например: мобильное устройство или десктоп, скорость сети, браузер, количество открытых каналов чата и т. д. Обычно это происходит через x минут? Нам потребуется больше информации, иначе мы не сможем эффективно решить эту проблему.

1 лайк

Спасибо.

  • Мобильные телефоны и планшеты — в частности, у нас есть сообщения только от пользователей iPhone и iPad.
  • Скорость сети — не совсем уверен. Что именно мы ищем?
  • Браузер Safari.
  • Количество открытых чат-каналов — речь о том, сколько их у пользователя (включая личные сообщения)? По моему пониманию, одновременно может быть открыт только один.
  • Что касается того, происходит ли это после X минут — мы проверим и обновим информацию здесь.

После отправки другого сообщения или выхода из чата и повторного входа, а также после обновления страницы, всё выглядит нормально.

Обратная связь от пользователя на нашем форуме

Есть ли способ очистить сообщения чата или провести какую-то очистку? @nat

У нас есть канал с более чем 50 тысячами пользователей, история чата установлена на 7 дней, но не кажется ли вам, что это слишком много?

О, интересный кейс с 50 тысячами пользователей. (cc @davidb) Думаю, это может подсказать, почему вы видите то, чего не видим мы.

Если вы не против заглянуть в консоль, возможно, вы сможете что-то сделать с помощью нашего Chat::MessageDestroyer. Но на данный момент нет функции «оставлять только последние 10 тысяч сообщений в этом канале», если вы имели это в виду.

2 лайка

Удалятся ли ВСЕ сообщения в чате?

Я просто предполагаю, что это либо перегрузка базы данных, либо блокировка по IP, и поэтому пользователи иногда не видят другие сообщения, пока не обновят страницу?

Этот код может быть полезен для понимания того, как используется MessageDestroyer для удаления прямых сообщений после истечения срока хранения чата:

Теоретически вы можете выбрать любое сообщение с id меньше определённого числа и передать их для удаления (см. метод destroy_in_batches).

Да, согласен с Дэвидом :point_up:t2: В целом, мне не кажется, что у нас были запросы на удаление сообщений чата каким-то особым способом, кроме как по истечении срока хранения.

Если у вас есть конкретная идея и вы готовы выполнить её через консоль, дайте нам знать, и мы предоставим безопасный скрипт для запуска.

1 лайк

Спасибо! Я просто не уверен, связано ли это напрямую с этой проблемой или я просто не в ту сторону смотрю.

Воскрешаю эту тему, чтобы проверить, только ли мы это видим? Похоже, это происходит только в больших чатах (50–100 тыс. участников) и т. д.

1 лайк

У вас чат с 50–100 тыс. участников? :open_mouth:

1 лайк

Да :sweat_smile: Думаю, проблема именно в этом

1 лайк

У меня есть несколько обновлений:

Проблема ещё не решена, но, похоже, дело в том, что иногда, вероятно в часы пик, сообщения чата не загружаются. Пользователь видит, будто новые сообщения не были отправлены, но через некоторое время или после обновления страницы они все появляются.

Это канал чата с большим количеством пользователей (более 100 тысяч), хотя большинство из них не активны.

2 лайка