Vimeo proporciona dos tipos de URL: enlaces directos (https://vimeo.com/508864124/fcbbcc92fa) y enlaces de incrustación (que se pueden usar en un iframe, pero no funcionarán si se hace clic directamente).
Cuando esto se envía como un correo electrónico de notificación, el enlace directo aparece correctamente, pero el iframe se reemplaza por un enlace con la URL incorrecta: https://vimeo.com/508864124?h=fcbbcc92fa en lugar de https://player.vimeo.com/video/508864124?h=fcbbcc92fa
Peor aún, si se agrega una barra inclinada final (válida) en la URL de incrustación, el ID del video se elimina en el correo electrónico: <iframe src="https://player.vimeo.com/video/508864124/?h=fcbbcc92fa" ...></iframe> se convierte en https://vimeo.com/?h=fcbbcc92fa
¿Hay alguna forma de evitar la conversión de iframe a URL por completo? Al igual que ya hacemos con las encuestas, dice algo como “Haz clic aquí para ver la encuesta”.
Complicado, tenemos algo de magia especial para modificar cómo reasignamos lo cocinado para que los procesos de correo electrónico se puedan limpiar, sin duda.
Por ahora, pondré un pr-welcome y consideraré una mayor priorización si esto surge algunas veces más.
[quote=“Nacho Caballero, post:1, topic:231042, username:Nacho_Caballero”]
¿Hay alguna forma de evitar la conversión de iframe a URL por completo? Al igual que ya hacemos con las encuestas, dice algo como “Haz clic aquí para ver la encuesta”.
[/quote]Gracias, Sam. ¿Se te ocurre alguna solución temporal para evitar que la gente vea la URL en el correo electrónico sin tener que ocultarla en una etiqueta [details]?
He enviado una PR para arreglarlo, creo que el problema estaba con el patrón regex. No capturaba correctamente vimeo cuando no era el tipo estándar. Por lo tanto, cambié el patrón regex en consecuencia.
Sí. El cambio de regex que hiciste hizo posible reconocer las URL de iframe src (https://player.vimeo.com/video/508864124?h=fcbbcc92fa), por lo que eso ya no es un problema. El problema está en el correo electrónico que se envía.
Si pegas una URL simple (https://vimeo.com/508864124/fcbbcc92fa), no hay problema. Solo es un problema con el iframe src (https://player.vimeo.com/video/508864124?h=fcbbcc92fa).
Actualmente lo hace.
Sí. Actualmente, el iframe src (https://player.vimeo.com/video/508864124?h=fcbbcc92fa) se convierte en esto: https://vimeo.com/508864124?h=fcbbcc92fa en lugar de esto: https://vimeo.com/508864124/fcbbcc92fa
Todavía me cuesta reproducirlo porque necesito tener una cuenta premium para tener videos no listados en Vimeo.
Además, creo que tu ejemplo de video anterior solo permite cargarlo desde ciertos dominios, ¿puedes permitir que mi instancia sandbox lo cargue también?: https://discuss.gsgapp.io.
De nuevo y para ser muy claro, no esperas que el video se reproduzca en el correo electrónico, sino que esperas que cuando la gente haga clic en la posición del video sea dirigida a la URL correcta. ¿Estoy en lo correcto?
Lo que sucede es que cuando pegas el código iframe de vainilla, podrías omitir el código onebox, y si lo omites, el código iframe resultante no tendrá data-original-href, que es el enlace que se usa en la plantilla de correo electrónico.
Y cuando falta data-original-href, Discourse intenta adivinar que el video es lo que sea que esté después de la última /, lo que por supuesto no cubre el caso de un video no listado.
Por ejemplo, si revisas las herramientas de desarrollador/inspeccionar elemento de tu navegador, el código iframe resultante al usar el código iframe de vainilla:
Así que nota el data-original-href="https://vimeo.com/508864124/fcbbcc92fa" adicional en la segunda salida, uno podría suponer que si ese atributo se usa con el iframe de vainilla, debería funcionar, pero probablemente no lo hace porque Discourse no te permite agregar ningún atributo que desees…
Creo que puedo sugerir una solución, y si bien me aseguré de que funcionara para el caso en que el video está listado/público, se me ocurrió este comportamiento inusual de Vimeo. Normalmente, todos los videos que son públicos siguen este patrón vimeo.com/{id}, sin embargo, funcionará si agregas una barra, es decir, vimeo.com/{id}/anything
Considera el siguiente ejemplo:
https://vimeo.com/767548129/estgsetgset
https://vimeo.com/767548129/hey-discurse
https://vimeo.com/767548129Lo normal
Todos los anteriores llevan al mismo video, por lo que la solución puede ser crear una URL a partir del src del iframe, vimeo.com/{lo que viene después de la primera barra}/{lo que viene de h=}. Esto hará que funcione para ambos casos.
En todos los casos, condujo a que el correo electrónico generara la URL correcta.
Pero de todos modos, por favor, intenta probar todas las demás variaciones posibles que puedas encontrar y, lo más importante, que no rompa otras cosas.
La forma en que probé la plantilla de correo electrónico fue enviarme un mensaje directo a mí mismo y luego revisar la bandeja de entrada del correo electrónico. (Dado que tengo dos cuentas registradas en https://discuss.gsgapp.io)