Se um produto consegue gerar imagens, vídeo, música, fala e texto, tem de ser possível denunciar qualquer uma dessas coisas. Não a maioria. Qualquer uma.
Tínhamos o botão nalgumas superfícies. É outra coisa, e a diferença é fácil de escapar: a filtragem de conteúdo tinha sido ligada à mão por cada canal, por isso dois estúdios saíram sem nenhuma e ninguém reparou até uma auditoria ir ver. A mesma forma teria comido esta correção, um ecrã esquecido de cada vez.
Todas as superfícies, e uma verificação que o diz
Existe agora um controlo de denúncia nas respostas de conversa, nas imagens, no vídeo, na música, na voz, na voz para texto, no texto para voz, na tradução, nas peças da tela, nos resultados de fluxos, no balão do assistente e nas páginas públicas partilhadas — na web e na aplicação.
Mais importante: em cada compilação corre uma verificação. Um ficheiro que importe uma interface de geração tem de mostrar um controlo de denúncia, delegar num componente que carregue um, ou ter uma exceção com um motivo que se possa confirmar. A sua primeira execução apontou seis falhas reais. É isso que este trabalho fecha.
Depois o responsável abriu a aplicação a correr e encontrou mais cinco que a verificação não conseguia ver, porque viviam em pastas que ela nunca abria. Essa é a pior metade do problema — um vigia que reporta zero enquanto passa ao lado de código que nunca leu — e é por isso que a verificação agora nomeia as suas próprias raízes e falha quando uma delas deixa de resolver.
Uma só fila, e ações na linha
As páginas partilhadas tinham há algum tempo um controlo de denúncia que escrevia numa tabela que ninguém lia: sem consumidor, sem entrada em fila, sem notificação. Essas denúncias abrem agora também um caso a sério, com o texto exato de que quem revê precisa congelado ao lado.
E uma fila cujas ações vivem noutra página é uma fila que se deixa de trabalhar. Esconder conteúdo ou arquivar uma denúncia acontece agora na própria linha, e o resultado é escrito de volta para que nada volte a ser discutido.