Да, точно. «Auto» будет работать так же, как «enabled», если все установленные вами темы и плагины совместимы с обновлениями.
Если они не совместимы, то режим будет вести себя как «disabled», и в консоль браузера будет выведено сообщение с объяснением, какую тему или плагин нужно обновить.
Для наших официальных тем и плагинов мы обеспечили их совместимость одновременно как со старыми, так и с новыми реализациями списков тем, чтобы пользователи могли обновлять другие темы и плагины по одному, не беспокоясь о настройке сайта. Переключение реализации произойдет автоматически, как только последний плагин или тема будут готовы.
Однако обеспечение обратной совместимости требует гораздо больше работы, особенно в сложных случаях. Поэтому я понимаю, почему это было пропущено для topic-list-previews ![]()
Один из вариантов, который вы можете реализовать здесь, @robert, — добавить четкое сообщение об ошибке для пользователей. Например, что-то вроде:
import { withSilencedDeprecations } from "discourse/lib/deprecated";
...
withSilencedDeprecations("discourse.hbr-topic-list-overrides", () => {
api.modifyClass("component:topic-list", {
init(){
alert("topic-list-previews нельзя запускать вместе с другими темами или плагинами, несовместимыми с глиммерным списком тем. Подробнее см. https://meta.discourse.org/t/209973/521");
return this._super(...arguments);
}
});
});
Это позволит изменить старый список тем так, чтобы он выводил ошибку, если он рендерится во время работы topic-list-previews.