Что может стать причиной того, что некоторые посты не отправляются в режиме рассылки

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

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

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

Я не вижу никаких настроек сайта или пользователя, которые могли бы вызывать эту проблему. Что я упускаю?

Вот эти посты:

  id   | user_id |          timezone
--------+---------+----------------------------
 119197 |     586 | 2023-04-03 11:05:41
 119198 |       2 | 2023-04-03 11:12:03.207053
 119215 |       2 | 2023-04-03 15:42:45.195223
 119216 |       2 | 2023-04-03 16:18:22.664227
 119218 |     508 | 2023-04-03 16:55:42.167977
 119219 |       2 | 2023-04-03 16:56:00.140777
 119222 |       2 | 2023-04-03 18:11:33.953314
(7 строк)

Вот письма, отправленные пользователю 703 (из таблицы email_logs):

 id  | post_id |  email_type  |          timezone          |      smtp_transaction_response
-----+---------+--------------+----------------------------+--------------------------------------
 242 |  119197 | mailing_list | 2023-04-03 11:18:55.832126 | 250 2.0.0 Ok: queued as C95C443350B8
 243 |  119198 | mailing_list | 2023-04-03 11:22:04.731579 | 250 2.0.0 Ok: queued as B0E2943350B8
(2 строки)

Вот все письма, отправленные для этих постов:

 id  | post_id |  email_type  | user_id |          timezone          |      smtp_transaction_response
-----+---------+--------------+---------+----------------------------+--------------------------------------
 242 |  119197 | mailing_list |     703 | 2023-04-03 11:18:55.832126 | 250 2.0.0 Ok: queued as C95C443350B8
 243 |  119198 | mailing_list |     703 | 2023-04-03 11:22:04.731579 | 250 2.0.0 Ok: queued as B0E2943350B8
 276 |  119215 | mailing_list |       5 | 2023-04-03 15:52:47.834189 | 250 2.0.0 Ok: queued as B51B443350B8
 277 |  119216 | mailing_list |       5 | 2023-04-03 16:28:29.651872 | 250 2.0.0 Ok: queued as 8760743350B8
 281 |  119218 | mailing_list |       5 | 2023-04-03 17:05:43.582886 | 250 2.0.0 Ok: queued as 8209143350B8
 282 |  119219 | mailing_list |       5 | 2023-04-03 17:06:02.231359 | 250 2.0.0 Ok: queued as 201A243350B8
 287 |  119222 | user_replied |     508 | 2023-04-03 18:21:38.024441 | 250 2.0.0 Ok: queued as EDE47434362C
 288 |  119222 | mailing_list |       5 | 2023-04-03 18:21:38.074723 | 250 2.0.0 Ok: queued as 07474434362D
(8 строк)

Пользователь с ID 5 был добавлен в список копируемых пользователей только после того, как я заметил проблему в другой теме.

Это происходит почти в половине тем/постов, созданных сегодня. Система только вчера вышла в эксплуатацию, но во время тестирования я ничего подобного не наблюдал.

Я попытался установить лимит писем на пользователя в день на 0, чтобы отключить его, хотя ранее он был равен 100, и, похоже, этот предел никогда не достигался.

Обновление: Это не помогло.

Разве не должно где-то фиксироваться причина, по которой письмо не было отправлено?

Да: Настройки → Журналы → Журнал ошибок

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

Может ли это быть проблемой Sidekiq? Сегодня у меня много сообщений о том, что Sidekiq потребляет слишком много памяти.

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

Похоже, что для этого пользователя и темы значение topic_user.notification_level установлено в 0 (отключено?), и в административных панелях, похоже, нет способа вернуть его к 1, хотя это, вероятно, можно сделать с помощью Rails. Но как именно оно изменилось?

Могло ли это быть результатом нажатия кем-то на ссылку «отписаться» в письме до того, как я выяснил, как исключить такие уведомления из писем, отправляемых на релей-сервер? Если да, то не должно ли существовать способа отменить это действие?

Удаление всех тегов в двух затронутых темах или изменение уровня уведомлений на что-то отличное от «без уведомлений» не повлияло на таблицу topic_users.

В профиле этого пользователя в разделе «Скрытые темы» ничего не отображается.

Я не уверен, что хочу массово изменять все темы. Вот статистика по значениям notification_level в таблице topic_users:

 notification_level | count
--------------------+--------
                  0 |      2
                  1 |    177
                  2 |     45
                  3 | 119818

Ура, я наконец-то нашел, где отключить тишину для этих тем у этого пользователя!

Мне пришлось заметить, что над блоком с отключенными темами в левой колонке страницы отслеживания для этого пользователя есть тег ‘показать’.

Неужели они специально отключили уведомления по этой теме и не хотят получать оповещения или письма по ней?

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

Но хотя бы я узнал много о структуре данных, прочитал часть кода на Ruby и кое-что понял о работе администратора. :wink:

Думаю, эту тему можно закрыть.