トピックリストプレビュー (TLP)

Yup exactly. “Auto” will be the same as “enabled” if all your installed themes and plugins are compatible with the upgrades.

If they’re not compatible, then it will act like “disabled”, and a message will be printed to the browser console explaining which theme/plugin needs to be upgraded.

For our official themes/plugins, we’ve made them compatible with both old and new topic-list implementations simultaneously, so that people can upgrade other themes and plugins one-by-one without needing to worry about the site setting. The implementation switch will then happen automatically once the last theme/plugin is ready.

But, ensuring that backwards-compatibility is a lot more work, especially for complex cases. So I can see why it’s been skipped for topic-list-previews :+1:

One thing you could do here @robert is add a clear error for people? Something like

import { withSilencedDeprecations } from "discourse/lib/deprecated";

...

withSilencedDeprecations("discourse.hbr-topic-list-overrides", () => {
    api.modifyClass("component:topic-list", {
      init(){
        alert("topic-list-previews cannot be run alongside other themes/plugins which are incompatible with the glimmer topic list. See https://meta.discourse.org/t/209973/521 for details");
        return this._super(...arguments);
      }
    });
  });

That will modify the old topic list to pop an error if it’s rendered while topic-list-previews is running.

「いいね!」 5