Since the last update my embedding code for showing topics on our websites (where the embed generates a new topic in the forum for new content) has started listing all the topics as “Unlisted” vs. being listed (as it had been). We haven’t made any changes to the embed code nor to the setting that controls this in Discourse which is still unchecked and thus to not show them as unlisted.
Thanks yeah I found it. Maybe it’s just me but as there are some settings for the Embedding feature in the Customize tab, maybe this should have just gone there?
I got confused for a bit by the “Imported topics will be unlisted until there is a reply” embed setting and the import embed unlisted site setting. If I’m understanding the issue correctly:
import embed unlisted (site setting) will control the unlisted behavior of topics that have an embed_url property that are published to Discourse via the API
the “Imported topics will be unlisted until there is a reply” embed setting controls the unlisted behavior of topics that are pulled in via the Discourse embed script
If this is correct, what controls the unlisted behavior of topics that are pulled into Discourse via the RSS plugin?
Probably getting off topic, but since this has been moved to the UX category, there are a few site settings that control the behavior of embedded topics:
embed unlisted
embed set canonical url
import embed unlisted
embed truncate (mirrors the “Truncate the embedded posts” embed page setting)
allowed embed selectors
blocked embed selectors (a hidden site setting, but it’s useful, for example it’s used on Meta)
If these settings could be controlled per embeddable host, it might make sense to move them from the site settings page to the embedding page. Being able to configure them per host would allow more flexibility - especially for the allowed embed selectors and blocked embed selectors settings. This would also allow the import embed unlisted setting to be removed - there would be just one setting per domain that configured whether or not its topics were published as unlisted.
For dealing with topics published via the API, for example topics published with the WordPress plugin, an embeddable host record could be created for the domain the topics are published from. The embed settings could then be configured for that domain.
Taking this a bit further, an “expand embed” preview could be added for each embeddable host record. That would make it possible to test the host’s allowed embed selector setting. Currently, that’s almost impossible to do.