Изменение отслеживания компонентов Glimmer не работает: мутация свойств в массиве @tracked

Хм, это странно. Обычно трюк с присваиванием массива работает.

Альтернатива, которую я нашел, — сделать объекты в массиве экземплярами класса с собственными отслеживаемыми свойствами. Например:

class CustomSidebarItem {
  @tracked expanded = false;
  constructor(id, label) {
    this.id = id;
    this.label = label;
  }
}

export default class CustomSidebarComponent extends Component {

  @tracked items = [
    new CustomSidebarItem('home', 'Home'),
    new CustomSidebarItem('my-posts', 'My Posts'),
    ...
  ];
  // остальной код
}

Это может быть более многословно, чем создание множества простых объектов, но, как я заметил, так проще расширять функционал и понимать логику, особенно если нужно передавать данные во вложенные компоненты.