Notifique o administração quando as configurações do site forem atualizadas pelo sistema

Recentemente, nossa função download_remote_images_to_local foi desabilitada pelo sistema como uma alteração ‘silenciosa’. Como proprietário do site, teria sido útil receber uma Mensagem Direta (DM) sobre isso. Não tenho certeza se há mais alterações que podem ser atualizadas pelo sistema dessa forma.\n\n

9 curtidas

Já vi isso acontecer quando o disco está cheio. Foi isso ou outra coisa?

2 curtidas

Não estava cheio, apenas abaixo do limite que definimos para o download de imagens remotas.

3 curtidas

Acho que a sugestão é razoável, infelizmente não acho que teremos tempo para trabalhar nisso por um bom tempo.

Colocando um pr-welcome nele caso alguém da comunidade queira investigar isso. (Um PM para os administradores quando mexermos na configuração)

6 curtidas

O “sistema” quebrou nosso site alterando o nível de confiança padrão para “0” quando o definimos como “1”.

É muito surpreendente que o sistema possa fazer alterações ad hoc em nosso site de produção sem nenhum tipo de aprovação ou aviso, e precisamos impedir que isso aconteça novamente no futuro.

Existe alguma maneira de desativar essas alterações automáticas do sistema?

Isso não deveria acontecer, muitos sites têm um padrão de TL1. Precisamos de mais contexto, você pode abrir um novo tópico sobre isso.

3 curtidas

Acontece que isso ocorreu devido ao modo de bootstrap em um novo servidor/aplicativo que estávamos configurando.

Mas minha mensagem foi menos sobre essa mudança específica do sistema e mais sobre como qualquer mudança de sistema idealmente deveria exigir aprovação para que as coisas não quebrem. Se a aprovação não for possível, no mínimo um e-mail notificando todos os administradores sobre a mudança (que acho que é mais ou menos o que o OP estava perguntando) seria ótimo.

Obrigado por todo o trabalho no Discourse!

1 curtida

Olá @Earnie_Baird, este é um ótimo feedback.

Eu acho que uma sugestão seria ter mais clareza sobre o modo bootstrap, talvez quando você vir isso no cabeçalho e clicar nele, deveria explicar muito claramente o que aconteceu.

2 curtidas

A menos que tenha havido alterações de que eu não estava ciente (e acho que não houve), aprovo fortemente esta solicitação de recurso.

Já encontrei este problema várias vezes quando faltava espaço em disco temporariamente.

Todas as vezes, notei que a configuração estava desativada apenas por acaso. Não pensei em verificar as alterações de configuração quando atingi um limite de espaço em disco, mesmo depois de ter passado por isso várias vezes.

Tenho certeza de que existem muitas instâncias em uso que têm essa configuração desativada sem que o administrador sequer saiba, apenas porque ficaram sem espaço em disco um ano atrás.

A alteração da configuração é registrada em /admin/logs/staff_action_logs?filters=%7B\"subject\"%3A\"download_remote_images_to_local\"%7D, mas nunca me lembro de ter recebido qualquer notificação quando ela é acionada.

Idealmente, eu gostaria de pelo menos um aviso no painel, uma notificação no menu do usuário ou um e-mail.

O contexto da seguinte citação foi bastante específico (e antigo), mas também se aplica aqui.

A ausência de qualquer tipo de notificação quando uma configuração é alterada por @system pode ser prejudicial.


Quando percebo que download_remote_images_to_local foi desativado em algum momento, executo um (ou ambos, uma vez) destes scripts rails para acionar o download de arquivos remotos:

Rebake de todos os posts de uma determinada data

i = 0
Post.where('created_at >= ?', Date.new(2023, 5, 1)).where('user_id > 0').find_each do |post|
  post.rebake!
  puts "Post #{post.id}, Criado em #{post.created_at}"
  i += 1
end

puts "Número total de posts refeitos: #{i}"

Rebake de todos os posts entre duas datas específicas

i = 0
Post.where('created_at >= ? AND created_at < ?', Date.new(2021, 12, 1), Date.new(2022, 3, 1)).where('user_id > 0').find_each do |post|
  post.rebake!
  puts "Post #{post.id}, Criado em #{post.created_at}"
  i += 1
end

puts "Número total de posts refeitos: #{i}"
2 curtidas

Ler Get admin notification from logs? - #4 by JammyDodger me fez pensar neste tópico novamente. Acho que você também poderia usar o script de automação “Agendar um PM com resultados do Data Explorer” ou “Agendar uma postagem em um tópico com resultados do Data Explorer” e uma consulta do Data Explorer para receber notificações sobre alterações nas configurações do site pelo sistema.

Algo como

SELECT subject, previous_value, new_value, updated_at
FROM user_histories uh
where uh.action = 3
AND uh.acting_user_id = -1
AND uh.updated_at  > CURRENT_TIMESTAMP - INTERVAL '60 minutes'
order by updated_at desc

Então você configura a automação com uma recorrência correspondendo ao intervalo na consulta e pula se não houver resultados para evitar ruído.
Você também poderia melhorar a consulta para filtrar pelo assunto exato, mas pensei que talvez outras alterações automáticas também sejam interessantes.

3 curtidas

Olá @Moin

Obrigado, parece uma ideia muito útil!

Executei esta consulta, mas ela não mostra alterações como a desativação automática da Narrativa..

Correto! Não há registro nos logs para isso. É por isso que sugeri que uma entrada fosse sempre criada para tais alterações.

Esta consulta deliberadamente consulta apenas um curto período de tempo. Quando comento a restrição de tempo, vejo pelo menos algumas alterações.

- AND uh.updated_at  > CURRENT_TIMESTAMP - INTERVAL '60 minutes'
+ --AND uh.updated_at  > CURRENT_TIMESTAMP - INTERVAL '60 minutes'

No entanto, para evitar que o script de automação relate essas alterações antigas, adicionei essa restrição de tempo.

2 curtidas

Esta é uma consulta útil para qualquer site ter para solução de problemas, quando algum comportamento mudou inesperadamente. Pode até ser você ou um colega administrador que mudou algo e teve um efeito inesperado.

Criei uma automação aqui no meta para executar esta consulta semanalmente, para mostrar todas as alterações registradas na última semana. Temos muitos cozinheiros nesta cozinha e pode ser difícil manter uma visão geral às vezes.

Parece-me que a solicitação de recursos aqui seria registrar todas as ações da equipe de forma mais abrangente.

1 curtida

A consulta que compartilhei é limitada a alterações nas configurações do site e limitada a ações do sistema. Portanto, ajuda a notar quando as configurações são alteradas pelo sistema, seja por causa de uma automação, como desabilitar o download de imagens porque o disco está cheio, ou quando a configuração muda quando o modo de inicialização termina. Em combinação com uma postagem ou PM do plugin de automação, isso pode ajudar em casos como o descrito no OP.

Mas a consulta não ajuda realmente a encontrar alterações inesperadas, como a alteração que desabilitou a mensagem de boas-vindas do discobot, sobre a qual @gassim gostaria de saber. A maioria das alterações de configuração que ocorrem durante uma atualização do Discourse não são registradas, e é isso que as torna tão difíceis de rastrear.

1 curtida

Modifiquei sua consulta para me mostrar todas as alterações registradas na última semana.

Concordo com você que uma lacuna precisa ser preenchida. Não há ações suficientes sendo registradas.

1 curtida