Одно из изменений в Discourse за последнюю неделю или около того сломало мой плагин, и я не могу понять, в чём именно проблема и как её исправить. Плагин работал безупречно годами, пока не случилось это.
Плагин выполняет различные задачи, но та, которая кажется здесь наиболее релевантной, — это добавление кнопки на страницу профиля пользователя.
Теперь, когда я захожу на эту страницу для любого пользователя, большая часть страницы не отображается (включая кнопку, которую мой плагин должен добавить):
(Если я отключаю плагин через его кнопку «Настройки», страница отображается корректно.)
Консоль JavaScript в Chrome показывает следующее исключение и трассировку стека каждый раз при обновлении этой страницы:
Я не совсем понимаю эту ошибку, так как это не мой код, а t, которая «не является функцией», не находится на строке, где возникает исключение, или рядом с ней. Это довольно запутанно. Но я не эксперт по JS, возможно, я просто что-то упускаю.
При пошаговом выполнении в отладчике Chrome проблема возникает на этой строке во время обработки шаблона моего плагина, но я не вижу, что именно вызывает проблему: нужно ли мне что-то изменить или обновить, или это ошибка в самом Discourse.
Код JS плагина и шаблон HBS, которые, как я полагаю, вовлечены, находятся в моём коннекторе user-profile-primary, который можно найти здесь:
Я не уверен точно, но мне казалось, что, возможно, эти последние коммиты Discourse могли быть вовлечены:
- 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
Любые предложения будут очень кстати!

