Превью YouTube не отображается в списке тем, например, для темы Fakebook или плагина TLP.
Шаги воспроизведения:
Опубликовать видео с YouTube, переключиться на тему Fakebook — превью не появляется.
Временное решение:
Пересобрать пост, и превью появится. Однако, учитывая, что пользователи ожидают немедленного отображения превью без вмешательства поддержки, это не лучший вариант.
Дополнительная информация:
Topic.image_url кажется равным nil.
Проблема возникла недавно, после начала августа… Кажется, что до 5 августа всё работало (но точно не знаю, когда именно сломалось). Я заметил, что это примерно совпадает с выходом новой версии Onebox…
Я протестировал это на предыдущей сборке, и проблема отсутствовала, что исключает ошибки в ответах Open Graph от YouTube. Также тема Fakebook демонстрирует то же поведение, что и плагин TLP, что исключает плагин TLP. Поэтому я подозреваю, что это недавняя регрессия в Discourse или Onebox.
Это реальная проблема для пользователей предпросмотра списков тем.
@nbianca почему мы больше не используем здесь метод post.post_analyzer.found_oneboxes??
Все onebox, использующие либо oembed, либо iframe, не будут работать с новым режимом селекторов CSS, и это также приводит к тому, что наш детектор onebox работает по-разному в разных частях кодовой базы.
Проблема заключалась в том, что First Onebox присваивался любой размещённой ссылке, независимо от того, была она Onebox или нет. Это происходит потому, что PrettyText добавляет class="onebox" ко всем ссылкам, а затем Oneboxer пытается разобрать все ссылки с классом onebox.
Внесённое мной изменение проверяет, есть ли в итоговом документе какие-либо Oneboxes (Oneboxes — это элементы aside с классом onebox). Я ещё раз изучу ситуацию, чтобы понять, что именно и почему сломалось, и вернусь с изменением, которое исправит обе проблемы.
Я только что протестировал v2.3.2, и похоже, что ссылки на YouTube не устанавливают атрибут image_url темы. Причина в том, что изображение извлекается из атрибута src тега img, но при ссылке на видео YouTube используется <div> с CSS-атрибутом background-image.
Очень странно, что бисекция обнаружила изменение в cooked_post_processor… Я перепроверю и отменю это.Да, подтверждено:С этим коммитом происходит сбой: 7c83d2eeb261ac676a8320e6a704752c56fd242eС предыдущим коммитом всё в порядке: 922c40f87cdceb8197dd61361334e0def23f13d5