# frozen_string_literal: true require "onebox" class Onebox::Engine::YoutubeOnebox include Onebox::Engine alias_method :default_onebox_to_html, :to_html def to_html if SiteSetting.lazy_videos_enabled && SiteSetting.lazy_youtube_enabled && video_id && !params["list"] result = parse_embed_response result ||= get_opengraph.data thumbnail_url = "https://img.youtube.com/vi/#{video_id}/maxresdefault.jpg" begin Onebox::Helpers.fetch_response(thumbnail_url) rescue StandardError thumbnail_url = result[:image] end escaped_title = ERB::Util.html_escape(video_title) escaped_start_time = ERB::Util.html_escape(params["t"] || 0) <<~HTML
HTML else default_onebox_to_html end end end