Discourse pronto actualizará nuestra versión del framework Javascript Ember de la versión 3 a la versión 5. La gran mayoría del trabajo de preparación está hecho, y muchos sitios ya están ejecutándose en Ember 5 (¡incluido Meta!). ![]()
¡Esta actualización está disponible detrás de una bandera de funcionalidad ahora mismo! Esta es la opción predeterminada para las instalaciones de Discourse autoalojadas a partir del 10 de enero. Inicialmente, el soporte de Ember 3 seguirá disponible a través de una bandera, pero se eliminará dentro del primer trimestre de 2024.
En nuestro hosting gestionado discourse.org, realizaremos un despliegue gradual de la bandera durante los próximos dos meses:
| Fecha de actualización | |
|---|---|
| Básico | 2023-12-07 |
| Gratis | 2023-12-12 |
| Pro | 2024-01-15 |
| Negocios | 2024-01-22 |
| Empresarial | (caso por caso) |
¿Qué significa esto para mí y mi sitio?
Si estás ejecutando Discourse sin temas, plugins o componentes de tema adicionales… ¡estás listo! No necesitas hacer nada ni preocuparte por esto en absoluto.
Igualmente, si solo usas temas/plugins oficiales, ¡te tenemos cubierto! Nos aseguraremos de que todos nuestros temas, componentes de tema y plugins oficiales estén preparados y listos para la actualización.
Para aquellos que utilizan personalizaciones de terceros, sus desarrolladores deberían estar realizando los cambios necesarios para que puedas seguir utilizándolos sin problemas durante esta transición.
Sin embargo, si tienes algún tema, componente de tema o plugin personalizado que hayas creado o encargado para tus sitios, ¡esta publicación es para ti! Repasaremos cómo identificar y resolver cualquier problema antes de la actualización.
Identificación de problemas
Todos los problemas de actualización relacionados con ember-5 se pueden identificar antes de la actualización comprobando el uso de APIs obsoletas. En versiones recientes de Discourse (a partir de Discourse 3.2.0.beta4-dev), estas deprecaciones críticas activarán una pancarta de advertencia para los administradores:
Puedes encontrar más información sobre las deprecaciones activadas en la consola de desarrollador del navegador. Generalmente, es una buena práctica resolver todas las deprecaciones que veas. Pero para esta actualización de versión de Ember, las clave a resolver son:
-
discourse.modal-controllers(ver este tema para más información) -
todas las deprecaciones de Ember (es decir, aquellas con identificadores que no sean
-discourse.)
Al imprimir las deprecaciones en la consola, Discourse intenta identificar el tema/plugin relevante.
Para desarrolladores y proveedores de hosting, hemos puesto a disposición un par de herramientas para identificar deprecaciones en masa:
-
Al ejecutar pruebas QUnit, se imprime un informe al final con una lista de todas las deprecaciones no resueltas. En GitHub actions, se agrega una versión en markdown de esto al resumen del flujo de trabajo.
-
Para los proveedores de hosting, tenemos el plugin discourse-deprecation-collector que incrementa los contadores de prometheus cada vez que se activan deprecaciones en producción.
Resolución de deprecaciones
Generalmente, el mensaje de la consola incluirá una descripción del problema y los pasos necesarios para resolverlo. En algunos casos, enlazarán a recursos externos como el sitio de deprecaciones de Ember o Discourse Meta.
Si algo no está claro, no dudes en publicar a continuación o en un tema dedicado de Dev y haremos todo lo posible para ayudarte.
Pruebas en Ember 5
Para probar en Ember 5 en un entorno de desarrollo local, puedes iniciar nuestro ayudante ember-cli con la variable de entorno EMBER_VERSION. Por ejemplo:
EMBER_VERSION=5 bin/ember-cli -u
Para confirmar que las cosas funcionan como se esperaba, verifica la versión de Ember que Discourse imprime en la consola del navegador.
En producción, puedes lograr lo mismo agregando EMBER_VERSION: 5 a la sección env: de tu archivo app.yml.




