Когда вы пытаетесь создать превью для ссылки на YouTube, YouTube автоматически перенаправляет на страницу с именем consent.youtube.com. На этой странице отсутствуют теги oEmbed/OpenGraph, поэтому создание превью, к сожалению, не работает.
Это, безусловно, не ошибка Discourse, а связано с (как кажется) изменением на стороне YouTube, которое нарушает работу. Я подозреваю, что это происходит из-за нового европейского регулирования, так как на meta я не могу воспроизвести эту проблему.
Наш сервер находится в Европе (Германия), и вы можете увидеть URL перенаправления здесь.
Я заходил сюда вчера вечером, чтобы сообщить об этой же проблеме, так как она тоже у нас в последнее время происходит, но когда я вставил свой пример ссылки YouTube, здесь на Meta всё сработало отлично
Проблема связана с «Формой согласия на обработку данных»: OneBox перехватывает именно её, а не фактический контент.
Если вместо https://youtube.com/watch?v=XYZ использовать https://youtu.be/XYZ, всё заработает, так как это «ссылка для обмена», которая не вызывает диалог согласия. (Однако это не идеальное решение).
Возможно, в качестве быстрого исправления стоит добавить функцию автоматического преобразования URL в «короткую версию» при создании превью в OneBox? Не уверен, просто предоставляю дополнительную информацию и обратную связь.
Поскольку наше сообщество активно использует медиа, его участники поделились тысячами и тысячами видеороликов на YouTube, при этом ежемесячно публикуется несколько сотен новых видео.
Это изменение со стороны YouTube уже становится серьёзной проблемой, но я не думаю, что её можно решить силами Discourse, если сам YouTube принуждает к перенаправлению на свою страницу согласия?
Итак, если бы Discourse переписывал URL так, как вы описываете, во время обработки поста, это бы исправило проблему?
Если это так, то плагин мог бы это исправить (возможно, даже компонент темы?), и я предполагаю, что они с радостью примут pull-запрос и/или исправят это довольно быстро.
Просто это кажется очень «смешным», потому что работают оба варианта: https://youtu.be/VIDEO и удаление «www» из обычного URL, то есть https://youtube.com/watch?v=VIDEO. Таким образом, критерии «блокировки» с всплывающим окном согласия не выглядят очень «логичными» с точки зрения пользователя.
Не могли бы вы ещё раз проверить эти URL? Вот что я сейчас вижу с сервера во Франкфурте (вывод wget отредактирован, чтобы показать только перенаправления):