* checking the status code returned by youtube
* add documentation link
* Update src/invidious/yt_backend/youtube_api.cr
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
---------
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
Fijxu have been using it for more than 3 weeks on their instance and
they report that it works really well.
This only works if 'inv_sig_helper' itself crashes and restarts (via systemd
or docker restart policy) but it will not work if 'inv_sig_helper' hangs and
stops responding to invidious (but this is an issue with 'inv_sig_helper',
not Invidious).
Closes issue 4926
Theoretically this should improve memory usage and performance by quite a bit
as we aren't creating a new HTTP::Client and in a turn a new connection for
every image we request from YouTube.
Closes issue 4009
Use the proper URL argument when transforming youtu.be URLs to their
youtube.com equivalents.
Thanks to Tuhgy on the fediverse for reporting this!
No related issue
In Crystal, handling multi-byte sequences in UTF-8 requires understanding that
slicing by bytes can lead to invalid sequences if the slicing isn't aligned
with character boundaries. In this case, attempting to slice a string by bytes
can cut through multi-byte UTF-8 sequences, leading to invalid sequences.
To avoid this, strings should be sliced based on characters rather than bytes.
Fixes issue 4886
This PR makes it possible to display badges in the search results for third
party Invidious applications (ex: FreeTube)
See also: https://github.com/FreeTubeApp/FreeTube/pull/5590
No related issue
This PR adds the error message to the "search on Github" link located on
the crash page, so that the search bar is already filled and the issues
filtered when the user opens said link.
As seen with #4584 and other critical problems, duplicate issues end up
unnecessarily flooding the issue reports. While this change won't entirely
stop this behavior, this will help the user to easily identify if the error
they have received has been reported yet and discourage them from creating
a duplicate (hopefully...).
No associated issue was open
This PR adds a configuration option to control the preloading of video data on
page load with the HTML5 'preload'[1] attribute on the `<video>` element.
The option is enabled by default, meaning that the `preload` attribute's value
will be 'auto'. If users want to prevent preloading of video data, they
can disable the option, which will set the attribute value to 'none'.
[1](https://www.w3schools.com/tags/att_video_preload.asp)
Closes issue 4110
The automatic instance redirection implemented in #1940 fetches a new list of
instances each time someone queries the /redirect endpoint. This is extremely
inefficient...
This PR optimizes all that into a background job that only fetches a single
list every 30 minutes. This should performance quite a bit.
No related issue was opened.
* use WEB_CREATOR when po_token with WEB_EMBEDDED_PLAYER as a fallback
* remove unrelated comment
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
---------
Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
Before this PR, the comment/description content was not HTML escaped when 'parse_description()'
was called with a JSON object lacking the "commandRuns" entry.
Closes issue 4727
This PR:
* gets thumbnail and channel name from the initial request
* gets videos, shorts and streams via autogenerated channel playlists
Test Url: /channel/UCbfnHqxXs_K3kvaH-WlNlig
Closes issue 3513
The /api/v1/videos endpoint does not proxy the formatStreams URLs when
'local=true' is passed, whereas the adaptiveFormats URLs are correctly proxied.
The Web UI does proxy when clicking "Download" with 'fmt=18' for example, so
this is probably an oversight. This PR aims to fix that.
No related issue