주제 목록 미리보기 (TLP)

맞아요, 정확합니다. 설치된 모든 테마와 플러그인이 업그레이드와 호환되는 경우 "Auto"는 "enabled"와 동일한 동작을 합니다.

호환되지 않는 경우, "disabled"처럼 작동하며, 어떤 테마/플러그인이 업그레이드되어야 하는지를 설명하는 메시지가 브라우저 콘솔에 출력됩니다.

공식 테마/플러그인의 경우, 사이트 설정에 대해 걱정하지 않고 다른 테마와 플러그인을 하나씩 업그레이드할 수 있도록 구버전과 신버전의 topic-list 구현 방식 모두와 동시에 호환되도록 제작했습니다. 마지막 테마/플러그인이 준비되면 구현 방식 전환이 자동으로 이루어집니다.

하지만, 특히 복잡한 경우를 포함하여 하위 호환성을 확보하는 것은 훨씬 더 많은 작업이 필요합니다. 그래서 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는 glimmer topic list와 호환되지 않는 다른 테마/플러그인과 함께 실행할 수 없습니다. 자세한 내용은 https://meta.discourse.org/t/209973/521 를 참조하세요.");
        return this._super(...arguments);
      }
    });
  });

이 코드는 topic-list-previews가 실행 중일 때 구버전 topic list가 렌더링되면 오류를 표시하도록 수정합니다.

5개의 좋아요