El problema también aparece en algunos sitios para adultos donde los miembros intentaban compartir enlaces; hice una prueba rápida pegando varios enlaces de video de diferentes lugares y varios de los principales sitios para adultos tampoco funcionan.
Esto parece ser un error relativamente grave, solo porque afecta la incrustación de videos de Facebook. A mis miembros (menos expertos en tecnología) les gusta compartir enlaces a cosas en Facebook, en parte porque es muy popular y universal. Además, si alguien publica esa URL en un mensaje, se analiza y se convierte en algo que no funciona, y la URL original desaparece. Así que ni siquiera puedes acceder a esa URL si quisieras… ya no está disponible en absoluto.
Entonces… ¿es posible decirle a Discourse que NO intente incrustar videos automáticamente en esos dominios? Buscaba una configuración como «lista negra de URLs con estas palabras para evitar la incrustación de medios» donde pudiera agregar esos dominios. (O quizás una lista blanca de URLs aprobadas como YouTube y Vimeo, para prevenir problemas futuros con nuevos sitios.)
Si no es así, ¿hay una solución rápida que pueda aplicar en mis foros para ayudar?
Sí, diría que eso es crítico. Para mí no es un gran problema que Discourse no admita videos de Facebook. Lo que sí es un gran problema es cuando un miembro pega un enlace (algo muy común) y aparece un mensaje de error… y el enlace original desaparece. Tengo varios mensajes como este en mi foro ahora mismo. Nosotros, los administradores, los estamos arreglando manualmente a medida que los vemos, pero obviamente eso no es una buena solución.
Creo que esto es un error grave, solo porque Facebook (junto con otros sitios de videos con los que lo he probado) es extremadamente popular.
Me encantaría encontrar una solución rápida… avísame si puedo ayudar.
La solución más rápida aquí sería agregar www.facebook.com a la configuración: onebox domains blacklist. De esta manera, onebox no intentará incrustar videos de facebook.com.
El enlace de video anterior muestra el error: Bad URL timestamp.
Incluso el enlace en la etiqueta og:image muestra el mismo error.
No tenemos ninguna información para mostrar en el onebox de Facebook, excepto el título del video. Creo que deberíamos codificar manualmente el onebox para que ponga en la lista negra los enlaces de video de Facebook.
Por cierto, recuerden que esto ocurre en otros sitios además de Facebook; un miembro intentó publicar un enlace a una página de video en xvideos.com y también falló. (¡Advertencia de contenido para adultos! ¡Eso es DEFINITIVAMENTE un sitio para adultos!) Lo probé con algunos otros sitios y encontré lo mismo.
No creo que el enlace caduque, ya que la URL apunta básicamente a un plugin de Facebook que incrustará el video para cualquier enlace de video que pasemos en el parámetro href.
Ten en cuenta que el fallo de la caja de un solo video (onebox) generalmente indica que el error está en el sitio que intentas incrustar. En el caso de Facebook, se debía a que Facebook era demasiado restrictivo y permitía la reproducción de videos solo durante un tiempo determinado.
Solemos trabajar en torno a estos errores solo para sitios muy populares (por ejemplo: Instagram), para que la comunidad en general pueda beneficiarse. Si el sitio no es popular y necesitas incrustarlo en tu sitio, la forma recomendada es crear un plugin personalizado que añada un motor Onebox personalizado para ese sitio.
Hmm. ¿Existe alguna manera de poner en una lista blanca los dominios que onebox intentará incrustar? Si no es así, parece que tenemos esta situación:
Administro un foro comunitario donde los miembros suelen enlazar a sitios con videos. (Por supuesto, podrían ser cualquier sitio… no lo sabemos por ahora.)
Si un sitio tiene un error en su código que impide que la incrustación funcione, Discourse estropea la incrustación (feo), y lo que es peor, elimina la URL original para que otros no puedan ver lo que el OP intentaba compartir.
¿No parece que el paso 2 debería ser: “Si un sitio tiene un error en su código que impide que la incrustación funcione, Discourse deja de intentar incrustar y simplemente permite que el enlace pase a través?”
No puedo solucionar esto con la lista negra porque no sé qué dominios se ven afectados por esto y, por supuesto, cualquier sitio podría tener este problema en el futuro. Al igual que vimos aquí con Facebook.
Vale, está bien. No tengo una idea clara de cuán grave es el problema; gestionarlos manualmente es una excelente solución si no hay muchos dominios afectados.
Sigo pensando que Discourse debería manejar los datos externos malformados de una manera más elegante que “generar un mensaje de error gigante y eliminar el contenido más importante de la publicación original del OP”. Y creo que tú también lo piensas. Pero por ahora, la lista negra es una solución alternativa aceptable. Gracias.