Estoy ahora en el nivel de commit más reciente (105634435f). Actualizo Discourse aproximadamente una vez por semana. Por lo general, no hay ningún problema. Pero ahora, varios componentes de temas no logran cargarse. Cuando digo que no logran cargarse, me refiero a que los componentes ya no aparecen. La función de registro en el panel de administración no muestra nada extraño que pueda relacionar con este problema. Muchos de esos errores parecen incidentales y ya ocurren desde hace un período más largo. Por ejemplo, errores raros de MimeType y tiempos de espera para DNS a Google; de nuevo, ocurren con poca frecuencia.
Estos plugins fallan al cargar después de la actualización:
DiscoTOC
discourse gifs
Discourse Jitsi
Hamburger Theme Selector
Nav Links Component
Tag Icons
Los únicos que funcionan son:
Discourse Kanban
Easy Footer
Si se necesita más información (supongo que sí), estaré encantado de proporcionársela; por favor, indícame qué necesitas. Esta publicación es más bien un aviso de que algo está mal y probablemente se deba a un cambio reciente. Disculpa la falta de información…
¿Sabes por qué se lanzan errores para variables JS no definidas en modo estricto en los componentes? ¿Es un error de postprocesamiento? ¿Ha cambiado algo aquí?
Para complementar lo que dijo Falco, el cambio se volverá a implementar en los próximos días, pero antes de hacerlo me aseguraré de que todos nuestros temas y componentes oficiales sean compatibles con él. Por lo tanto, si vuelves a observar el problema con los temas o componentes oficiales, actualizarlos debería solucionarlo.
También publicaré una explicación sobre cómo hacer que los temas y componentes sean compatibles para quienes tienen componentes personalizados o privados en sus sitios.
Uno de nuestros temas (un tema de banner) ha sido completamente sobrescrito a su formato inicial y todos los cambios que habíamos realizado se han perdido. No hubo ninguna actualización para el tema desde 2018. ¿Podríamos revertir los cambios?
No creo que este problema tenga que ver con la función revertida; tuve un caso similar con un componente hace unas semanas, probablemente relacionado con la función del indicador de bifurcación (que afecta a los complementos, así que probablemente sea irrelevante también, pero simplemente tuve que bifurcar el componente para modificar cosas).
Sí, ese cambio es la causa del problema que observaste en tu tema. Necesito entrar en un poco más de detalle sobre el sistema de temas para explicar lo que sucedió. Hay dos formas de agregar JS a un tema o componente de Discourse: la primera utiliza etiquetas <script type="text/discourse-plugin"> dentro de archivos head_tag.html, y la segunda utiliza archivos JS independientes que residen en un directorio llamado javascripts dentro de tu tema o componente.
Antes de mi cambio de hoy, el JavaScript dentro de esas etiquetas de script especiales se procesaba de una manera que dependía de la variable global Discourse, la cual no está disponible cuando se desarrolla en Discourse con Ember CLI. En el cambio que implementé hoy, hice que Discourse tratara el JS dentro de esas etiquetas como si proviniera de archivos independientes, lo que nos permitió evitar el uso de la variable global Discourse.
Ahora, un “efecto secundario” de tratar las etiquetas de JavaScript como archivos es que el JavaScript dentro de las etiquetas tendrá la directiva "use strict", la cual no tenía antes, y esa directiva es la que causa los errores que viste:
Te recomiendo que mantengas todos los cambios que hiciste hoy en tu tema, ya que las etiquetas de JS volverán a tratarse como archivos independientes cuando restaure mi cambio.
Sí, todos los cambios han desaparecido: desde modificaciones en CSS y JS hasta cambios en el texto Es decir, mi tema ha vuelto a su formato inicial con textos como “Lorem ipsum dolor sit amet…”. De todos modos, usaré la copia de seguridad, pero fue algo extraño que ocurriera después de la actualización.