textcaptcha.com seems to be down since April and it does not appear that
service will be restored.
Text captchas can be easily automated using free LLMs, so keeping the
text captcha is more like a gate to create accounts in mass on public
Invidious instances.
It also gives headaches like bots automating account creation to modify
the videos that appear popular page of each instance (since the popular
page is based on the subscriptions of the registered users).
Fixes https://github.com/iv-org/invidious/issues/5295
textcaptcha.com seems to be down since April and it does not appear that service will be restored.
Text captchas can be easily automated using free LLMs, so keeping the text captcha is more like a gate to create accounts in mass on public Invidious instances.
It also gives headaches like bots automating account creation to modify the videos that appear popular page of each instance (since the popular page is based on the subscriptions of the registered users).
This commit automates the process of documenting the licenses of
Invidious Javascript files through a compile time macro in the
licenses.ecr template file.
This should hopefully help keep the license documentation up-to-date
and allow extensions like LibreJS to always be able to load the latest
Javascript files of Invidious.
Currently only Invidious's first-party Javascript files are supported.
In the future it should be possible to leverage videojs-dependencies.yml
to automatically document the Javascript licenses for
VideoJS and co. as well.
Fixes https://github.com/iv-org/invidious/issues/5142
add reason why extra_media_csp is after reading user preferences from the database and cookies
set media-src after loading database user preferences
Fixes https://github.com/iv-org/invidious/issues/5095
On some videos, `label` is missing from the video information. Invidious
assumed that the `label` key existed.
Videos with label have this inside `metadataBadgeRenderer`:
```
{"style" => "BADGE_STYLE_TYPE_SIMPLE",
"label" => "4K",
"trackingParams" => "COMDENwwGAoiEwiCrebe6JWNAxWIxz8EHSQRFTU="}
```
but other videos, for some reason, look like this:
```
{"icon" => {"iconType" => "PERSON_RADAR"},
"style" => "BADGE_STYLE_TYPE_SIMPLE",
"trackingParams" => "CM4DENwwGAsiEwiCrebe6JWNAxWIxz8EHSQRFTU="}
```