embedly / player.js

Control embedded video and audio across multiple providers
playerjs.io
BSD 3-Clause "New" or "Revised" License
534 stars 178 forks source link

embedly widgets media.html broken for Patreon creators using dailymotion #98

Open morganga opened 1 year ago

morganga commented 1 year ago

There's a bug in the CDN resource https://cdn.embedly.com/widgets/media.html

The bug can be reproduced in your own embed demo on your own website: https://embed.ly/docs/explore/oembed?url=https%3A%2F%2Fwww.dailymotion.com%2Fvideo%2Fx8mqxrj

Notice the html section contains an iframe, but to the right, there is no embedded video. the console logs an error in media.html here: ERROR: Cannot read properties of null (reading '1') LINE in media.html: var b = this.re.exec(this.data.html)[1];

where this.re is the regex /www.dailymotion.com\/embed\/video\/(.*)/ and this.data.html is https://geo.dailymotion.com/player.html?video=x8mqxrj? as you can see this.data.html doesn't match the expected format in the regex, and it fails to extract the video id.

A simple fix to this is to also try the regex /dailymotion.com\/player.html\?video=([^?&]*)/ to extract the video id.

PLEASE can you implement this fix on the https://cdn.embedly.com/widgets/media.html resource, or point me in the right direction to fix this resource myself.

This bug is breaking dailymotion videos embedded in Patreon, and has been live for weeks!!! I'm a patron of multiple creators, and this is disrupting their regular posting.

Please fix this or allow me to fix this.

adamtaylor13 commented 8 months ago

Seconding that we've discovered an issue related to this in our application as well! We're receiving a 403 on a request to https://cdn.embedly.com/widgets/media.html. Interestingly, if I'm signed into our company's embedly account, it works without any issue. However, if I try it in a context without any authentication it fails with a 403 AccessDenied error and literally no error message about what went wrong or how to fix it. Keep in mind we use this exact same route for tens of thousands of other embeds with no issues whatsoever. It's just a few specific videos.