As opções “Mídia Segura” e “Habilitar Uploads S3” parecem quebrar os Logotipos de Categoria.
Recentemente, descobri que documentos carregados podiam ser visualizados/baixados por meio de links diretos de URL por usuários que não tinham acesso à postagem privada onde o documento foi carregado. Entendi que os Uploads S3 precisavam ser habilitados primeiro para usar o recurso de Mídia Segura, então ativei essa opção primeiro e copiei manualmente os uploads do servidor Discourse para o bucket S3. Em seguida, segui esta postagem para habilitar a Mídia Segura:
Após seguir esse procedimento, precisei executar um remap do Discourse para alterar /uploads/default/ para //nome-do-bucket-e-assim-por-diante/. Após o remap, executei o rake posts:rebake e tudo parecia estar correto na maior parte. Todos os outros uploads (documentos e imagens em postagens, imagens de marcação do site, etc.) ainda eram exibidos e linkados corretamente após habilitar a Mídia Segura e executar as tarefas rake e remap apropriadas. Tive que reenviar avatares de usuários e logotipos de grupos, mas, uma vez reenviados, todos foram exibidos corretamente e possuíam as novas URLs curtas e URLs de uploads de mídia segura conforme esperado.
Notei que as Imagens de Logotipo de Categoria não eram mais exibidas. Ao verificar com o modo de desenvolvedor do meu navegador, percebi que, ao reenviar uma Imagem de Logotipo de Categoria, a URL correta de uploads de mídia segura era criada, exibindo a imagem corretamente. No entanto, assim que eu clicava em “Salvar Categoria”, a página da categoria era atualizada e tentava incorretamente mapear diretamente para a URL não assinada do AWS S3 para a imagem, impedindo que a imagem fosse exibida:
Todas as páginas no Discourse que exibem uma Imagem de Logotipo de Categoria tentam mapear a imagem diretamente para a URL não assinada do AWS S3 em vez da URL de uploads de mídia segura.
Como solução alternativa, tive que visitar tediosamente cada objeto de Imagem de Logotipo de Categoria no AWS S3 e alterar as permissões para Leitura Pública.
Confirmei que esse comportamento existe nos navegadores Chrome, Firefox e Microsoft Edge. Tentei as tarefas rake posts:rebake e uploads:secure_upload_analyse_and_update, mas elas parecem não fazer nada com o Logotipo de Categoria. Existe talvez outra tarefa que corrigirá essas URLs de Imagem de Logotipo de Categoria mapeadas incorretamente? Ou isso é, de fato, por design, exigindo que todos os objetos de upload S3 sejam de leitura pública, exceto aqueles que são seguros (postagens privadas)?
