Instalei uma instância do Discourse ontem, e hoje ela mostra uma página escura. No console, vejo:
A carga do script 'https://ajax.cloudflare.com/cdn-cgi/scripts/95c75768/cloudflare-static/rocket-loader.min.js' foi recusada porque viola a seguinte diretiva de Política de Segurança de Conteúdo (CSP): "script-src 'unsafe-eval' 'report-sample' [url]/logs/ [url]/sidekiq/ [url]/mini-profiler-resources/ [url]/assets/ [url]/brotli_asset/ [url]/extra-locales/ [url]/highlight-js/ [url]/javascripts/ [url]/plugins/ [url]/theme-javascripts/ [url]/svg-sprite/". Observe que 'script-src-elem' não foi definido explicitamente, então 'script-src' foi usado como alternativa.
Um código de resposta HTTP ruim (404) foi recebido ao buscar o script.
Desative o Cloudflare para seu site no painel de controle do Cloudflare. Em particular, o recurso Rocket Loader é absolutamente incompatível com o Discourse.
Você poderia explicar por que isso é “absolutamente” incompatível? Eu uso isso em outros aplicativos Rails altamente personalizados e otimizados com sucesso (geralmente após um pouco de depuração). Estou curioso sobre por que o Discourse não foi refeito para tornar isso funcional com o conjunto completo de serviços do CloudFlare, já que ele é tão amplamente utilizado.
Na verdade, não há nenhum benefício ou incentivo aqui.
Parece que você está operando sob a suposição de que a Cloudflare pode otimizar o código do Discourse melhor do que os próprios desenvolvedores da CDCK. Em que você está baseando isso?
A Cloudflare é boa como cache, mas todos os recursos de desempenho precisam ser desativados; caso contrário, sua instalação não será totalmente suportada.
A partir de algumas discussões que vi aqui, parece haver problemas com a primeira pintura significativa aparecendo com rapidez suficiente em vários testes que têm retornado tais resultados. Eu esperava que o Rocket Loader talvez reduzisse isso ainda mais enquanto o trabalho real prossegue nessa área para resolvê-lo.
Não, isso vai piorar a situação. O Discourse é uma aplicação JavaScript, então o carregamento inicial vai custar um pouco mais, pois o aplicativo é baixado para o ambiente de execução JavaScript do navegador.
Tecnicamente, isso deveria funcionar, mas se não funcionar, é porque a Cloudflare escreveu código ruim. Se você quiser levar isso adiante, deve entrar em contato com eles por e-mail. Não podemos controlar o código da Cloudflare porque… não somos a Cloudflare.