O que causaria o não envio de algumas postagens no modo de lista de e-mail

Em uma versão auto-hospedada atual do Discourse, tenho tópicos onde as postagens não estão sendo enviadas para alguns usuários que optaram por receber todas as postagens por e-mail no modo lista de mala direta.

Verifiquei meus logs de e-mail, há definitivamente e-mails sendo enviados para postagens neste tópico para alguns usuários, mas não para outros que também optaram por receber e-mails de todas as postagens; uma de minhas contas de usuário de teste está recebendo-os, mas outra conta de usuário de teste não.

Tentei postar no tópico várias vezes, e pelo menos mais uma pessoa também o fez.

Não vejo nenhuma configuração de site ou usuário que possa estar causando isso, o que estou deixando passar?

Estas são as postagens:

  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 rows)

Estes são os e-mails enviados para o usuário 703 (da tabela 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 rows)

Estes são todos os e-mails enviados para essas postagens:

 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 rows)

O ID do usuário 5 não foi adicionado à lista de usuários copiados até que eu percebesse o problema em outro tópico

Isso parece estar acontecendo em quase metade dos tópicos/postagens feitas hoje. Este sistema entrou em operação ontem, mas não vi nada parecido durante os testes.

Tentei definir o número máximo de e-mails por usuário por dia para 0 para desativá-lo, embora anteriormente estivesse em 100, o que não parece que teria atingido.

Atualização: Isso não resolveu.

Não deveria estar registrando um motivo para não enviar o e-mail em algum lugar?

Sim: Configurações → Logs → Logs de Erro

Nada no log de erros sobre isso, nem nada perto dos carimbos de data/hora de quando os e-mails ausentes deveriam ter sido enviados.

Poderia ser um problema do Sidekiq? Tenho muitas mensagens sobre o Sidekiq usando muita memória hoje.

Parece que o tópico está confuso, pois quando há uma postagem nesse tópico que não é enviada para este usuário, nenhuma postagem futura é enviada para esse usuário também.

Parece que topic_user.notification_level foi definido como 0 (silenciado?) para este usuário/tópico, e não parece haver uma maneira de redefini-lo para 1 nas telas de administração, embora provavelmente possa ser feito com rails. Mas como isso foi alterado?

Isso poderia ter sido o resultado de alguém clicar no link ‘cancelar inscrição’ no e-mail, antes que eu descobrisse como suprimi-lo dos e-mails enviados para o servidor de retransmissão? Se sim, não deveria haver uma maneira de desfazer isso?

Remover todas as tags nos dois tópicos afetados ou definir a notificação para algo diferente de mudo não parece ter alterado topic_users.

Nada aparece nos tópicos silenciados no perfil deste usuário.

Não tenho certeza se quero apenas alterar todos os tópicos em massa, aqui está a contagem dos valores de notification_level em topic_users:

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

Yay, finalmente descobri onde remover o mudo desses tópicos para esse usuário!

Tive que notar que havia uma tag ‘show’ acima da caixa de mudo na coluna esquerda da página de rastreamento para este usuário.

Eles não teriam silenciado esse tópico de propósito e não querem receber notificações/e-mails sobre ele?

Não, porque, em essência, era uma conta de equipe que configurei com o propósito expresso de encaminhar postagens de um grupo para uma lista de e-mail legada externa e, até onde sei, nunca silenciei intencionalmente esse usuário sobre esse tópico.

Mas, pelo menos, aprendi muito sobre a estrutura de dados, li um pouco de código Ruby e aprendi algumas coisas sobre ser um administrador. :wink:

Acho que este tópico pode ser encerrado agora.