L’un des changements apportés à Discourse la semaine dernière environ a cassé mon plugin et je n’arrive pas à comprendre ce qui ne va pas ni comment le réparer. Le plugin fonctionne bien depuis des années jusqu’à présent.
Le plugin fait diverses choses, mais celle qui semble pertinente ici est l’ajout d’un bouton sur la page du profil utilisateur.
Maintenant, lorsque je visite cette page pour n’importe quel utilisateur, la majeure partie de la page ne s’affiche pas (y compris le bouton que mon plugin vise à ajouter) :
(Si je désactive le plugin via son bouton de paramètres, la page s’affiche correctement.)
La console Javascript de Chrome affiche l’exception et la trace de la pile suivantes à chaque actualisation de cette page :
Je ne sais pas quoi penser de cette erreur car ce n’est pas mon code, et le t qui est not a function n’est pas sur la ligne, ni quoi que ce soit à proximité, d’où provient l’exception. C’est assez déroutant. Mais je ne suis pas un expert en JS, donc peut-être que je rate quelque chose ici.
En déboguant avec le débogueur Chrome, le problème se produit à cette ligne lors du traitement du template de mon plugin, mais je ne peux pas voir ce qui cause réellement le problème, ou si c’est dû à quelque chose que je dois changer/mettre à jour ou à un bug dans Discourse lui-même.
Le code JS du plugin et le template HBS qui, je pense, sont impliqués se trouvent dans mon connecteur user-profile-primary, que vous pouvez trouver ici :
Je ne sais pas avec certitude, mais il semblait que ces commits récents de Discourse pourraient potentiellement être impliqués :
- DEV: Remove `Ember.TEMPLATES` and centralize template resolution rule… · discourse/discourse@c139767 · GitHub
- DEV: Correct plugin-compilation connector template module path (#19165) · discourse/discourse@e330a59 · GitHub
Toute suggestion serait très appréciée !

