Обновление Ember: какой план по Mixins, конкретно bufferedProperty?

Я работаю над COMPATIBILITY: move thumbnail selector to Glimmer & new Component modal system by merefield · Pull Request #32 · merefield/discourse-tc-topic-list-previews · GitHub

Ранее я использовал bufferedProperty в контроллере модального окна, но теперь вынужден перейти к компоненту для поддержки новой архитектуры модальных окон на основе компонентов.

Однако, как мне кажется, мне всё ещё нужно использовать bufferedProperty (я обновляю значение в метаданных темы).

Это, однако, вызывает ошибку:

export default class AwesomeModalComponent extends Component.extend(
  bufferedProperty("model")
) {

… и я получаю TypeError: n.default.extend is not a function

Я нашёл несколько примеров такого паттерна, но только для контроллеров:

Будет полезно узнать, какой план действий здесь насчёт “TODO”.

Самый простой краткосрочный ответ: продолжайте использовать классический компонент для вашего модального окна (то есть не глиммер-компонент). Классические компоненты по-прежнему поддерживают миксины.

Приверженность классическому компоненту (то есть стратегии, описанной в Converting modals from legacy controllers to new DModal component API), обеспечит вам наиболее чистое обновление 1:1 от старой системы на основе контроллеров.

В долгосрочной перспективе нам предстоит найти альтернативы некоторым из наших основных миксинов. Но мы ещё не дошли до этого этапа.

Просто хотел поблагодарить и сообщить о результатах. Я использовал этот точный подход, и всё заработало — перенёс всё на Glimmer, за исключением самого модального окна, которое требовало Mixin.

Кстати, bufferedProperty выполняет довольно много магии и, кажется, не следует никаким стандартным правилам передачи изменений!