He tenido que depurar estos problemas de esta manera un par de veces y es complicado, así que ten paciencia.
Ejecuta el siguiente script y comparte la salida aquí
# Reemplaza con el ID o URL del tema que estás depurando
topic_id = 386983
# 1. Comprueba si TopicEmbed existe y su contenido
te = TopicEmbed.find_by(topic_id: topic_id)
puts "TopicEmbed existe: #{te.present?}"
puts "URL del Embed: #{te&.embed_url}"
puts "Caché de contenido presente: #{te&.embed_content_cache.present?}"
puts "Longitud de la caché de contenido: #{te&.embed_content_cache&.length || 0}"
puts "SHA1 del contenido: #{te&.content_sha1}"
# 2. Comprueba el contenido en caché real (primeros 500 caracteres)
puts "\n--- Vista previa del contenido en caché ---"
puts te&.embed_content_cache&.truncate(500)
# 3. Intenta obtener desde la URL remota
if te&.embed_url.present?
puts "\n--- Intentando obtener de forma remota ---"
begin
response = TopicEmbed.find_remote(te.embed_url)
puts "Obtención remota exitosa: #{response.present?}"
puts "Cuerpo remoto presente: #{response&.body.present?}"
puts "Longitud del cuerpo remoto: #{response&.body&.length || 0}"
puts "Título remoto: #{response&.title}"
puts "Cuerpo remoto: #{response&.body&.truncate(500)}"
rescue => e
puts "Obtención remota FALLIDA: #{e.message}"
end
end
# 4. Comprueba lo que devolvería expanded_for
if te.present?
puts "\n--- Probando expanded_for ---"
post = Post.find(te.post_id)
# Limpia la caché para forzar una nueva obtención
Discourse.cache.delete("embed-topic:#{topic_id}")
begin
expanded = TopicEmbed.expanded_for(post)
puts "Contenido expandido presente: #{expanded.present?}"
puts "Longitud del contenido expandido: #{expanded&.length || 0}"
rescue => e
puts "expanded_for FALLIDO: #{e.message}"
end
end
# 5. Comprueba la configuración del sitio
puts "\n--- Configuración del sitio ---"
puts "embed_truncate: #{SiteSetting.embed_truncate}"
puts "allowed_embed_selectors: #{SiteSetting.allowed_embed_selectors}"
puts "blocked_embed_selectors: #{SiteSetting.blocked_embed_selectors}"
Esto mostrará por qué https://tecnoblog.net/comunidade/t/governo-renova-app-da-cnh-para-baratear-obtencao-do-documento/157462?u=falco está fallando