Usuários em staging recebendo e-mails de user_linked

Percebi que usuários em estágio estão recebendo notificações por e-mail user_linked. No meu caso de uso, estou usando o modo de lista de e-mails para arquivar mensagens para partes externas. Quando alguém faz referência a um e-mail/postagem de um usuário externo (em estágio) de outro tópico, esse usuário em estágio receberá uma notificação por e-mail incluindo o texto da postagem! Obviamente, isso não é o que eu quero e até mesmo pode ser prejudicial!

A seguinte mensagem sugere que isso é um bug:

Se isso não for um bug, existe alguma maneira de desativar esse comportamento?

2 curtidas

Hmm. Conseguimos reproduzir isso, @tshenry?

1 curtida

Parece ser possível evitar o envio desses e-mails definindo a opção Me envie um e-mail quando alguém citar minha mensagem, responder ao meu post, mencionar meu @nome de usuário ou me convidar para um tópico para nunca na página de preferências dos usuários em staging.

Talvez o Discourse pudesse definir isso como nunca para todas as novas contas de usuários em staging? Ou pelo menos tornar isso configurável.

Note que este é um fórum privado que exige login e as categorias não são privadas, já que não há necessidade disso. De Private category comments exposed via email - #13 by gerhard

Não tenho certeza se devemos impedir o envio de e-mails de notificação para usuários em estágio quando o fórum exige login (e talvez até seja exclusivo por convite ou exija aprovação do usuário). Estou em dúvida quanto a isso. As notificações certamente fazem sentido quando o fórum é público.

Ainda assim, para o caso de uso de fórum privado, seria muito útil poder desativar esse comportamento.

Alternativamente, posso alterar as permissões de todas as categorias para exigir o nível de confiança 1 para resolver esse problema. Mas então um cadeado aparece ao lado de todos os nomes de categorias. Talvez isso possa ser ocultado de alguma forma?

Sim, você pode ocultar o cadeado usando CSS:

.d-icon-lock {
    display: none;
}
4 curtidas

Como meu fórum tem um conjunto fixo de usuários, estou considerando desativar os e-mails de notificação para todas as contas de usuário recém-criadas (incluindo contas de usuário em estágio). Vejo que, ao definir a configuração nível de e-mail padrão para nunca, posso optar por aplicar isso apenas a novos usuários, de modo que as configurações de notificação por e-mail para usuários existentes não sejam afetadas.

Veja também: Discourse disable emails when someone replies etc - #2 by pfaffman

Aqui está uma reprodução básica:

  1. O site exige login, as categorias não são privadas
  2. Envie uma MP para um e-mail que ainda não está associado a uma conta para criar um usuário em estágio
  3. Faça com que esse usuário em estágio responda à MP por e-mail
  4. Cite a resposta da MP enviada por e-mail do usuário em estágio em um tópico separado no fórum
  5. Link para a resposta da MP enviada por e-mail do usuário em estágio em um tópico separado no fórum
  6. Nenhuma notificação por e-mail user_linked foi enviada ao usuário em estágio Houve um atraso, mas o usuário em estágio acabou recebendo e-mails de notificação para ambos.

Opiniões @codinghorror?

3 curtidas

Bug confirmado. Podemos agendar um reparo para amanhã e fazer o backport, a menos que seja muito difícil, @eviltrout? Acredito que usuários em staging não deveriam receber isso de forma alguma.

3 curtidas

O cenário que você descreveu é diferente do meu, mas o problema pode ter a mesma causa raiz:

  1. O site exige login, mas as categorias não são privadas
  2. Defina um endereço de e-mail de entrada personalizado para a categoria A e aceite e-mails de usuários anônimos sem contas (adicionalmente, também configurei que a categoria espelha uma lista de distribuição)
  3. Uma pessoa X, que não tem conta, envia um e-mail para esse endereço
    • um usuário em estágio é criado
    • um novo tópico é criado na categoria A
  4. O usuário registrado Y cria um novo tópico na categoria B, com um link para o tópico da categoria A
  5. A pessoa X recebe uma notificação por e-mail user_linked

Entendo que esse seja o comportamento desejado para um Discourse público (que não exige login). No entanto, para um Discourse privado, isso provavelmente será prejudicial. Talvez fosse bom fazer com que esse comportamento dependa da configuração login required?

Obrigado por analisar isso!

1 curtida

Corrigido via:

e backportado para stable: FIX: Staged users getting user_linked and user_quoted emails · discourse/discourse@6b20d52 · GitHub

6 curtidas

Obrigado pelo relatório, @brechtm — já foi corrigido. Desculpe pelo ocorrido.

4 curtidas

Verifiquei do meu lado e o problema parece ter sido resolvido de fato. Obrigado! Não precisa se desculpar :slight_smile:

5 curtidas