Emojis personalizados carregados do S3/R2 contornam roteamento do CDN

nossa, que jornada essa foi. basicamente reconfigurei toda minha instância do Cloudfare R2 e do Discourse, e acho que esse bug é legítimo para o R2. quando corrigi meu registro de DNS do Cloudflare e reconstruí a instância para que DISCOURSE_CDN_URL realmente apontasse para ele, estragou um monte de outras coisas, como strings de tradução, e gerou vários erros no console, incluindo alguns erros de CORS. isso me levou por muitos caminhos equivocados hoje. então acho que usar DISCOURSE_CDN_URL parece ser incompatível com o Cloudflare R2. (isso foi muito estranho — quando configurei originalmente minha entrada de DNS, inseri incorretamente o registro de DNS cdn.mysite.com de forma que estava resolvendo como cdn.mysite.com.mysite.com). definir DISCOURSE_CDN_URL corretamente parece ser incompatível com o armazenamento de objetos do Cloudflare R2. pode haver outras coisas aqui que eu não estou entendendo completamente.

enfim, quando reconstruí com minha branch de PR, tudo foi corrigido porque envolve a atribuição em Discourse.store.cdn_url(), para que os uploads de emojis personalizados sigam a mesma lógica de roteamento e fallback do CDN S3 que os uploads de imagens padrão de posts.

reabri o PR e editei a descrição. mas acho que se a equipe do Discourse escolher não mesclar, tudo bem, porque o componente de tema corrige o problema no nível do cliente. observe que a correção do PR deve afetar apenas as configurações de armazenamento de objetos R2 para emojis personalizados e não outros serviços compatíveis com S3 como a AWS.

2 curtidas