Atualizando "Notificações padrão da categoria" para grupos que não têm permissão para ver a categoria

É possível adicionar notificações de categoria (via /g/[group_name}/manage/categories) para categorias que um grupo não tem permissão para ver. Por exemplo, você pode definir todos os membros do Trust_level_0 para acompanhar a categoria Staff. Há até um prompt para aplicar a alteração historicamente:

Isso seria muito ruim :tm: se o Discourse realmente fizesse essa alteração e começasse a mostrar a usuários aleatórios o que os membros da equipe estão dizendo em particular. Felizmente, o prompt é uma mentira. Depois de fazer essa alteração muito assustadora (em uma instância de staging), eu poderia personificar um usuário aleatório e ver que ele não tinha isso definido em suas preferências de acompanhamento (/my/preferences/tracking/) e não recebe notificações de novas atividades. A segurança da categoria está funcionando como esperado.

Dito isso, quando olho as preferências de acompanhamento do usuário enquanto estou logado como administrador, vejo isto:

Posso adicioná-los a todos os tipos de categorias privadas, o que pode causar pânico momentâneo se você não souber que o Discourse está gerenciando as coisas corretamente nos bastidores.

Acho que a abordagem correta seria proibir os administradores de definir as preferências de acompanhamento para categorias que os usuários não podem realmente ler. Isso significa que não posso adicionar manualmente uma categoria ao visitar o perfil de outro usuário, a menos que ele esteja em um grupo que possa ver a categoria. E se eu usar a atualização em massa para adicionar um grupo inteiro a uma categoria, receberei um erro se o grupo não tiver permissão para ler a categoria.

Existe alguma razão para permitir que os administradores adicionem configurações de notificação que não enviam notificações? O único caso em que isso pode fazer sentido é se o administrador planeja abrir uma categoria no futuro e deseja ter notificações para o grupo apropriado prontas com antecedência. (Mas não sei se isso é algo razoável a se fazer.)

1 curtida

Não há necessidade de se preocupar, o pipeline de notificação sempre verifica a permissão no ponto em que geramos as notificações.

Portanto, neste caso, nenhuma informação vazaria, apenas configuraríamos os registros e, por acaso, se o usuário ganhasse visibilidade ao se tornar um membro da equipe, ele passaria a assistir automaticamente.

Parece que isso é principalmente para melhorar a experiência do usuário, para que não minta ao administrador sobre o que vai acontecer.

1 curtida

Certo. O usuário não tem ideia de que isso está acontecendo, mas o administrador (especialmente um administrador acostumado com softwares que podem estragar algo assim) precisaria investigar algo (logs de e-mail, se passar por outro usuário, testar em staging, etc.) para verificar se nenhuma notificação está sendo realmente enviada.

1 curtida