Antecedentes
Esencialmente, si estás usando algo como {{foo}} en una plantilla de handlebars para hacer referencia a una propiedad en el controlador/componente, entonces necesita ser actualizado a {{this.foo}}.
Información upstream: Property Fallback Lookup | Ember.js - Deprecations
Para lograr la actualización de Discourse a Ember 4.x, introdujimos un shim de retrocompatibilidad para que los temas y plugins no tuvieran que apresurarse con este cambio. Sin embargo, no es factible mantener este shim indefinidamente, por lo que necesitamos que los temas y plugins se actualicen a la sintaxis moderna.
Deprecación
En la última versión de Discourse, el uso de la sintaxis heredada provocará que se imprima un mensaje de deprecación en la consola. Se verá algo así:
DEPRECATION: [PLUGIN discourse-calendar] La ruta de la propiedad `loading` se usó en la plantilla `discourse/plugins/discourse-calendar/discourse/templates/admin-plugins-calendar.hbs` sin usar `this`. Este comportamiento de retroceso ha sido obsoleto, todas las propiedades deben buscarse en `this` cuando se usan en la plantilla: {{this.loading}}
Al igual que con cualquier otra deprecación, aumentaremos lentamente la visibilidad de esta advertencia, hasta que finalmente eliminemos el shim de retrocompatibilidad. Tentativamente, tenemos como objetivo el segundo trimestre de 2025 para la eliminación final, pero ajustaremos eso en función de los datos del mundo real.
Actualización de tu código
Para temas/plugins pequeños, puedes actualizar las plantillas manualmente para agregar this. antes de cualquier nombre de propiedad.
Para facilitar la transición a temas/plugins más grandes, hemos introducido una nueva regla de ember-template-lint que incluye un reparador automático.
Por lo tanto, si utilizas la última versión de nuestra configuración de linting estándar (según el esqueleto del plugin y el esqueleto del tema), todo el código afectado se actualizará automáticamente la próxima vez que ejecutes ember-template-lint --fix.
Si tienes alguna pregunta/preocupación, ¡háznoslo saber a continuación!