| Age | Commit message (Collapse) | Author |
|
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
|
|
|
|
Fix Naming/VariableNames in comment renderer
Fix Naming/VariableNames in helpers/utils
Fix Naming/VariableNames in api/v1/misc.cr
|
|
|
|
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
|
|
This PR removes API keys from innertube requests, as the official clients
did it too.
|
|
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 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The HTTP::Client created via `make_client` is affected by the
force_resolve configuration option. However, api.invidious.io
does not support ipv6 and as such any request with ipv6 to
api.invidious.io will instead raise.
Directly calling the HTTP::Client will ignore the force_resolve option
allowing requests to go through ipv4 when needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"Temporary" fix, until a better and more permanent solution is found.
Closes issue 4584
|
|
Trending music was returning less than 24 videos which was getting
filtered out. Since multiple categories only appears on the default
trending page, we don't need to do that filtering for Music, Gaming or movies.
Closes issue 4596
|
|
Before this PR, the bitrate was only returned for the 'adaptiveFormats'.
They are now also returned the 'formatStreams'.
No linked issue
|
|
The new comment format is similar to the description's commandRuns.
This should fix the issues with most comments but there are still
some more changes that would need to be made like adding support for
formatting (bold, italic, underline) and channel emojis.
Fixes issue 4566
|
|
Also fixes the build on nightly as the offending code was removed.
Related to
https://github.com/iv-org/invidious/pull/4270#issuecomment-1858876952
|
|
Returns the 'isPostLiveDvr' field in the videos API when the video
is a post-live DVR (= ended livestream that hasn't been reprocessed
into VOD yet).
Example taken 10 minutes after that livestream ended:
/api/v1/videos/euqnWk-uP6M
{
...
"isPostLiveDvr": true,
...
}
Partially fixes 4421
|
|
Closes 3323
|
|
YouTube added a new format for like data in December 2023.
This PR adds support for parsing saod new format.
Related: LuanRT/YouTube.js issue 557
Closes 4419
|
|
Before this PR, Invidious assumed that fetching the DASH manifest from
YouTube will always be successful and didn't check the status code.
That meant that if YouTube gave a rate-limiting page, invidious would
return an HTTP 200 response with the 'application/dash+xml' Content-Type
header and the YouTube ratelimiting page as the body.
No associated issue
|
|
Example from an auto generated channel (Minecraft - Topic):
/api/v1/channels/UCQvWX73GQygcwXOTSf_VDVg
{
...
"tags":[
"Video game","Indie game","Xbox One","New Nintendo 3DS",
"PS3","Nintendo Switch","Wii U","Fire OS",
"Mac operating systems","Apple TV","Xbox 360",
"PlayStation Vita","PS4","Windows","Linux","Nintendo 3DS",
"iOS","Windows Phone","iPadOS","Java","Android","tvOS",
"ChromeOS"
]
...
}
Example from another channel (Mr Beast):
/api/v1/channels/UCX6OQ3DkcsbYNE6H8uQQuVA
{
...
"tags":["mrbeast6000","beast","mrbeast","Mr.Beast","mr"]
...
}
No associated issue
|
|
|