はい、その通りです。「自動」は「有効」と同じになります。インストールされているすべてのテーマとプラグインがアップグレードと互換性がある場合。
互換性がない場合、「無効」のように動作し、どのテーマ/プラグインをアップグレードする必要があるかを説明するメッセージがブラウザコンソールに出力されます。
公式テーマ/プラグインについては、古いトピックリストの実装と新しいトピックリストの実装の両方と同時に互換性を持たせたため、サイトの設定を気にする必要なく、他のテーマやプラグインを1つずつアップグレードできます。実装の切り替えは、最後のテーマ/プラグインが準備できたときに自動的に行われます。
しかし、後方互換性を確保するには、特に複雑なケースでは多くの作業が必要です。そのため、topic-list-previews でこれがスキップされた理由がわかります ![]()
ここでできることの1つは、@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 が実行されている間にレンダリングされた場合にエラーを発生させるように、古いトピックリストが変更されます。