A incorporação de vídeos regulares do Youtube funciona.
Eu não encontro este problema no try.discourse ou no meta.
Eu suponho que venha de uma configuração do site não configurada corretamente.
O oneboxing do YouTube é algo que criamos personalizando. Alguém precisa enviar um pr-welcome para adicionar compatibilidade com Shorts. Movendo para Contribute > Feature.
Enquanto isso, você sempre pode adicionar manualmente a URL do iframe na configuração do site allowed iframes:
Você poderia me dizer qual URL devo adicionar aos iframes permitidos para que o vídeo seja exibido como você fez? Isso resolveria perfeitamente o problema por enquanto, mesmo que seja realmente alto.
Quanto à altura do vídeo, é possível torná-lo menos alto definindo uma max-height com CSS no iframe. O problema é que o iframe não possui nenhum atributo que especifique que é um vídeo curto (vertical).
Mas então, o que devo fazer para que o vídeo apareça?
Se eu escrever na minha postagem https://www.youtube.com/shorts/SWeTMdyv50Q, não funcionará.
Se eu escrever <iframe>https://www.youtube.com/shorts/SWeTMdyv50Q</iframe>, não funcionará.
Se eu escrever https://www.youtube.com/embed/SWeTMdyv50Q, funcionará, mas exibirá o vídeo curto com a proporção padrão de vídeo do YouTube (o que está bom para mim, embora eu preferisse ter outra proporção e não ter que escrever manualmente “embed” no URL):
Clique com o botão direito em um vídeo do Shorts e selecione “Copiar código incorporado”. Era isso que eu queria dizer com “código incorporado manual”, desculpe por não ter sido claro.
Além disso, substituir /shorts/ por watch?v=, a URL padrão de um vídeo do YouTube, funciona.
Portanto, no YouTube, em https://www.youtube.com/shorts/SWeTMdyv50Q, clicar com o botão direito → Copiar URL do vídeo funcionará, pois retorna https://youtu.be/SWeTMdyv50Q, que é exibido corretamente no Discourse (embora com a proporção larga normal).
Eu consegui, embora eu possa ter estragado um pouco meu pull request porque, por algum motivo, ainda não estou acostumado com o GitHub… Eu realmente preciso ler o manual (e, um amigo me diz, criar branches do meu fork do Discourse…).
Apenas para informação, acabei de editar o arquivo lib\\onebox\\engine\\youtube_onebox.rb para adicionar
# https://www.youtube.com/shorts/wi2jAtpBl0Y
if uri.path["/shorts/"]
id ||= uri.path[/\\/shorts\\/([\\w\\-]+)/, 1]
end
As pessoas geralmente copiam e colam o link do YouTube da barra de endereços.
Agora o YouTube tem um novo URL /shorts/, as pessoas copiarão e colarão esses links /shorts/ e eles ainda não são suportados pelo oneboxing do YouTube.
Os links /embed/ são, mas exigem que o usuário realmente procure no YouTube o URL de incorporação, o que praticamente ninguém faz
Estou apenas imaginando se seria um trabalho mais fácil apenas mudar essa URL? Porque youtube.com/shorts/something é totalmente igual a youtube.com/embed/something, e com /embed/ o oneboxing/embedding funciona muito bem aqui.\n\nhttps://youtube.com/shorts/aQFdwUeZxkA não funciona:\n\nhttps://youtube.com/shorts/aQFdwUeZxkA?feature=share\n\nMashttps://youtube.com/embed/aQFdwUeZxkA funciona:\n\nYouTube
Ainda não te entendi. Quem mudaria a URL? O postador? Mas o postador não quer reescrever manualmente parte de uma URL (eles nem saberão por que o vídeo não é incorporado), eles apenas querem copiar e colar, e pronto, funciona.
Editar: ou você quer dizer que o código Oneboxing do Discourse substituiria /shorts/ por /embed/?
it \"pode analisar resultados do youtube shorts\" do
preview = expect(Onebox.preview('https://www.youtube.com/watch?v=wi2jAtpBl0Y').placeholder_html)
preview.to match(/reacts/)
preview.to match(/hqdefault/)
end
E também adicionei isto no início do arquivo, em before do: