Sintomas: após a atualização para a versão 3.4, todo o fórum apresentou “Oops”. Para piorar, os logs permaneceram completamente silenciosos sobre isso.
Havia um componente de tema com “extend security policy” com o valor script-src: 'unsafe-eval' https://redacted.example.com
Isso travou todo o fórum devido a uma exceção lançada no despachante de ação, pois havia um espaço no valor.
ActionDispatch::ContentSecurityPolicy::InvalidDirectiveError (Invalid Content Security Policy script-src: \\\"'unsafe-eval' https://redacted.example.com\\\". Os valores da diretiva não devem conter espaços em branco
ou ponto e vírgula. Use múltiplos argumentos ou outros métodos de diretiva em vez disso.)
Ah, esqueci a coisa mais importante. O modo de segurança não funcionou!!
Essa mudança de comportamento no tratamento de diretivas CSP veio de um patch de segurança retroportado no Rails - abordo isso com mais detalhes no PR. O Discourse agora filtrará tais valores antes de construir o CSP.
Em relação ao Modo Seguro, como ele apenas desabilita o lado JavaScript das coisas, ele não teria ajudado aqui, pois esses dados são processados no lado do servidor.