Commit Graph

2916 Commits

Author SHA1 Message Date
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
2024-02-12 21:54:17 +01:00
absidue
72bcd3cc72 Handle non-200 status codes for YouTube DASH manifests 2024-02-12 18:55:15 +01:00
shironeko
6b33820f1f Add missing translation strings
closes #3120
2024-02-08 19:01:19 -05:00
shironeko
98c421e9f5 Fix when video from pubsub is a scheduled event 2024-02-08 18:58:23 -05:00
shironeko
c864a63b6d Fix pubsub feed parsing
similar to what's done in #3793, this is causing an assert on my instance
2024-02-08 17:05:11 -05:00
syeopite
0ad2eff2a4
WebVTT::Builder: Add logic to escape special chars 2024-01-30 15:25:45 -08:00
ThetaDev
c005ada487
fix: prevent censoring of self-harm related search queries (#4403)
* fix: prevent censoring of self-harm related search queries

* fix: yt_filters_spec with new flag
2024-01-29 14:59:25 +01:00
toabr
4a339df5c4 CSS: expand #contents width on small screens 2024-01-27 00:38:47 +01:00
syeopite
1c0b4205d4
Add parameter to disable force_resolve in make_client (#4335)
* Add option to disable force_resolve in make_client

Some websites such as archive.org and textcaptcha.com
does not support IPv6 and as such requests fail when Invidious requests
with IPv6 to those services.

* Reenable force_resolve on pubsub subcribe request

* Make force_resolve false by default in make_client

* Remove missed explicit force_resolve=false
2024-01-10 23:01:00 +00:00
vojkovic
7cca1285aa
Fix two swapped function names 2024-01-06 15:51:31 +08:00
ChunkyProgrammer
7da4a7f72b add null safety to clip parsing 2023-12-26 22:05:09 -05:00
nixos script
0917efd9cb fix issue where scope would be missing the * if the user was not logged in before calling the authorize endpoint
fix #4200
2023-12-21 13:52:19 +08:00
ChunkyProgrammer
090b470bfc fix potential memory leak 2023-12-19 23:07:18 -05:00
guidiasz
87a8207f37 fix: "Watch on YouTube" preserve current playlist 2023-12-18 13:23:55 -03:00
ChunkyProgrammer
fe8b1b4cc4 Add title to toggle theme icon 2023-12-07 11:43:56 -05:00
ChunkyProgrammer
f1edb1d6bf fix related video author when id is empty 2023-12-07 09:39:33 -05:00
Chunky programmer
b5f8b4542a Search: Don't error if AuthorId does not exist 2023-12-07 09:39:33 -05:00
ChunkyProgrammer
b344d98c25 Add API endpoint for Clips 2023-12-07 09:39:04 -05:00
ChunkyProgrammer
8c22e6a640 use start time and endtime for clips 2023-12-07 09:39:03 -05:00
ChunkyProgrammer
6488794218 Unescape search suggestions 2023-12-07 09:36:59 -05:00
Samantaz Fox
07fe648a9c
Remove anti-captcha (#4277) 2023-12-06 18:29:16 +01:00
Samantaz Fox
6da3287e9d
Misc: Fix logic for setting user agent (#4265) 2023-12-06 18:28:12 +01:00
Samantaz Fox
37c2f5caed
Misc: Use #splat method for macro expressions (#4242) 2023-12-06 18:22:50 +01:00
Samantaz Fox
e8a14446af
Videos: Append '&mpd_version=5' to DASH manifest URL (#4196) 2023-12-06 18:20:26 +01:00
Samantaz Fox
9d5fa2bcc4
Helpers: remove JSONFilter logic 2023-11-23 18:30:42 +01:00
Samantaz Fox
9310d09f93
Kemal: remove APIHandler middleware 2023-11-23 18:30:37 +01:00
Samantaz Fox
3a5d408602
Remove leftover functions/specs used by the anti-captcha job 2023-11-20 17:40:31 +01:00
Samantaz Fox
7e363fa3c8
Config: Remove anti-captcha related configs 2023-11-20 17:39:51 +01:00
Samantaz Fox
d9416a0be5
Jobs: Remove BypassCaptchaJob 2023-11-20 17:39:13 +01:00
Brahim Hadriche
b40cf6544a Revert "Make head request to resolve short urls"
This reverts commit 7e267da5be.
2023-11-19 16:06:29 -05:00
ChunkyProgrammer
8338a73e7b add user_agent if empty or crystal 2023-11-17 08:01:56 -05:00
ChunkyProgrammer
86ee761788 Fix logic for setting user agent 2023-11-15 00:51:43 -05:00
syeopite
ed8b84ed15
Replace more * in macro with #splat 2023-11-08 00:49:37 -08:00
syeopite
8ce91166d6
Remove instance of the * operator in macro expr 2023-11-08 00:42:46 -08:00
syeopite
8525758583
Use #splat method for macro expressions 2023-11-08 00:37:18 -08:00
syeopite
ab4c0a1d3c
Fetch channel info from home tab instead of about 2023-11-07 23:53:14 -08:00
syeopite
c31908a011
Update params protobuf for channel about tab 2023-11-07 22:19:56 -08:00
syeopite
438467f69a
Add playback success rate to /api/v1/stats (#4085)
* Add stats-based /videoplayback blockage status

* Count when YouTube returns wrong video as failure

* Cast playback stats hash type prior to return

* Bump stats refresh timer to 10 minutes
2023-11-04 13:52:30 +00:00
Émilien (perso)
db3c57d49f
force resolve for everything (#4225) 2023-11-02 22:35:50 +00:00
Brahim Hadriche
3881038a32 format 2023-10-26 17:51:38 -04:00
Brahim Hadriche
7e267da5be Make head request to resolve short urls 2023-10-26 17:48:58 -04:00
Brahim Hadriche
d7901c1e0d type fix 2023-10-26 17:35:52 -04:00
Brahim Hadriche
85a5bbd696 Add playlist and start time to the resolve url 2023-10-26 17:24:53 -04:00
Samantaz Fox
07de1e236f
Videos: Append '&mpd_version=5' to DASH manifest URL
This makes Youtube return a MPD manifest with templates rather than
lengthy <SegmentList>. The returned  manifest is about 44 times smaller.
2023-10-22 17:56:04 +02:00
Samantaz Fox
2414e7db41
User: Add support for importing Youtube watch history (#4171) 2023-10-21 18:33:05 +02:00
Samantaz Fox
1a33012cad
CSS: Remove inline styling of the download widget (#4162) 2023-10-21 18:32:40 +02:00
Samantaz Fox
cf7c49deb0
Captions: Use 'fmt=vtt' instead of 'format=vtt' (#4152) 2023-10-21 18:32:28 +02:00
Samantaz Fox
d543a68a84
API: Add "authorVerified" to the video endpoint (#4150) 2023-10-21 18:32:01 +02:00
Samantaz Fox
2a65b5f52e
Frontend: Add video timestamp on external links (#4101) 2023-10-21 18:31:42 +02:00
Samantaz Fox
88cc62d45e
User: Fix importing FreeTube subscriptions with multiple profiles (#4011) 2023-10-21 18:31:18 +02:00
Ulysses Zhan
3b219a4c7f remove a debug statement 2023-10-20 13:45:16 -07:00
Émilien (perso)
0e4d3d89fc
update params for fetching stream data (#4156)
* update params for fetching stream data

* Remove link about special parameter
2023-10-20 08:48:56 +02:00
jt404
d7ea5609b2 move styles for download widget to default.css file 2023-10-17 01:00:14 +02:00
ChunkyProgrammer
0bd415158f Fix importing FreeTube subscriptions with multiple profiles
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-10-16 00:32:24 -04:00
Ulysses Zhan
b9cbdce976 add: importing watch history from YouTube 2023-10-14 15:49:33 -07:00
jt404
8125ddca06 Replace inline styling for download widget with css file 2023-10-12 03:22:34 +02:00
RadoslavL
8e45e05fba
Get "author_verified" using the instance method instead of using the info hash.
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-10-09 09:20:35 +03:00
Samantaz Fox
0aebac5f3e
Captions: Use 'fmt=vtt' instead of 'format=vtt' 2023-10-08 12:40:49 +02:00
Samantaz Fox
60fae015d8
Add support for community post page/comments (#4010) 2023-10-07 19:58:54 +02:00
Samantaz Fox
ce0e21400e
Search: Parse channel handle (#3994) 2023-10-07 19:56:07 +02:00
Samantaz Fox
1caaf63c8a
Refactor WebVTT building logic into WebVTT::Builder (#4070) 2023-10-07 19:53:29 +02:00
Samantaz Fox
eddb54adb1
Routing: Add support for new routes (#4099) 2023-10-07 19:52:48 +02:00
RadoslavL
7dc9b3f088 Fixed formatting 2023-10-07 20:29:48 +03:00
Samantaz Fox
f26c995344
i18next: Revert some changes, as es/pt/pt-PT aren't mixed up (yet) 2023-10-07 19:12:17 +02:00
RadoslavL
ed2a44149e Added authorVerified to the video API v1 route 2023-10-07 17:55:42 +03:00
Samantaz Fox
32310b7c9f
i18Next: Add exceptions for mixed v3/v4 plural forms 2023-10-06 08:19:27 +02:00
ChunkyProgrammer
f77e4378fe Add support for viewing comments without js
Improve stylings
2023-09-28 18:09:45 -04:00
ChunkyProgrammer
4f25069f55 remove unused variable
simplify resolve url

remove trailing spaces

Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-09-27 17:36:06 -04:00
syeopite
be2feba17c
Lint 2023-09-23 09:57:26 -04:00
syeopite
a999438ae4
Consistency: rename #add_timestamp_component
Removes the add_ prefix for consistency with the other methods in
WebVTT::Builder
2023-09-23 09:41:43 -04:00
syeopite
e9d59a6dfd
Update src/invidious/helpers/webvtt.cr
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-09-23 09:41:43 -04:00
syeopite
4e97d8ad09
Update documentation for WebVTT.build 2023-09-23 09:41:43 -04:00
syeopite
d371eb50f2
WebVTT::Builder: rename #line to #cue 2023-09-23 09:41:41 -04:00
syeopite
0cb7d0b441
Refactor Invidious's VTT logic to use WebVtt.build 2023-09-23 09:40:04 -04:00
syeopite
54fa59cbb0
Add method to construct WebVTT files
Similar to JSON.Build
2023-09-23 09:20:20 -04:00
ChunkyProgrammer
8781520b8a Search: Parse channel handle and hide video count when channel handle exists
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-09-18 20:12:07 -04:00
ChunkyProgrammer
bb04bcc42c Apply suggestions from code review
add videoId to resolve_url function

Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-09-18 20:10:41 -04:00
ChunkyProgrammer
f55b96a53b Always craft Community Post params 2023-09-18 20:10:41 -04:00
ChunkyProgrammer
734f1b7764 Simplify resolveUrl api call
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-09-18 20:10:41 -04:00
ChunkyProgrammer
e3c365f3d6 Add support for post page 2023-09-18 20:10:41 -04:00
Samantaz Fox
bb14f79496
Playlists: Use subtitle when author is missing (#4025) 2023-09-18 23:34:30 +02:00
Samantaz Fox
842e9fade5
Captions: Add ability to use Innertube's transcripts API (#4001) 2023-09-18 23:31:56 +02:00
Samantaz Fox
ebee973b24
Routes: Redirect unknown channel tabs to channel home page 2023-09-16 00:54:14 +02:00
Samantaz Fox
58f4a012b7
Frontend: Add timestamp on switch invidious instance links 2023-09-14 22:28:07 +02:00
Samantaz Fox
2456b62936
Frontend: Add timestamp on invidious embed links 2023-09-14 22:27:36 +02:00
Samantaz Fox
792a999386
Frontend: Add timestamp on youtube+embed links 2023-09-14 22:26:36 +02:00
Samantaz Fox
2425c47882
Routing: Add support for the '/live/<id>' route 2023-09-13 23:41:31 +02:00
Samantaz Fox
49b9316b9f
Routing: Handle current and future routes more nicely 2023-09-13 23:40:20 +02:00
ChunkyProgrammer
afb04c3bda HTMLl.Escape the playlist subtitle 2023-09-11 22:35:58 -04:00
ChunkyProgrammer
d7696574f4 Playlist: Use subtitle when author is missing 2023-09-11 22:35:57 -04:00
Samantaz Fox
ac0c0609bb
Add workaround for storyboards on local instances (#4040) 2023-08-26 12:15:04 +02:00
Samantaz Fox
7e84d07c27
Playlist import no refresh (#3973) 2023-08-26 12:12:42 +02:00
Samantaz Fox
a8295b452e
Search: Add hashtag result (#3989) 2023-08-26 12:11:38 +02:00
syeopite
3615bb0e62
Update src/invidious/videos/caption.cr
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-08-24 16:21:05 -07:00
syeopite
7d435f082b
Update src/invidious/videos/transcript.cr
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-08-24 23:20:20 +00:00
syeopite
1f7592e599
Refactor structure of caption.cr
Rename CaptionsMetadata to Metadata
Nest Metadata under Captions
Unnest LANGUAGES constant from Metadata to main Captions module
2023-08-24 16:00:02 -07:00
syeopite
2b36d3b419
Update errors.cr 2023-08-10 18:45:10 +00:00
syeopite
6b17bb5250
Regression from #4037 | Fix storyboards
PR #4037 introduced a workaround around YouTube's new integrity checks
on streaming URLs. However, the usage of this workaround prevents
storyboard data from being returned by InnerTube.

This commit fixes that by only using the workaround when calling try_fetch_streaming_data
2023-08-08 15:28:01 -07:00
syeopite
a81c0f329c
Add workaround for storyboards on priv. instances
An upstream problem with videojs-vtt-thumbnails means that URLs gets
joined incorrectly on any instance where `domain`, `external_port` and
`https_only` aren't set.

This commit adds some logic with the 404 handler to mitigate this
problem. This is however only a workaround.

See:
https://github.com/iv-org/invidious/issues/3117
https://github.com/chrisboustead/videojs-vtt-thumbnails/issues/31
2023-08-08 15:13:23 -07:00
syeopite
2f6b2688bb
Use workaround for fetching streaming URLs
YouTube appears to be A/B testing some new integrity checks. Adding the
parameter "CgIQBg" to InnerTube player requests appears to workaround
the problem

See https://github.com/TeamNewPipe/NewPipeExtractor/pull/1084
2023-08-06 12:22:22 -07:00