맞아요, 정확합니다. 설치된 모든 테마와 플러그인이 업그레이드와 호환되는 경우 "Auto"는 "enabled"와 동일한 동작을 합니다.
호환되지 않는 경우, "disabled"처럼 작동하며, 어떤 테마/플러그인이 업그레이드되어야 하는지를 설명하는 메시지가 브라우저 콘솔에 출력됩니다.
공식 테마/플러그인의 경우, 사이트 설정에 대해 걱정하지 않고 다른 테마와 플러그인을 하나씩 업그레이드할 수 있도록 구버전과 신버전의 topic-list 구현 방식 모두와 동시에 호환되도록 제작했습니다. 마지막 테마/플러그인이 준비되면 구현 방식 전환이 자동으로 이루어집니다.
하지만, 특히 복잡한 경우를 포함하여 하위 호환성을 확보하는 것은 훨씬 더 많은 작업이 필요합니다. 그래서 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는 glimmer topic list와 호환되지 않는 다른 테마/플러그인과 함께 실행할 수 없습니다. 자세한 내용은 https://meta.discourse.org/t/209973/521 를 참조하세요.");
return this._super(...arguments);
}
});
});
이 코드는 topic-list-previews가 실행 중일 때 구버전 topic list가 렌더링되면 오류를 표시하도록 수정합니다.