Falha no check-out quando a minificação e o empacotamento de JS estão ativados

Este artigo fornece uma correção para o problema do Adobe Commerce que impede o funcionamento correto da finalização quando a minificação, o empacotamento e (em alguns casos) a mesclagem de ativos do JavaScript (JS) são ativados.

Descrição description

Ambiente

Adobe Commerce, todos os métodos de implantação.

Problema/Sintomas

Alterações recentes no recurso Política de segurança de conteúdo (CSP) causaram falha na funcionalidade de check-out quando a minificação, o empacotamento e, em alguns casos, a mesclagem de ativos JS estão ativados. Esse problema pode bloquear completamente o posicionamento do pedido na loja.

Produtos e versões afetados

Magento Open Source e Adobe Commerce (todos os métodos de implantação):

  • 2.4.4-p16
  • 2.4.5-p15
  • 2.4.6-p13
  • 2.4.7-p8
  • 2.4.8-p3

Etapas a serem reproduzidas:

  1. Verifique se o módulo CSP está habilitado.

  2. Alterne para o modo de Produção e ative a minificação e o agrupamento de ativos JS.

  3. Implante conteúdo estático e limpe o cache.

  4. Navegue até a vitrine e tente fazer um pedido.

  5. Verifique se há erros de JS no console do navegador durante cada etapa do fluxo de check-out.

    • Se houver erros ou o check-out falhar explicitamente, a loja será afetada.
    • Se não houver erros e o pedido for possível, verifique se mixins.min.js está presente na página Check-out. Se mixins.min.js estiver ausente, mas o check-out funcionar, o problema existe, mas não afeta visivelmente o armazenamento.

Causa

As alterações no recurso CSP resultaram na geração incorreta de hashes de Integridade de sub-recursos (SRI) para arquivos JS minificados quando o empacotamento está habilitado, devido a caminhos de arquivo incorretos.

Isso, por sua vez, impediu que mixins.min.js e static.min.js fossem renderizados corretamente na página Check-out, causando várias falhas durante o posicionamento do pedido.

Resolução resolution

As lojas em execução em qualquer uma das versões afetadas devem aplicar o patch correspondente para resolver o problema.

Esses patches revertem as alterações relacionadas à CSP mencionadas acima e restauram o recurso da CSP ao seu estado antes dessas alterações.

Observação: A aplicação desses patches reintroduz alguns problemas conhecidos anteriormente relacionados à funcionalidade da SRI:

  • Nas versões 2.4.7-p8 e anteriores, os hashes SRI serão armazenados em cache novamente em vez de serem armazenados em sri-hashes.json.
  • Nas versões 2.4.8-p3 e anteriores, os ativos JS agrupados/mesclados não serão submetidos à validação de hashes de integridade.
  • As instâncias de nuvem na versão 2.4.8-p3 podem ter gerado incorretamente sri-hashes.json arquivos que contêm hashes SRI apenas para uma fração de ativos JS.

Como aplicar o patch

Descompacte o arquivo e consulte Como aplicar um patch de compositor fornecido pelo Adobe para obter mais instruções.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f