Error de referencia no capturado: Discourse no definido debido a Cloudflare Rocket Loader

En algunos temas de mi sitio, cuando los abro en un dispositivo móvil, obtengo estos errores en la consola de JS,

Por ejemplo, cuando abro esto en móvil: FAQs For New Content Writers - How To Discuss

El mismo error ocurre si intento ir directamente a un tema añadiendo su ID en lugar del slug del nombre del tema:

El mismo error aparece si abro este tema en el escritorio:

Recientemente actualicé Discourse y también realicé una reconstrucción manual desde la terminal, pero este error sigue sin desaparecer. ¿Puede alguien ayudarme a solucionarlo?

¿Hay algún plugin que esté causando esto? Estos son mis plugins actualmente:

Todos mis plugins están actualizados.

Además, acabo de probar y confirmé que esto no ocurre si voy a mi sitio, busco el tema “FAQ” y hago clic en él, pero si copio directamente la URL de este tema y la abro en el navegador o hago clic en un enlace (en algún otro sitio externo, no en Discourse), entonces aparece este error.

Aquí está el registro de errores RAW:

1 me gusta

Estás utilizando Cloudflare Rocket Loader, que no es compatible.

Por favor, ve a la entrada DNS de Discourse en tu panel de administración de Cloudflare y cambia la nube a gris. Discourse fallará aleatoriamente con una nube naranja, como puedes ver.

3 Me gusta

@Falco muchas gracias por tu rápida respuesta. Acabo de cambiar esta nube a gris, es decir, la he configurado solo para DNS; antes estaba en modo proxy.

Pero sigo viendo el mismo error. Creo que también debería desactivar Rocket Loader en la configuración de CF.

Ya he desactivado Rocket Loader en la configuración.

Sin embargo, al recargar esa URL, sigo viendo los mismos errores :frowning:

En mi experiencia, lleva unas horas para que el cambio surta efecto.

1 me gusta

Vale, déjame ver, ¿me sugieres mantener ese gris de la nube y desactivar Rocket Loader también en la configuración?

Además, he notado varias veces que la interfaz de mi sitio se rompe aleatoriamente de esta manera y veo este error en la consola:

NetworkFirst.mjs:167 Uncaught (in promise) no-response: no-response :: [{"url":"https://pagead2.googlesyndication.com/pagead/gen_204?id=puberror&context=165&msg=TagError%3A%20adsbygoogle.push()%20error%3A%20No%20slot%20size%20for%20availableWidth%3D0%0Aat%20Vj%20(https%3A%2F%2Fpagead2.googlesyndication.com%2Fpagead%2Fjs%2Fadsbygoogle.js%3A155%3A453)%0Aat%20Uj%20(adsbygoogle.js%3A154%3A137)%0Aat%20ik%20(adsbygoogle.js%3A162%3A239)%0Aat%20Pk%20(adsbygoogle.js%3A191%3A493)%0Aat%20sl%20(adsbygoogle.js%3A209%3A106)%0Aat%20rl%20(adsbygoogle.js%3A207%3A1123)%0Aat%20Cl%20(adsbygoogle.js%3A222%3A288)%0Aat%20adsbygoogle.js%3A217%3A43%0Aat%20Ce.n.ba%20(adsbygoogle.js%3A68%3A294)%0Aat%20Qe%20(adsbygoogle.js%3A77%3A357)&shv=r20200924&eid=42530672%2C21067492&client=ca-pub-7087907313091932&slotname=5744927958&url=https%3A%2F%2Fhowtodiscuss.com%2Flatest"}]
    at a.makeRequest (https://howtodiscuss.com/javascripts/workbox/workbox-strategies.prod.js:1:2145)

Incluso si desactivo o activo el bloqueador de anuncios, este error no desaparece.

Ese tema funcionaba bien antes, pero

Además, ahora estoy recibiendo el error de conexión no segura

He vuelto a activar el proxy en Cloudflare y he desactivado Rocket Loader en la configuración; a ver qué pasa.

La nube naranja significa que no obtuviste un certificado para tu sitio durante la instalación, el cual se instala de forma predeterminada para todos los demás.

Por favor, lee y sigue Set up HTTPS support with Let's Encrypt para solucionarlo.

2 Me gusta

¡Vale! Pero lo cambié a la nube naranja con proxy y desactivé Rocket Loader desde la configuración; parece que ahora funciona bien, ¡gracias!

Además, ¿podrías aconsejarme si tienes experiencia con Nginx y cómo hacer una redirección con un parámetro de consulta? https://stackoverflow.com/questions/64110945/nginx-virtualhost-how-to-redirect-a-discourse-url-with-amp-query-parameter-to