summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2024-08-13Update Persian translationHosted Weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Wireless Acquired <clcsdtxsl@proton.me>
2024-08-13Update Swedish translationHosted Weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
2024-08-13Update French translationHosted Weblate
Update French translation Update French translation Update French translation Co-authored-by: ABCraft19 <lesenfantsbergaoui@gmail.com> Co-authored-by: Duc-Thomas <duckiduc.dev@gmail.com> Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Patricio Carrau <duckycb@proton.me> Co-authored-by: Samantaz Fox <translator-weblate@samantaz.fr>
2024-08-13Update Dutch translationHosted Weblate
Update Dutch translation Co-authored-by: Dick Groskamp <dikgro@yahoo.co.uk> Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Martijn Westerink <martijn.westerink.86@gmail.com>
2024-08-13Update Serbian (cyrillic) translationHosted Weblate
Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Bulgarian translation Update German translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Jose Delvani <delvani.eletricista@gmail.com> Co-authored-by: Least Significant Bite <leastsignificantbite@proton.me> Co-authored-by: NEXI <nexiphotographer@gmail.com> Co-authored-by: Radoslav Lelchev <rlelchev@abv.bg> Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org> Co-authored-by: Unacceptium <unacceptium@proton.me> Co-authored-by: hiatsu0 <hietsu@gmail.com>
2024-08-13Update Serbian (cyrillic) translationHosted Weblate
Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Bulgarian translation Update German translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Jose Delvani <delvani.eletricista@gmail.com> Co-authored-by: Least Significant Bite <leastsignificantbite@proton.me> Co-authored-by: NEXI <nexiphotographer@gmail.com> Co-authored-by: Radoslav Lelchev <rlelchev@abv.bg> Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org> Co-authored-by: Unacceptium <unacceptium@proton.me> Co-authored-by: hiatsu0 <hietsu@gmail.com>
2024-08-13Update Icelandic translationHosted Weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
2024-08-13Update Portuguese translationHosted Weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Sergio Marques <so.boston.android@gmail.com>
2024-08-13Update Welsh translationHosted Weblate
Add Welsh translation Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: newidyn <grugallt@protonmail.ch>
2024-08-13Update Catalan translationHosted Weblate
Co-authored-by: Daniel <trikaphundo@users.noreply.hosted.weblate.org> Co-authored-by: Hosted Weblate <hosted@weblate.org>
2024-08-13Update Ukrainian translationHosted Weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
2024-08-13Update Serbian (cyrillic) translationHosted Weblate
Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Bulgarian translation Update German translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Jose Delvani <delvani.eletricista@gmail.com> Co-authored-by: Least Significant Bite <leastsignificantbite@proton.me> Co-authored-by: NEXI <nexiphotographer@gmail.com> Co-authored-by: Radoslav Lelchev <rlelchev@abv.bg> Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org> Co-authored-by: Unacceptium <unacceptium@proton.me> Co-authored-by: hiatsu0 <hietsu@gmail.com>
2024-08-13Update Russian translationHosted Weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Stepan <iam@amphetom.fun>
2024-08-13Update Greek translationHosted Weblate
Update Greek translation Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Open Contribution <open.alat4@slmail.me> Co-authored-by: mpt.c <open.alat4@slmail.me>
2024-08-13Update Serbian (cyrillic) translationHosted Weblate
Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Bulgarian translation Update German translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Jose Delvani <delvani.eletricista@gmail.com> Co-authored-by: Least Significant Bite <leastsignificantbite@proton.me> Co-authored-by: NEXI <nexiphotographer@gmail.com> Co-authored-by: Radoslav Lelchev <rlelchev@abv.bg> Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org> Co-authored-by: Unacceptium <unacceptium@proton.me> Co-authored-by: hiatsu0 <hietsu@gmail.com>
2024-08-13Update Serbian (cyrillic) translationHosted Weblate
Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Update Bulgarian translation Update German translation Update Serbian (cyrillic) translation Update Serbian translation Update Finnish translation Update Italian translation Update Hungarian translation Update Portuguese (Brazil) translation Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Jose Delvani <delvani.eletricista@gmail.com> Co-authored-by: Least Significant Bite <leastsignificantbite@proton.me> Co-authored-by: NEXI <nexiphotographer@gmail.com> Co-authored-by: Radoslav Lelchev <rlelchev@abv.bg> Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org> Co-authored-by: Unacceptium <unacceptium@proton.me> Co-authored-by: hiatsu0 <hietsu@gmail.com>
2024-08-13use docker compose instead of docker-compose for CIEmilien Devos
2024-08-11Ameba: Fix Lint/UselessAssign (#4795)Samantaz Fox
Related to issue 2231
2024-08-11HTML: Add rel="noreferrer noopener" to external links (#4667)Samantaz Fox
Note: Does not add rel="noreferrer noopener" to: * links in channel description * links in video descriptions * links in video comments Related to issue 4267
2024-08-11Remove unused methods in Invidious::LogHandler (#4812)Samantaz Fox
Closes issue 4791
2024-08-11Ameba: Fix Lint/NotNilAfterNoBang (#4796)Samantaz Fox
Related to issue 2231
2024-08-11Ameba: Fix unused argument Lint warnings (#4805)Samantaz Fox
Related to issue 2231
2024-08-11Ameba: i18next.cr fixes (#4806)Samantaz Fox
Related to issue 2231
2024-07-28Remove unused methods in `Invidious::LogHandler`syeopite
2024-07-27Merge pull request #4792 from syeopite/disable-ameba-rulessyeopite
Ameba: Disable rules
2024-07-25Ameba: Fix Naming/PredicateNamesyeopite
2024-07-24Ameba: Fix Naming/MethodNamessyeopite
2024-07-24Ameba: Fix Lint/HashDuplicatedKeysyeopite
2024-07-24Ameba: Fix Lint/UnusedBlockArgumentsyeopite
2024-07-24Ameba: Fix Lint/UnusedArgumentsyeopite
2024-07-24Ameba: undo Lint/NotNilAfterNoBang in signatures.crsyeopite
File is set to be removed with #4772
2024-07-21Channel: parse subscriber count and channel banner (#4785)Samantaz Fox
This PR adds support for parsing the newer channel header format (banner + subscription parsing) Before this change: * 0 subscribers * No banner image After this change: * Example with Mr Breast channel: 299M * Image banner is visible Closes issue 4783
2024-07-21Player: Fix playback position of already watched videos (#4731)Samantaz Fox
Trying to watch an already watched video will make the video start 15 seconds before the end. This is not very comfortable when listening to music or watching/listening playlists over and over. This can be easily tested on any instance with the "Save playback position" enabled in the Preferences. Closes issue 3976
2024-07-21Videos: Fix genre url being unusable (#4717)Samantaz Fox
Closes issue 4700
2024-07-21API: Fix out of bound error on empty playlists (#4696)Samantaz Fox
Before this PR, Invidious assumed that every playlist had at least one video. When a playlist had no videos, Invidious was throwing an "Index out of bounds" exception. The following API endpoints were impacted: * api/v1/playlists/:plid * api/v1/auth/playlists/:plid Fixes issue 4679
2024-07-21Handle playlists cataloged as Podcast (#4695)Samantaz Fox
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. Test case: "/playlist?list=PLDu-Eh5lUs1a4irCbnxMIB6FrUMaTXgVF" Fixes issue 4688
2024-07-21API: Fix duplicated query parameters in proxied video URLs (#4587)Samantaz Fox
This pull request fixes that bug that was causing the query parameters to get doubled in the streaming URLs when '?local=true' is passed to the '/api/v1/videos/{id}' API endpoint. Before: host/path?parameters?parameters After: host/path?parameters No associated open issue
2024-07-21API: Return actual stream height, width and fps (#4586)Samantaz Fox
At the moment Invidious will return hardcoded data for the 'size', 'qualityLabel' and 'fps' fields for streams, when such hardcoded data is available, otherwise it just omits those fields from the response (e.g. with the AV1 formats). Those issues are especially noticable when Invidious claims that 50fps streams have 60fps and when it claims that the dimensions for a vertical video are landscape. The DASH manifests that Invidious generates already use the correct information. This pull request corrects that issue by returning the information that YouTube provides instead of hardcoded values and also fixes the long standing bug of Invidious claiming that audio streams have 30 fps. Here are two test cases: 50/25/13fps: https://youtu.be/GbXYZwUigCM (/api/v1/videos/GbXYZwUigCM) vertical video: https://youtu.be/hxQwWEOOyU8 (/api/v1/videos/hxQwWEOOyU8) Originally these problems were going to be solved by the complete refactor of stream handling in 3620, but as that pull request got closed by the stale bot over a month ago and has such a massive scope that it would require a massive amount of work to complete it, I decided to open this pull request that takes a less radical approach of just fixing bugs instead of a full on refactoring. FreeTube generates it's own DASH manifests instead of using Invidious' one, so that it can support multiple audio tracks and HDR. Unfortunately due to the missing and inaccurate information in the API responses, FreeTube has to request the DASH manifest from Invidious to extract the height, width and fps. With this pull request FreeTube could rely just on the API response, saving that extra request to the Invidious instance. It would also make it possible for FreeTube to use the vp9 streams with Invidious, which would reduce the load on the video proxies. Closes issue 4131
2024-07-21Preferences: Fix handling of modified source code URL(#4437)Samantaz Fox
Before this PR, setting the modified code repo URL through the preferences page in Invidious was broken: * the HTML input tag for this field had invalid type "input" (though browser falls back on text input) * the URL was used to set the "checked" property and not as a plain value, which makes no sense for a text-based input (and resulted in a blank field) * when the submitted field is empty, the retrieved value was an empty 'String' instead of 'nil', causing the "modified source code URL" to be an empty 'href' link which just pointed to the current page No associated open issue
2024-07-21API: Fix URL for vtt subtitles (#4221)Samantaz Fox
For 'fmt=vtt' to work, the 'fmt' parameter needs to be replaced in the original caption api URL. No associated open issue
2024-07-17Exclude spec/parsers_helper from Lint/SpecFilenamesyeopite
False positive
2024-07-17Ameba: Fix Lint/UselessAssignsyeopite
2024-07-17Ameba: Disable Naming/BlockParameterNamesyeopite
2024-07-15Ameba: Fix Lint/NotNilAfterNoBangsyeopite
2024-07-11Disable Naming/AccessorMethodName rulesyeopite
Most cases of Naming/AccessorMethodName are false positives
2024-07-11Disable Documentation/DocumentationAdmonition rulesyeopite
2024-07-11Fix typosyeopite
2024-07-10Channels: Add sort options to streams (#4224)Samantaz Fox
2024-07-10API: Fix error code for disabled popular endpoint (#4296)Samantaz Fox
When visiting /api/v1/popular and popular endpoint is disabled Before: 500 {"error":"Closed stream"} After 403 {"error":"Administrator has disabled this endpoint."}
2024-07-10Allow embedding videos in local HTML files (#4450)Samantaz Fox
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