I’ve done more research on this; I now think I understand how you reached this conclusion logically, but I think that your PR #24294 should be rolled back.
Embedded topics are normally created by users browsing
The embedded topics feature of Discourse has very little documentation. This is it. Embed Discourse comments on another website via Javascript In that documentation, it describes how you could integrate Discourse into any blog, without a WordPress plugin.
In the implementation that Discourse recommends, merely visiting a blog post would automatically create a topic for that post on Discourse.
Since the blog might well have hundreds of posts, that would mean that user visitors might automatically create hundreds of empty topic threads just by browsing the blog, which would effectively spam the forum. That’s why embed unlisted
is true by default, to ensure that blog readers don’t automatically create hundreds of empty topics.
WordPress topics can be created by the blog owner clicking Publish, which is totally different
In the WP plugin, there’s a box you can check to “Publish” blog posts to the forum at the same time as the posts are published to WordPress.
When the blog owner clicks Publish, we want a forum topic to be created and listed. That’s why the “Publish unlisted” setting was created in the WP Plugin as a _separate_setting, not honoring the embed unlisted
setting.
You could imagine the WP plugin just not having a Publish feature at all. The blog owner would publish a blog post, then view the blog post; viewing the post (as a user) would create a topic on the forum, unlisted. Then the blog owner could navigate to the forum and manually click on the embedded topic to make it visible.
But that’s annoying/confusing when, as the blog owner, I really do want a listed, visible topic to appear on the forum, i.e. when I want to cross-publish the blog post to the forum.
That’s why the WP plugin had a separate setting, to override and punch through the embed unlisted
setting and really, truly, cross-post to the forum.
Having a separate setting for Publishing was not a quirk of history
I think what happened here is that you asked, “does anybody know why the WP plugin doesn’t honor the embed unlisted
feature?” and nobody happened to be able to remember why.
But I hope I’ve shown why that feature existed. It was by design, and now it’s broken.
It really sucks that embedded unlisted topics have to exist at all
As many, many people have said, it’s weird that end users can create a topic on Discourse just by reading a blog post.
Ideally, publicly listed embedded topics would be created when the blog owner Publishes the post. Then, users could reply to those topics normally.
But if the blog post was published without creating a topic, then it still makes no sense to create the topic when the user views a blog post. Instead, the embedded topic should be created when someone replies to the blog post.
Creating unlisted embedded topics is a hack to simulate that behavior. The unlisted topics get automatically listed when someone replies.