La page de désabonnement n'a pas de bouton de validation en raison de Cloudflare

Nos utilisateurs ont commencé à se plaindre que la page de désabonnement (des emails récapitulatifs) ne possède pas de bouton de validation et ne fonctionne pas. Après avoir vérifié la page, j’ai constaté ce qui suit :

Le bouton de validation est introuvable sur la page.

La console affiche ces erreurs :

The FetchEvent for "https://www.google-analytics.com/r/collect?v=1&_v=j81&a=1687584696&t=pageview&_s=1&dl=https%3A%2F%2Fmydomain.com%2F&dp=%2F&ul=en-us&de=UTF-8&dt=MyDomain&sd=24-bit&sr=1680x1050&vp=1680x939&je=0&_u=CACAAAAB~&jid=1509883826&gjid=448482383&cid=264324569.1586166300&uid=15&tid=UA-55573518-16&_gid=1087251009.1587052456&_r=1&z=1378394722" resulted in a network error response: the promise was rejected.
NetworkFirst.mjs:167 Uncaught (in promise) no-response: no-response :: [{"url":"https://www.google-analytics.com/r/collect?v=1&_v=j81&a=1687584696&t=pageview&_s=1&dl=https%3A%2F%2Fmydomain.com%2F&dp=%2F&ul=en-us&de=UTF-8&dt=MyDomain&sd=24-bit&sr=1680x1050&vp=1680x939&je=0&_u=CACAAAAB~&jid=1509883826&gjid=448482383&cid=264324569.1586166300&uid=15&tid=UA-55573518-16&_gid=1087251009.1587052456&_r=1&z=1378394722"}]
    at a.makeRequest (https://mydomain.com/javascripts/workbox/workbox-strategies.prod.js:1:2145)
51d5760db57884c972254b1171ee83015edf29bb5a6588fa15afd90bf19cd856:1 A cookie associated with a cross-site resource at http://clickfunnels.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
1aeeb5a3adae2c127f9e6aafa5d5e1e46c257be5.js?__ws=mydomain.com:5 Refused to load the script 'https://connect.facebook.net/en_US/fbevents.js' because it violates the following Content Security Policy directive: "script-src 'report-sample' https://mydomain.com/logs/ https://mydomain.com/sidekiq/ https://mydomain.com/mini-profiler-resources/ https://mydomain.com/assets/ https://mydomain.com/brotli_asset/ https://mydomain.com/extra-locales/ https://mydomain.com/highlight-js/ https://mydomain.com/javascripts/ https://mydomain.com/plugins/ https://mydomain.com/theme-javascripts/ https://mydomain.com/svg-sprite/ https://www.google-analytics.com/analytics.js". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

(anonymous) @ 1aeeb5a3adae2c127f9e6aafa5d5e1e46c257be5.js?__ws=mydomain.com:5
51d5760db57884c972254b1171ee83015edf29bb5a6588fa15afd90bf19cd856:1 Refused to load the script 'https://mydomain.com/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js' because it violates the following Content Security Policy directive: "script-src 'report-sample' https://mydomain.com/logs/ https://mydomain.com/sidekiq/ https://mydomain.com/mini-profiler-resources/ https://mydomain.com/assets/ https://mydomain.com/brotli_asset/ https://mydomain.com/extra-locales/ https://mydomain.com/highlight-js/ https://mydomain.com/javascripts/ https://mydomain.com/plugins/ https://mydomain.com/theme-javascripts/ https://mydomain.com/svg-sprite/ https://www.google-analytics.com/analytics.js". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

Toute aide serait vraiment appréciée !

Pas de reproduction sur un site client en direct lorsque je sélectionne la désinscription d’un résumé hebdomadaire / email de synthèse … le schéma de couleurs est incorrect :

Cela [email protected] implique que le forum est servi via Cloudflare. Assurez-vous de désactiver toutes les fonctionnalités de performance spéciales de Cloudflare.

J’ai désactivé toutes les fonctionnalités que je pouvais depuis Cloudflare, mais le problème persiste. De plus, Discourse ne devrait-il pas fonctionner indépendamment de sa configuration (comme le Proxy et la minification CSS, qui étaient les seuls paramètres que j’ai utilisés) ?

Il est impossible de garantir l’exactitude si un homme du milieu peut modifier vos réponses de manière imprévisible :wink:

C’est vrai ! Mais Discourse est en quelque sorte indispensable pour un forum afin d’accélérer les choses et de réduire la consommation de bande passante… Je vais voir ce que je peux trouver pour contourner le problème…

Le plus étrange, c’est que tout le reste fonctionne parfaitement ! J’utilise Discourse depuis plus de 4 ans sur 3 forums, et tout fonctionne bien sauf cette fonctionnalité ! Donc, il y a sûrement quelque chose qui ne va pas…

Peut-être contacter le support de Cloudflare pour déterminer ce qui est toujours activé ? Ou simplement mettre le forum en mode nuage gris.

Vous pouvez configurer un deuxième domaine en nuage orange comme CDN pour le forum. Il existe des guides sur Meta expliquant comment procéder.

Ce n’est pas vrai. Cloudflare ralentit de nombreux aspects de Discourse, et encore plus si ces fonctionnalités supplémentaires sont activées. Discourse est une application, pas un site web ; acheminer les requêtes de l’application cliente dans votre navigateur via Cloudflare vers le serveur backend augmente considérablement la latence.

Cloudflare ne peut pas optimiser la charge utile JavaScript mieux que Discourse ne le fait déjà, et lorsque de telles optimisations sont activées, elles créent exactement les problèmes que vous rencontrez.

Au minimum, vous devez créer une nouvelle règle de page pour « Désactiver les performances » de votre domaine Discourse sur Cloudflare. Nous ne pouvons rien faire pour prendre en charge votre installation tant que ces fonctionnalités sont activées. La règle doit ressembler à ceci :

Mais pour l’instant, afin de dépanner les problèmes, le nuage orange doit être désactivé.

Vous pouvez configurer une règle de mise en cache qui met en cache tout ce qui se trouve dans les uploads, mais honnêtement, vous serez beaucoup mieux avec un vrai CDN.