Commit Graph

2913 Commits (master)

Author SHA1 Message Date
Samantaz Fox 0ab6d9e748
Videos: Use android test suite client (#4650)
"Temporary" fix, until a better and more permanent solution is found.

Closes issue 4584
3 weeks ago
Samantaz Fox 6f889dc695
Trending: Un-nest category if this is the only one (#4600)
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
3 weeks ago
Samantaz Fox 8eaaeb1c74
API: Add bitrate to formatStreams too (#4590)
Before this PR, the bitrate was only returned for the 'adaptiveFormats'.
They are now also returned the 'formatStreams'.

No linked issue
3 weeks ago
Samantaz Fox 7c1d2714e0
Comments: Add support for new format (#4576)
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
3 weeks ago
Samantaz Fox c94c6f4b83
Remove legacy proxy code (#4570)
Also fixes the build on nightly as the offending code was removed.

Related to
https://github.com/iv-org/invidious/pull/4270#issuecomment-1858876952
3 weeks ago
Samantaz Fox f1fd197cbc
API: convey info "is post live" from Youtube response (#4569)
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
3 weeks ago
Samantaz Fox bd549f21e9
API: Add 'authorVerified' field on recommended videos (#4562)
Closes 3323
3 weeks ago
Samantaz Fox 48ad864572
Videos: Add support for new likes format (#4462)
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
3 weeks ago
Samantaz Fox bcb679e653
Proxy: Handle non-200 HTTP codes on DASH manifests (#4429)
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
3 weeks ago
Samantaz Fox b163afecb7
API: Parse channel's tags (#4294)
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
3 weeks ago
Samantaz Fox 33f316c864
Videos: Remove AndroidScreenEmbed client 3 weeks ago
Samantaz Fox be291e8f0f
Videos: Copy captions over between responses 3 weeks ago
Samantaz Fox d49c762609
YtAPI: Add more client infos for Android test suite 3 weeks ago
Samantaz Fox 7f3ddad12e
Videos: Use android test suite client 3 weeks ago
ChunkyProgrammer 24de19d06f only ignore smaller trending categories on default trending tab 4 weeks ago
absidue f313162fa1 Add bitrate to formatStreams in /api/v1/videos/{id} response 4 weeks ago
ChunkyProgrammer 2b6e71b553 Simplify cvm assignment logic + improve formatting
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
4 weeks ago
ChunkyProgrammer d1eae10147 make `authorVerified` a bool value 1 month ago
ChunkyProgrammer fbf07e18aa Parse links in the comments
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
1 month ago
ChunkyProgrammer de2287963f fix loading replies to comments, remove unneeded code
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
1 month ago
ChunkyProgrammer 039212ed91 escape html, add todo comment 1 month ago
ChunkyProgrammer a9f55aa310 fix lint, improve performance 1 month ago
ChunkyProgrammer c27bb90e4d Add support for new comment format 1 month ago
syeopite 990931ff67
Remove legacy proxy code 1 month ago
ChunkyProgrammer bfd9c9876e Parse if video is post live dvr and include it in API 1 month ago
ChunkyProgrammer 2a029b4d8c Add field for `authorVerified` for recommended videos when using the API 1 month ago
Brahim Hadriche 1a2d408d38 Update shorts params 2 months ago
ChunkyProgrammer 0aaa3e6a08 API: Parse channel's tags 2 months ago
Samantaz Fox 619aa3ff05
YoutubeAPI: bump client versions 2 months ago
ChunkyProgrammer 5ceeefa236 add support for new likes format 3 months ago
Samantaz Fox e8a36985af
API: Add APIHandler back (#4431)
This handler should no have been removed in 4276, as it adds the required CORS
header (Access-Control-Allow-Origin) for public acces to the API.

Thanks to iBicha for noticing this!
3 months ago
Samantaz Fox 962ce23cc2
WebVTT::Builder: Add logic to escape special chars (#4414)
Note: WebVTT does allow some tags in the cue payload in some circumstances
while this PR just blindly escapes everything:
https://developer.mozilla.org/en-US/docs/Web/API/WebVTT_API#cue_payload_text_tags
3 months ago
Samantaz Fox e0ce59d3e8
Channels: Add support for multi-image community posts (#4412)
This PR adds a CSS-only image carousel for community posts with more than
one image attached.

Closes issue 3522
3 months ago
Samantaz Fox c5a3112e49
CSS: expand #contents width on small screens (#4405)
The #contents div now takes the full width on small screens (< 1280px).
All page elements have a little more room, especially the video titles.
3 months ago
Samantaz Fox d3703baba9
I18n: Add missing translation strings (#4424)
Closes issue 3120
3 months ago
ChunkyProgrammer 26429bee3f make it so interpolation text can be a hash
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
3 months ago
ChunkyProgrammer ef6b766b29 Add support for multi image community posts 3 months ago
Samantaz Fox 60f6a345d9
Locales: Fix broken i18Next v3/v4 plurals
Languages impacted: es, fa, pt
3 months ago
Samantaz Fox 7b84bdb29b
API: Add APIHandler back
This handler should no have been removed in 4276, as it adds the required CORS
header (Access-Control-Allow-Origin) for public acces to the API.

Thanks to iBicha for noticing this!
3 months ago
Samantaz Fox 5c0b6d8afa
Stats: Fix two swapped function names (#4376)
The function names `count_users_active_6m` and `count_users_active_1m` were
swapped. As the names were swapped on both sides (declaration and use), this
had no functional impact.

No related isse was tracked.
3 months ago
Samantaz Fox c85b908613
API: Fix missing wildcards after login redirect (#4348)
This PR fixes an issue where the `scopes` parameter would see its wildmark
characters (*) removed during the login page redirection, after that a call
to `/authorize_token` was made while the user was not logged in.

Closes issue 4200
3 months ago
Samantaz Fox f32764c840
HTML: Preserve playlist in "Watch on YouTube" link (#4342)
It seems that at some point, Youtube changed the URL parameter from `plid`
to `list` and we didn't notice. This fixes that.

Closes #3929
3 months ago
Samantaz Fox d30dae43fe
HTML: Add title to toggle theme icon (#4320) 3 months ago
Samantaz Fox 1f51255f2f
API: Remove the fields parameter (#4276)
Multiple users have reported that the fields parameter is slowing down API
response times significantly. As most API endpoints are already optimized to
make as few requests as possible to Youtube, there is no point in limiting the
output. Furthermore, the added processing might be part of the broader memory
leak problem (See 1438).

In addition, the small increase in data output is not much of an issue compared
to the huge video proxy that lies next to this API.

No related issue tracked
3 months ago
Samantaz Fox dcbe52c9fb
Videos: Use start time and end time for clips (#4264)
This PR parses the start and end time for clips.

It also adds a new, dedicated API endpoint (`/api/v1/clips/{id}`) for
retrieving the start and end time of a clip.

Here is a sample response from that new endpoint (`video` is a video object,
as described in https://docs.invidious.io/api/common_types/#videoobject):

GET `/api/v1/clips/UgkxxPM3BRphCAPLP88YoUGuj79KXPfpNNO_?pretty=1`

Response:
```
{
  "startTime": 8842.645,
  "endTime": 8855.856,
  "clipTitle": "✂️ Kirby is pink!",
  "video": {}
}
```

Closes issue 3921
3 months ago
Samantaz Fox bd5df3af5f
API: Unescape search suggestions (#4218)
Previously, the suggestion were HTML encoded. This PR fixes that.
3 months ago
Samantaz Fox 9bd2072e1d
API: Add playlist and start time to resolve_url
This adds `playlistId` and `startTimeSeconds` to /api/v1/resolveurl if these
informations were returned by Youtube's endpoint.
3 months ago
Samantaz Fox 3b4358dbd4
Extractors: Don't error if AuthorId does not exist (#3869)
Some playlist author's don't have a YouTube channel, so does movies.
This caused various extractors (related videos, search) to fail.

Closes the following issues:
2530, 3349, 3766, 3812, 4133
3 months ago
absidue 72bcd3cc72 Handle non-200 status codes for YouTube DASH manifests 3 months ago
shironeko 6b33820f1f Add missing translation strings
closes #3120
3 months ago