Einer der Änderungen an Discourse in der letzten Woche oder so hat mein Plugin beschädigt, und ich kann nicht herausfinden, was tatsächlich falsch ist oder wie ich es beheben kann. Das Plugin hat jahrelang einwandfrei funktioniert, bis zu diesem Zeitpunkt.
Das Plugin macht verschiedene Dinge, aber das hier scheint relevant zu sein: Es fügt der Benutzerprofilseite eine Schaltfläche hinzu.
Wenn ich diese Seite für einen beliebigen Benutzer besuche, wird der Großteil der Seite nicht gerendert (einschließlich der Schaltfläche, die mein Plugin hinzufügen soll):
(Wenn ich das Plugin über seine Einstellungs-Schaltfläche deaktiviere, wird die Seite korrekt gerendert.)
Die Javascript-Konsole in Chrome zeigt jedes Mal, wenn diese Seite aktualisiert wird, die folgende Ausnahme und den folgenden Stacktrace an:
Ich bin mir nicht sicher, was ich von diesem Fehler halten soll, da es nicht mein Code ist und das t, das not a function ist, nicht in der Zeile oder in deren Nähe steht, von der die Ausnahme ausgeht. Ziemlich verwirrend. Aber ich bin kein JS-Experte, vielleicht übersehe ich hier einfach etwas.
Beim Durchgehen mit dem Chrome-Debugger tritt das Problem in dieser Zeile auf, während mein Plugin-Template verarbeitet wird, aber ich kann nicht sehen, was tatsächlich das Problem verursacht oder ob es an etwas liegt, das ich ändern/aktualisieren muss, oder an einem Fehler in Discourse selbst.
Der Plugin-JS-Code und das HBS-Template, die meiner Meinung nach beteiligt sind, befinden sich in meinem user-profile-primary-Connector, der hier zu finden ist:
Ich weiß es nicht sicher, aber es schien, als könnten diese kürzlichen Discourse-Commits möglicherweise beteiligt sein:
- 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
Jeder Vorschlag wäre sehr willkommen!

