L’extraction échoue lorsque la minimisation et le regroupement JS sont activés
Cet article fournit un correctif pour le problème d’Adobe Commerce qui empêche le bon fonctionnement de l’extraction lorsque la minimisation, le regroupement et (dans certains cas) la fusion de ressources JavaScript (JS) sont activés.
Description description
Environnement
Adobe Commerce, toutes les méthodes de déploiement.
Problème/Symptômes
Des modifications récentes apportées à la fonctionnalité Politique de sécurité du contenu (CSP) ont entraîné l’échec de la fonctionnalité d’extraction lorsque la minimisation, le regroupement et, dans certains cas, la fusion de ressources JS sont activés. Ce problème peut bloquer complètement le placement des commandes sur le storefront.
Produits et versions concernés
Magento Open Source et Adobe Commerce (toutes les méthodes de déploiement) :
- 2.4.4-p16
- 2.4.5-p15
- 2.4.6-p13
- 2.4.7-p8
- 2.4.8-p3
Procédure à suivre :
-
Assurez-vous que le module CSP est activé.
-
Passez en mode Production et activez la minimisation et le regroupement des ressources JS.
-
Déployez du contenu statique et videz le cache.
-
Accédez au storefront et tentez de passer une commande.
-
Recherchez les erreurs JS dans la console du navigateur à chaque étape du flux de passage en caisse.
- En cas d’erreur ou d’échec explicite de l’extraction, le magasin est affecté.
- S’il n’y a aucune erreur et que le placement de la commande est possible, vérifiez si
mixins.min.jsest présent sur la page Passage en caisse. Si lemixins.min.jsest manquant, mais que le passage en caisse fonctionne, le problème existe, mais n’a pas d’impact visible sur le magasin.
Cause
Les modifications apportées à la fonction CSP entraînaient une génération incorrecte des hachages d’intégrité des sous-ressources (SRI) pour les fichiers JS miniaturisés lorsque le regroupement est activé, en raison de chemins d’accès aux fichiers incorrects.
Cela empêchait à son tour mixins.min.js et static.min.js de s’afficher correctement sur la page Passage en caisse, provoquant divers échecs lors du placement des commandes.
Résolution resolution
Les magasins s’exécutant sur l’une des versions affectées doivent appliquer le correctif correspondant pour résoudre le problème.
- Pour la version 2.4.4-p16
- Pour la version 2.4.5-p15
- Pour les versions 2.4.6-p13 et 2.4.7-p8
- Pour la version 2.4.8-p3
Ces correctifs inversent les modifications liées à la CSP mentionnées ci-dessus et restaurent la fonction CSP à son état antérieur à ces modifications.
Remarque : l’application de ces correctifs réintroduit certains problèmes connus précédemment liés à la fonctionnalité SRI :
- Dans les versions 2.4.7 à p8 et ultérieures, les hachages SRI seront à nouveau mis en cache au lieu d’être stockés dans
sri-hashes.json. - Dans les versions 2.4.8 à p3 et ultérieures, les ressources JS regroupées/fusionnées ne seront pas soumises à la validation des hachages d’intégrité.
- Les instances cloud de la version 2.4.8-p3 peuvent avoir généré de manière incorrecte des fichiers
sri-hashes.jsoncontenant des hachages SRI uniquement pour une fraction des ressources JS.
Application du correctif
Décompressez le fichier et reportez-vous à la section Comment appliquer un correctif de compositeur fourni par Adobe pour obtenir des instructions supplémentaires.