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 :

  1. Assurez-vous que le module CSP est activé.

  2. Passez en mode Production et activez la minimisation et le regroupement des ressources JS.

  3. Déployez du contenu statique et videz le cache.

  4. Accédez au storefront et tentez de passer une commande.

  5. 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.js est présent sur la page Passage en caisse. Si le mixins.min.js est 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.

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.json contenant 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.

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