Ajuda com Embed: Impossível postar mensagem para [discourse]. O destinatário tem origem [mydomain]

Configurei um novo Discourse e estou tentando incorporar comentários em uma página de outro site.

Ao executar isso no Safari, recebo o seguinte erro no console de JavaScript:

Diretiva 'worker-src' do Content-Security-Policy não reconhecida.

A página incorporada exibe “Carregando discussão…” por cerca de 30 segundos.

Em seguida, vejo isso no console:

Diretiva 'worker-src' do Content-Security-Policy não reconhecida.
Diretiva 'worker-src' do Content-Security-Policy não reconhecida.
Não foi possível enviar mensagem para https://forum.nsscreencast.com. O destinatário tem origem https://nsscreencast.com.

Presumo que isso seja para que o iframe se redimensione automaticamente após o carregamento do conteúdo. Ao executar isso em um navegador baseado em Chromium, não recebo esse erro.

Há algo que precise ser configurado para fazer esse fluxo de postMessage funcionar no Safari?

Isso é algo que vamos corrigir em breve. Confiamos no referer para solicitações de incorporação a fim de verificar se são permitidas, mas mudanças recentes nos navegadores quebraram muitas de nossas suposições nessa área.

:+1: Obrigado pela resposta rápida. Há algo que eu possa fazer no meio tempo para contornar isso? Por exemplo, implementar algum JS personalizado no site de incorporação?

Quais são as configurações em /admin/customize/embedding?

Parece bem básico…

Está funcionando, no entanto, o primeiro post parece demorar para carregar e muitas vezes não atualiza sozinho. Depois disso, consigo ver “Iniciar Discussão” ou as respostas reais.

Configurações:

Nome de usuário: benscheirman
Máximo de posts para incorporar: 100
Expressão regular para remover do título: “- NSScreencast$”

Truncar: SIM
Tópicos importados ficarão ocultos até haver uma resposta: NÃO

Esse é exatamente o bug que temos, e ele ocorre devido a uma peculiaridade dos navegadores sobre como eles lidam com uma atualização em um iFrame usando uma tag no head, que tivemos que introduzir em https://github.com/discourse/discourse/pull/6645 para habilitar o CSP.

Portanto, a primeira pessoa que visitar um post de blog com comentários terá que atualizá-lo para ver o embed; todas as visitas subsequentes funcionarão. Já temos uma correção proposta e a fundiremos em algumas semanas.

Gostaria de fazer um acompanhamento sobre isso e verificar se essa correção foi mesclada. Caso contrário, você poderia linkar o PR aqui para que eu possa acompanhá-lo?

https://github.com/discourse/discourse/pull/13756