O caso de uso é para remoção de uploads com tempo crítico como parte de fluxos de trabalho de automação com intervenção humana usando activepieces, data explorer e a API.
O objetivo é permitir que moderadores regulares tenham acesso a uma maneira simples de remover completamente e com confiança os uploads imediatamente, sem acesso SSH, e cobrir de forma abrangente todos os casos conhecidos de quebra de referências de upload, além de limpar automaticamente o CDN dos URLs específicos (e no caso de avatares proxied, o prefixo do URL baseado no nome de usuário).
Fiquei aliviado ao ver em testes que as referências de avatar, plano de fundo do perfil e plano de fundo do cartão são tratadas automaticamente quando um upload é destruído.
https://github.com/discourse/discourse/commit/e1975e293f2625259e925b4a3c93d88d5acfcaa8
https://github.com/discourse/discourse/commit/38e7b1a0492dd4282c3cd3b1ddb2b3343661d31f
Os dois cenários principais seriam ‘terra arrasada’ e ‘remoção cirúrgica’. Este é o trabalho em andamento para terra arrasada:
Conversão para uma lista de hashes de upload:
-
URLs de avatar (extrair nome de usuário usando regex) → obter hash de avatar via consulta do data explorer (o hash não está no URL)
-
URLs de tópico/postagem → coletar todos os hashes de upload usados nessa postagem usando data explorer
-
URLs de upload originais/otimizados diretos (incluindo plano de fundo do perfil e plano de fundo do cartão) → extrair hashes usando regex
Em seguida, consultar cada hash para encontrar todas as ocorrências (uma consulta de data explorer para cobrir todos os casos, um hash por vez):
-
lista de nome de usuário/ID, para usuários que o usaram como avatar
-
lista de nome de usuário/ID, para usuários que o usaram como plano de fundo do perfil
-
lista de nome de usuário/ID, para usuários que o usaram como plano de fundo do cartão
-
lista de todas as postagens (raw) que usam este upload
Ações:
-
suspender todos os usuários que usaram o upload como avatar, plano de fundo do perfil ou plano de fundo do cartão
-
suspender todos os usuários que têm postagens referenciando o upload alvo, mas excluir se a referência estiver aninhada dentro de uma citação
-
excluir todos os tópicos
-
excluir todas as postagens
-
destruir upload (sem endpoint de API)
-
limpar todos os URLs do CDN (otimizados/não otimizados)
-
limpar o prefixo padrão para URLs de avatar proxied para cada nome de usuário associado (para cobrir todos os tamanhos)
O cenário de remoção cirúrgica seria essencialmente o mesmo, mas sem suspender os usuários associados e precisaria de algumas alterações em relação à coleta de todos os hashes de upload de URLs de postagem/tópico.
Provavelmente ainda excluir as postagens/tópicos em si para evitar referências quebradas, mas remover o markdown do upload para aquele upload específico (sem tocar em outros uploads) seria superior, se possível. Como esta automação, se não removesse todas as referências de upload do markdown.
Idealmente, eu gostaria de poder bloquear hashes também, então, depois de passar pelo acima, alguém não poderia simplesmente criar uma nova conta e fazer upload novamente.
![]()
Eu não acho que seja possível atualmente para um moderador regular, como usando palavras vigiadas. Então, talvez fazer uma varredura periódica como a acima para uma lista de hashes seria uma maneira de lidar com isso.