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.
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: