Проблема с отображением счетчика на значке чата для личных сообщений (DM)

Здравствуйте,
У меня возникла проблема с личными сообщениями (ЛС) на моём форуме Discourse, и я был бы признателен за вашу помощь.

Описание проблемы

Иногда, когда другой пользователь отправляет мне личное сообщение:

  • Я корректно получаю браузерное push-уведомление.
  • Однако значок чата в верхней панели навигации не отображает счётчик непрочитанных (например, «1»).
  • Чтобы увидеть новое сообщение, мне приходится вручную нажимать на значок чата и открывать диалог.

Эта проблема возникает не постоянно, а периодически.

Окружение и детали

  • Версия Discourse: Последняя стабильная версия
  • Браузер: Microsoft Edge (последняя версия) на Windows 10
  • Плагины: Установлены плагины, влияющие на чат или уведомления
  • Несколько устройств: Я авторизован в своём аккаунте на нескольких устройствах
  • Наблюдаемая закономерность:
    • В одном случае я получил новое ЛС, но значок чата не показал счётчик.
    • Когда я зашёл под другим аккаунтом и отправил себе тестовое сообщение из другого браузера, значок чата внезапно обновился и отобразил корректный счётчик для обоих сообщений (как предыдущего, так и нового).
    • Пользователь, чьё сообщение не вызвало обновление счётчика, был только что зарегистрирован (аккаунту всего несколько часов). Не уверен, связано ли это с этим.

Вложения

Я прикрепил скриншоты, демонстрирующие поведение уведомлений и мои настройки для наглядности.

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

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

Это известная ошибка или же проблема может быть связана с конкретной конфигурацией?



03

3 лайка

Иногда я тоже обнаруживаю новые личные сообщения в разделе «Сообщения», хотя в боковой панели нет точки, а на значке чата вверху не отображается число. Тем не менее, строка «Последний визит» явно указывает на то, что эти сообщения для меня новые.

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

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

Вы используете приложение DiscourseHub? Мне интересно, не связано ли это с ним. Если вы не пользуетесь приложением, я, вероятно, смогу исключить его как причину.

2 лайка

Огромное спасибо за участие в обсуждении и за то, что поделились своим опытом :folded_hands:

У меня возникла точно такая же проблема, с той лишь разницей, что меня не разлогинило. Тем не менее, новое сообщение появилось без значка на иконке чата — я заметил его только после ручного открытия раздела чата.

Я установил приложение DiscourseHub на телефон исключительно для тестирования, но активно им не пользуюсь. Описанная мной проблема возникла на Windows в браузере Edge.

Готов предоставить дополнительные детали, если это потребуется.

2 лайка

Не уверен, поможет ли это, но это снова произошло в личном сообщении здесь, в Meta. Я был не в сети, когда сообщение было отправлено. Оно не отображалось в Hub Discourse. После входа в систему индикатор отсутствовал. Я заметил это только тогда, когда другой пользователь оказался наверху списка чатов в боковой панели.

2 лайка

После ещё нескольких пропущенных личных сообщений нам с JammyDodger удалось выявить закономерность :partying_face:

Уведомление отсутствует, когда сообщение является ответом на другое сообщение.

Пример:
Вот три сообщения в чате, которые Нат мне отправила:

Утром у меня было два уведомления по электронной почте:


Письма для второго сообщения нет — именно это сообщение было ответом на более раннее.
У меня также есть скриншот, показывающий уведомления о двух новых сообщениях в чате на иконке в заголовке. (Я был рад, что не было уведомлений о значках, поэтому сделал скриншот своих уведомлений. Счастливым совпадением оказалось то, что там отображается количество уведомлений о чате.)

Итак, проблема заключается в следующем: всякий раз, когда Нат отвечает на другое сообщение в нашем чате, я не получаю уведомления :confused:

1 лайк

Простое решение: @nat должен перестать отвечать на ваши сообщения в чате :sweat_smile:

Посмотрю :eyes:

3 лайка

Это было довольно сложно :exploding_head:

Суть в том, что в личных сообщениях, где потоки отключены (что является настройкой по умолчанию), ответ не учитывался правильно в разделе «непрочитанные», поскольку мы внутренне создавали поток для отслеживания цепочки ответов.

4 лайка

Никто не обещал, что будет легко :wink: Потребовалось более 4 месяцев, чтобы понять, что объединяло сообщения, которым не хватало уведомлений.

1 лайк

Было бы неплохо, если бы это исправление попало в ESR.

1 лайк

Лучше поздно, чем никогда?! :sweat_smile:

PR одобрен :white_check_mark: и слит :git_merged:

3 лайка

Эта тема была автоматически закрыта через 2 дня. Новые ответы больше не принимаются.