When visiting /api/v1/popular and popular endpoint is disabled
Before:
500 {"error":"Closed stream"}
After
403 {"error":"Administrator has disabled this endpoint."}
The current Content Security Policy does not allow to embed videos
inside local HTML files which are viewed in the browser via the file
protocol. This commit adds the file protocol to the allowed frame
ancestors, so that the embedded videos load correctly in local HTML
files.
This behaviour is consistent which how the official YouTube website
allows to embed videos from itself.
Closes issue 4448
Some opengraph implementations don't support a URL without the domain
therefore failing to fetch the video thumbnail and channel image.
This pull request basically fixes that.
The transcript logic in Invidious was written specifically as a workaround for
captions, and not transcripts as a feature.
This PR genericises the logic as so it can be used to implement transcripts
within Invidious.
The most notable change is the added parsing of section headings when it was
previously skipped over in favor of regular lines.
This PR changes the current master based container to use "master" tag instead
of "latest" tag and adds a new workflow to build a container on each new
release which has the "latest" tag, and a tag based on the current released
version.
Trying to watch an already watched video will make the video start 15
seconds before the end of the video. This is not very comfortable when
listening to music or watching/listening playlists over and over.
The transcript logic in Invidious was written specifically
as a workaround for captions, and not transcripts as a feature.
This commit genericises the logic a bit as so it can be used for
implementing transcripts within Invidious' API and UI as well.
The most notable change is the added parsing of section headings
when it was previously skipped over in favor of regular lines.
Invidious assumes that every playlist will have at least one video
because it needs to check for the `index` key. So if there is no videos
on a playlist, there is no `index` key and Invidious throws
`Index out of bounds`
Videos of a playlist cataloged as podcast are called episodes therefore
Invidious was not able to find `video` in the `text` value inside the
stats array.