L’estrazione non riesce quando sono abilitati la minimizzazione JS e il bundling

Questo articolo fornisce una patch per il problema di Adobe Commerce che impedisce il corretto funzionamento del checkout quando sono abilitate la minimizzazione, il bundling e (in alcuni casi) l’unione di risorse JavaScript (JS).

Descrizione description

Ambiente

Adobe Commerce, tutti i metodi di distribuzione.

Problema/Sintomi

Le recenti modifiche alla funzione Criteri di sicurezza del contenuto (CSP) hanno causato un errore nella funzionalità di estrazione quando sono abilitate la minimizzazione, il raggruppamento e, in alcuni casi, l’unione di risorse JS. Questo problema può bloccare completamente il posizionamento dell’ordine sulla vetrina.

Prodotti e versioni interessati

Magento Open Source e Adobe Commerce (tutti i metodi di distribuzione):

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

Passaggi da riprodurre:

  1. Verifica che il modulo CSP sia abilitato.

  2. Passa alla modalità di produzione e abilita la minimizzazione e il bundling delle risorse JS.

  3. Distribuire contenuto statico e svuotare la cache.

  4. Passa alla vetrina e tenta di effettuare un ordine.

  5. Verifica la presenza di errori JS nella console del browser durante ogni passaggio del flusso di pagamento.

    • Se si verificano errori o l'estrazione non riesce in modo esplicito, l'archivio viene interessato.
    • Se non sono presenti errori e l'inserimento dell'ordine è possibile, verificare se mixins.min.js è presente nella pagina Estrazione. Se mixins.min.js manca, ma l'estrazione funziona - il problema esiste, ma non influisce in modo visibile sull'archivio.

Causa

Le modifiche alla funzione CSP hanno prodotto una generazione errata di hash SRI (Subresource Integrity) per i file JS minimizzati quando il bundling è abilitato, a causa di percorsi di file errati.

Ciò ha impedito a mixins.min.js e static.min.js di eseguire correttamente il rendering sulla pagina Estrazione, causando diversi errori durante l'inserimento dell'ordine.

Risoluzione resolution

Gli archivi in esecuzione su una qualsiasi delle versioni interessate devono applicare la patch corrispondente per risolvere il problema.

Queste patch annullano le modifiche relative ai CSP di cui sopra e ripristinano lo stato della funzione CSP prima di tali modifiche.

Nota: L'applicazione di queste patch ripresenta alcuni problemi noti in precedenza relativi alla funzionalità SRI:

  • Nelle versioni 2.4.7-p8 e successive, gli hash SRI verranno nuovamente memorizzati nella cache anziché in sri-hashes.json.
  • Nelle versioni 2.4.8-p3 e successive, le risorse JS in bundle/unite non verranno sottoposte alla convalida degli hash di integrità.
  • Le istanze cloud nella versione 2.4.8-p3 possono avere generato in modo errato sri-hashes.json file che contengono hash SRI solo per una frazione di risorse JS.

Come applicare il cerotto

Decomprimere il file e fare riferimento a Come applicare una patch del compositore fornita da Adobe per ulteriori istruzioni.

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