Miniaturas de chat contornam s3_cdn_url e usam URLs brutas do bucket S3

Para sites com emojis personalizados adicionados, eles ficarão quebrados no chat agora que a correção foi mesclada.

Diferente das imagens padrão dos posts (que podem ser corrigidas com rake posts:rebake), os emojis personalizados do chat são passados para o front-end dinamicamente via /site.json.

Se o seu banco de dados contiver URLs da S3 que estão faltando com o protocolo (por exemplo, //bucket.endpoint...) ou que usam um domínio no estilo virtual-hosted que não corresponde perfeitamente às variáveis de ambiente do seu app.yml, o substituidor de CDN interno do Discourse falha silenciosamente. A URL bruta do bucket é passada para o navegador, quebrando os emojis personalizados no chat.

Como corrigir:

Para corrigir isso permanentemente, você precisa forçar o remapeamento das URLs brutas do bucket para a URL do seu CDN no banco de dados e, em seguida, limpar o cache do site para que o /site.json seja regenerado.

1. Entre no seu container:

Faça SSH no seu servidor e entre no container do Discourse (geralmente app, ou web_only se você tiver uma configuração de dois containers).

cd /var/discourse
./launcher enter app

2. Remapeie as URLs:

Execute a ferramenta interna do Discourse remap. Você deve executá-la duas vezes para capturar tanto a variação https:// quanto a variação sem protocolo // que o script de migração às vezes deixa para trás.

Substitua os placeholders pelas suas URLs reais do bucket bruto e da sua URL do CDN:

# Corrija as URLs padrão https://
discourse remap "https://<seu-bucket>.<seu-endpoint>.com" "https://cdn.seu-dominio.com"

# Corrija as URLs sem protocolo // (esta é a que geralmente quebra os emojis personalizados)
discourse remap "//<seu-bucket>.<seu-endpoint>.com" "https://cdn.seu-dominio.com"

3. Limpe o cache

Como o /site.json é fortemente armazenado em cache, você deve limpar o cache do Rails para forçar o fórum a servir as novas URLs:

Abra o console do Rails:

rails c

Execute estes comandos:

Rails.cache.clear
Site.clear_cache
exit

4. Atualize

Faça uma atualização forçada no seu navegador (e desative a solução alternativa do componente do tema, se ainda estiver usando). Os emojis personalizados no chat agora devem estar corrigidos e carregando corretamente pelo CDN.

2 curtidas