Спасибо всем!
Я определил, что виноваты следующие плагины, отвечающие за отправку пуш-уведомлений Discourse на iPhone (где стандартный способ Discourse не работает): это GitHub - featheredtoast/discourse-pushover-notifications: Pushover notifications for Discourse · GitHub от @featheredtoast, а также мой GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app · GitHub. Код Ember в обоих плагинах идентичен и очень прост: всего несколько дополнительных полей в админ-панели и одно дополнительное поле в профиле пользователя, с проверками на то, активны ли пуш-уведомления уже или нет. Поскольку отключение переключателя EMBER_VERSION означает, что я не вижу никаких предупреждений об устаревании или сообщений об ошибках, которые могли бы помочь мне сузить круг поиска и понять, какая из этих нескольких строк вызывает проблему, я обратился за советом к Github Copilot о том, что могло измениться между Ember 3 и Ember 5, и теперь пробую предложенные варианты. Если у вас есть идеи, я готов их выслушать.
Позвольте мне ещё раз подчеркнуть: именно так не следует внедрять изменения, ломающие совместимость, и я глубоко разочарован в Discourse. Несколько политик, идущих вразрез со здравым смыслом:
- по умолчанию ставить на версию tests-passed, а не на LTS, что делает невозможным использование LTS для нетехнических пользователей;
- усугубляя это, даже не упоминать в официальном руководстве по установке возможность перехода на более стабильную версию; об этом знают только участники форума, которые, предположительно, меньше нуждаются в этом;
- делать невозможным откат к предыдущей, рабочей версии;
- усугубляя это ещё и тем, что гарантировать обратную совместимость проекта менее двух месяцев, намеренно убрав флаг EMBER_VERSION. В других проектах обратная совместимость составляет год, и это проекты, где также возможен откат к старым версиям.