Commit Graph

3111 Commits

Author SHA1 Message Date
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
Thomas Lange
824cc1a5aa Don't redefine the "preload" option in player.js
If the HTML5 "<video>" element defines the "preload" attribute directly,
it isn't necessary to redefine the "preload" option in the player.js.
2023-09-27 15:36:40 +02:00
Thomas Lange
bf470704a5 Add option to control preloading of video data
Fix #4110 by adding an option to control the preloading of video data on
page load. If disabled ("false"), the browser will not preload any video
data until the user explicitly hits the "Play" button.

If enabled ("true"), the default behavior will be used, which means the
browser decides how much of the video will be preloaded.
2023-09-26 22:21:12 +02: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
syeopite
c5fe96e936
Remove lsquic from codebase 2023-07-26 07:19:12 -07:00
syeopite
3509752b79
Rename transcript() to get_transcript() in YT API 2023-07-23 16:52:47 -07:00
syeopite
e4942b188f
Integrate transcript captions into captions API 2023-07-23 14:40:09 -07:00
syeopite
caac7e2166
Add method to convert transcripts response to vtt 2023-07-23 14:40:08 -07:00
syeopite
4b3ac1a757
Add method to parse transcript JSON into structs 2023-07-23 14:40:08 -07:00
syeopite
8e18d445a7
Add method to generate params for transcripts api 2023-07-23 14:40:08 -07:00
syeopite
7e5935a9da
Rename Caption struct to CaptionMetadata
The Caption object does not actually store any text lines for the
subtitles. Instead it stores the metadata needed to display and fetch
the actual captions from the YT timedtext API.

Therefore it may be wiser to rename the struct to be more reflective of
its current usage as well as the future usage once the current caption
retrival system is replaced via InnerTube's transcript API
2023-07-23 14:40:08 -07:00
syeopite
2e67b90540
Add method to query /youtubei/v1/get_transcript 2023-07-23 14:40:02 -07:00
Samantaz Fox
d956b1826e
Community: Parse quiz attachments (#3978) 2023-07-20 08:16:10 +02:00
Samantaz Fox
c1a69e4a4a
Channels: Use innertube to fetch the community tab 2023-07-18 00:29:25 +02:00
Samantaz Fox
f38d1f33b1
HTML: Add UI element for 'SearchHashtag' in item.ecr 2023-07-18 00:01:16 +02:00
Samantaz Fox
839e90aeff
Extractors: Add module for 'hashtagTileRenderer' 2023-07-18 00:01:13 +02:00
Samantaz Fox
69e2eaccc0
RSS Feeds: Fix Nil assertion failed (#3958) 2023-07-16 18:13:55 +02:00
Samantaz Fox
ff6166edf7
Playlists: Fix pagination of Invidious playlists (#3861) 2023-07-16 18:02:27 +02:00
Samantaz Fox
c8ade5194b
UI: Nicer buttons (#3763) 2023-07-16 17:36:35 +02:00
ChunkyProgrammer
70145cba31 Community: Parse Quiz attachments 2023-07-15 06:41:03 -07:00
Samantaz Fox
05cc503391
Fix lint 2023-07-15 12:57:26 +00:00
ChunkyProgrammer
f2fa3da9d2 Add support for releases and podcasts tabs 2023-07-14 16:15:20 -07:00
Brahim Hadriche
0110f865c3
Playlist import no refresh 2023-07-08 16:51:19 -04:00
Samantaz Fox
9b75f79fb5
HTML/CSS: Add thumbnail placeholder in thin mode
This change is required to make the overlay buttons functional
(add to and delete from playlist, mark as watched, etc.)
2023-07-08 21:33:59 +02:00
Samantaz Fox
c17404890c
HTML: Use the new pagination component for history/subscriptions 2023-07-08 20:48:37 +02:00
Samantaz Fox
06b2bab795
HTML: Fix thumbnails of related videos (watch page) 2023-07-08 20:48:37 +02:00
Samantaz Fox
411208bbd2
HTML: Reorder buttons on the channel and watch pages 2023-07-08 20:48:36 +02:00
Samantaz Fox
42fa6ad2a3
HTML/CSS: Fix buttons' responsiveness 2023-07-08 20:48:36 +02:00
Samantaz Fox
8718f20688
HTML: Fix thin mode/thumbnail on other items 2023-07-08 20:48:36 +02:00
Samantaz Fox
43dcab225c
HTML: merge MixVideo with other types in item.ecr 2023-07-08 20:48:36 +02:00
Samantaz Fox
080c7446c6
HTML: Use new buttons for playlists (save/delete/add videos/etc...) 2023-07-08 20:48:32 +02:00
Samantaz Fox
b6bbfb9b20
HTML: Use new buttons for thumbnail overlays
In addition, this commit also heavily changes the structure of the
generic "video card" item. Main benefits:
  * Improved accessibility for keyboard users
  * Many styling glitches were fixed
  * PlaylistVideos now use the same items as the rest
  * Elements all have distinct CSS classes
  * Design can be expanded to add more icons
2023-07-06 00:58:32 +02:00
Samantaz Fox
7bd6d0ac49
HTML: Use the new pagination component for channel pages 2023-07-06 00:58:30 +02:00
Samantaz Fox
efaf7cb09c
HTML: Use the new pagination component for search results 2023-07-06 00:57:40 +02:00
Samantaz Fox
c4ef3bed95
HTML: Use the new pagination component for playlists 2023-07-06 00:23:22 +02:00
Samantaz Fox
57c7b922f7
HTML: Make a dedicated ECR component for items + pagination 2023-07-06 00:23:22 +02:00
Samantaz Fox
c088749744
HTML: Add code to generate page nav buttons 2023-07-06 00:23:22 +02:00
Samantaz Fox
462609d90d
Utils: Create a function to append parameters to a base URL 2023-07-06 00:23:22 +02:00
Samantaz Fox
0ba22ef391
I18n: Add a function to determine if a given locale is RTL 2023-07-06 00:23:22 +02:00
Omer Naveed
a38edd7330
Fix Nil assertion failed in RSS feeds 2023-07-01 18:35:01 -05:00
Samantaz Fox
d7568ac45a
Remove old warning code about unconfigured 'hmac_key' 2023-07-01 21:53:56 +02:00
Samantaz Fox
ba43365acb
Config: Stop if 'hmac_key' is the default value 2023-07-01 19:38:50 +02:00
Samantaz Fox
1647092b3c
Config: Make 'hmac_key' mandatory 2023-07-01 19:29:24 +02:00
Samantaz Fox
16b8b6034f
Channels: Use new ctoken value for "sort by oldest" 2023-06-21 21:41:53 +02:00
Ikko Eltociear Ashimine
495ccdc221
Fix typo in jobs.cr
follwing -> following
2023-06-13 19:16:07 +09:00
Samantaz Fox
e6f5fcbc4b
User: Strip empty new lines before parsing CSV (#3895) 2023-06-12 21:09:39 +02:00
Samantaz Fox
df6b51f9c6
Comments: Fix display of youtube links (#3911) 2023-06-12 21:04:57 +02:00
lamemakes
7a569d81ca Updated comment link returns 2023-06-12 09:40:26 -04:00
Émilien (perso)
875b8ea0c2
Merge pull request #3903 from unixfox/temporary-message-video-not-available 2023-06-11 21:05:49 +02:00
Emilien Devos
8e4833d21a temp explanation about video not available issue 2023-06-11 16:54:30 +02:00
Samantaz Fox
b06c87ff8d
User: Remove broken Google login (various comments) 2023-06-11 16:34:59 +02:00
Samantaz Fox
69f23d95b8
User: Remove broken Google login (various functions) 2023-06-11 16:34:59 +02:00
Samantaz Fox
3444117818
User: Remove broken Google login (various constants) 2023-06-11 16:34:59 +02:00
Samantaz Fox
39ff94362e
User: Remove broken Google login (feeds route) 2023-06-11 16:34:59 +02:00
Samantaz Fox
11ab6ffb32
User: Remove broken Google login (notifications route) 2023-06-11 16:34:59 +02:00
Samantaz Fox
9dd4195dd0
User: Remove broken Google login (subscribe route) 2023-06-11 16:34:59 +02:00
Samantaz Fox
fcbd5106c3
User: Remove broken Google login (password change route) 2023-06-11 16:34:59 +02:00
Samantaz Fox
836898754e
User: Remove broken Google login (before_all route) 2023-06-11 16:34:59 +02:00
Samantaz Fox
d3b04ac68c
User: Remove broken Google login (dedicated captcha route) 2023-06-11 16:34:59 +02:00
Samantaz Fox
b2b61ab0a9
User: Remove broken Google login (login route) 2023-06-11 16:34:59 +02:00
Samantaz Fox
62bd895562
User: Remove broken Google login (HTML form) 2023-06-11 16:34:59 +02:00
Samantaz Fox
46ea22f75c
Watch: Load watch page data for premieres (#3866) 2023-06-11 16:05:32 +02:00
Samantaz Fox
1b942f4f0a
User: Strip empty new lines before parsing CSV 2023-06-10 20:58:21 +02:00
Samantaz Fox
e7bed765fe
Chore: Bump various constants (#3843) 2023-06-09 21:19:20 +02:00
Samantaz Fox
7556cb69f2
YT API: Bump WEB/MWEB client versions 2023-06-09 21:05:48 +02:00
Samantaz Fox
b5e30d66d4
YT API: Bump Android app version 2023-06-09 21:05:48 +02:00
Samantaz Fox
d9521c82cf
YT API: Bump iOS app version 2023-06-09 21:05:48 +02:00
Samantaz Fox
505a1566d1
Misc: Update User-Agent string 2023-06-09 21:05:45 +02:00
Chunky programmer
233bd3f593 Watch: Load watch page data for premieres 2023-06-07 11:32:20 -04:00
Chunky programmer
d164776024 Playlists: Fix paging for Invidious playlists 2023-06-06 16:27:26 -04:00
Emilien Devos
372192eabc warn about hmac key deadline 2023-06-04 17:30:23 +02:00
Samantaz Fox
bbf16279bb
Search: Allow browser suggestions (#3724) 2023-06-01 22:41:04 +02:00
Samantaz Fox
16ac3be85b
Playlists: Fix duplicated videos across pages (#3807) 2023-05-31 22:30:52 +02:00
Samantaz Fox
21f0b90354
Utils: Add support for short "x ago" forms (#3825) 2023-05-31 22:28:47 +02:00
Samantaz Fox
928ea75dbc
Search: Parse playlists when searching a channel (#3804) 2023-05-31 22:27:53 +02:00
Samantaz Fox
898066407d
Utils: Update 'decode_date' to take into account short "x ago" forms 2023-05-29 12:41:53 +02:00
Samantaz Fox
f0c8477905
Comments: Move content-related functions to their own file 2023-05-25 22:53:53 +02:00
Samantaz Fox
4379a3d873
Comments: Move ctoken functions to youtube.cr 2023-05-25 22:53:53 +02:00
Samantaz Fox
df85265453
Comments: Move link utility functions to own file + module 2023-05-25 22:53:53 +02:00
Samantaz Fox
de78848039
Comments: Move 'template_reddit' function to own file + module 2023-05-25 22:53:53 +02:00
Samantaz Fox
e10f6b6626
Comments: Move 'template_youtube' function to own file + module 2023-05-25 22:53:53 +02:00
Samantaz Fox
634e913da9
Comments: Move 'fetch_reddit' function to own file + module 2023-05-25 22:53:53 +02:00
Samantaz Fox
1b25737b01
Comments: Move 'fetch_youtube' function to own file + module 2023-05-25 22:53:53 +02:00
Samantaz Fox
8dd1824869
Comments: Move reddit type definitions to their own file 2023-05-25 22:53:53 +02:00
Samantaz Fox
c7876d564f
Comments: add 'require' statement for a dedicated folder 2023-05-25 22:53:53 +02:00
Samantaz Fox
6440ae0b5c
Community: Fix position of the "creator heart" (broken by #3783) 2023-05-23 23:32:23 +02:00
Samantaz Fox
e238c08be5
Search: Populate search bar with ChannelId (#3805) 2023-05-23 21:57:07 +02:00
Samantaz Fox
8d434ac06a
User: Allow CSV Youtube playlists to be imported (#3595) 2023-05-23 19:34:24 +02:00
ChunkyProgrammer
8bd2e60abc
Use string interpolation instead of concatenation
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-05-22 09:19:32 -04:00
chunky programmer
c713c32ceb Fix issue where playlists will refetch the same videos 2023-05-14 22:35:51 -04:00
chunky programmer
12b4dd9191 Populate search bar with ChannelId 2023-05-14 17:25:32 -04:00
chunky programmer
b2a0e6f1ff Parse playlists when searching a channel 2023-05-14 16:51:06 -04:00
chunky programmer
d728599251 add page parameter 2023-05-14 15:58:15 -04:00
ChunkyProgrammer
d6fb5c03b7 add hashtag endpoint 2023-05-14 15:58:14 -04:00
Samantaz Fox
6755e31b72
Fix hashtag continuation token 2023-05-14 20:17:51 +02:00
Samantaz Fox
10fee9da61
Community: Fix live video + parse playlist attachments (#3767) 2023-05-08 15:42:06 +02:00
Samantaz Fox
b420de6977
Subscriptions: Fix Nil assertion failed (#3793) 2023-05-08 15:41:49 +02:00
Samantaz Fox
c385a944e6
Subscriptions: Fix casing of XML tag names 2023-05-08 13:10:18 +02:00
Samantaz Fox
ce1fb8d08c
Use XML.parse instead of XML.parse_html
Due to recent changes to libxml2 (between 2.9.14 and 2.10.4,
See https://gitlab.gnome.org/GNOME/libxml2/-/issues/508), the
HTML parser doesn't take into account the namespaces (xmlns).

Because HTML shouldn't contain namespaces anyway, there is no
reason for use to keep using it. But switching to the XML
parser means that we have to pass the namespaces to every
single 'xpath_node(s)' method for it to be able to properly
navigate the XML structure.
2023-05-08 01:05:48 +02:00
Samantaz Fox
720789b622
HTML: wrap comments metadata in a paragraph 2023-05-06 19:46:07 +02:00
Samantaz Fox
ce2649420f
CSS: Fix iframe attachment size in community posts 2023-05-06 19:46:03 +02:00
ChunkyProgrammer
2d5145614b
Fix unknown type attachment
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-05-02 21:10:57 -04:00
Samantaz Fox
1eb1bae370
Fix watch history order (#3653) 2023-05-03 00:34:04 +02:00
Samantaz Fox
5017176e39
Trending: fix mistakes from #3773 (#3781) 2023-05-03 00:33:56 +02:00
Samantaz Fox
efda154ec8
Allow channel urls to be displayed in video's description (#3759) 2023-05-03 00:33:48 +02:00
Samantaz Fox
90914343ec
Trending: de-duplicate results 2023-05-03 00:02:38 +02:00
Samantaz Fox
384a8e200c
Trending: fix mistakes from #3773 2023-05-02 23:35:37 +02:00
ChunkyProgrammer
28584f22c5 Fix index out of bounds error 2023-04-30 19:03:36 -04:00
chunky programmer
1b10446e5e move url parsing to utils method 2023-04-30 18:58:39 -04:00
chunky programmer
d420741cc1 Allow channel urls to be displayed in YT description 2023-04-30 18:58:08 -04:00
chunky programmer
f298e225a1 fix live video attachments, parse playlists 2023-04-30 18:55:02 -04:00
Samantaz Fox
eefc8bbbdd
Search/Trending: Fix duplicated results (#3773) 2023-04-30 19:11:21 +02:00
Samantaz Fox
3cfbc19ccc
Extractors: Add utility function to extract items from categories 2023-04-28 20:29:49 +02:00
Samantaz Fox
7afa03d821
Search: Don't extract items from categories too 2023-04-28 20:29:46 +02:00
Samantaz Fox
0107b774f2
Trending: Don't extract items from categories 2023-04-28 20:27:22 +02:00
chunky programmer
5517a4eadb fix fetching community continuations 2023-04-22 09:13:04 -04:00
Samantaz Fox
961cae2b9a
Improve accessibility (#3710) 2023-04-10 17:55:24 +02:00
Samantaz Fox
adc605024f
Videos: Add support for attributed descriptions (#3701) 2023-04-10 17:54:22 +02:00
Samantaz Fox
b3c0afef02
Videos: fix description text offset when emojis are present 2023-04-05 23:43:41 +02:00
Gavin
c421f1f205
Merge branch 'iv-org:master' into youtube-playlist-import 2023-04-03 17:09:34 -07:00
thtmnisamnstr
fffdaa1410 Updated csv reading as per feedback and ran
Signed-off-by: thtmnisamnstr <gavinj1984@gmail.com>
2023-04-03 17:07:58 -07:00
raphj
600da635b7
Allow browser suggestions for search (#3704) 2023-04-02 23:36:06 +02:00
ChunkyProgrammer
e3c1cb3ec9 fix view count extraction 2023-04-02 16:45:34 -04:00
ChunkyProgrammer
dc929be198 Merge branch 'master' into fix-shorts 2023-04-02 16:42:46 -04:00
ChunkyProgrammer
1da00bade3 implement code suggestions
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-04-02 16:31:59 -04:00
Samantaz Fox
8db2a93827
Search: Fix channel search (#3699) 2023-04-01 18:51:32 +02:00
Samantaz Fox
ef6eea3a65
Videos: ignore empty music entries (#3709) 2023-03-31 22:34:33 +02:00
Samantaz Fox
d526094380
download_widget: Add missing translation key (#3713) 2023-03-31 22:28:38 +02:00
Emilien Devos
e0600f4553 quick fix for channel videos page 2023-03-31 22:16:01 +02:00
Jarek Baran
0fe1b1ec19 download_widget: Add missing translation key 2023-03-30 12:52:03 +02:00
techmetx11
73d2ed6f77
Optimize some redundant stuff 2023-03-29 23:33:23 +00:00
ChunkyProgrammer
a3da03bee9 improve accessibility 2023-03-27 22:56:29 -04:00
ChunkyProgrammer
f840addd93 Fix error when song title is missing from the track 2023-03-27 22:10:28 -04:00
techmetx11
7755ed4ac8
Fix regexs 2023-03-23 20:12:54 +00:00
techmetx11
49ddf8b6bd
Added attributed description support 2023-03-23 05:10:21 +00:00
ChunkyProgrammer
5767344746 Fix parsing shorts on channel page 2023-03-22 09:56:22 -04:00
ChunkyProgrammer
3492485789 Fix channel search 2023-03-21 21:25:52 -04:00
Samantaz Fox
8a44bd11d2
Videos: Fix 0 views and empty license field (#3557) 2023-03-20 19:15:12 +01:00
Samantaz Fox
4ae158ef6d
Videos: Add back support for views on livestreams 2023-03-19 22:44:59 +01:00
Samantaz Fox
b66a5c40a9
Community: Restore thumbnail qualities array 2023-03-15 22:37:07 +01:00
Émilien Devos (perso)
a6d21cb211
Merge pull request #3627 from iBicha/feature/latest-version-optional-itag
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-03-15 20:07:06 +01:00
Samantaz Fox
6837e42928
Video page: add song title + remove song license on music videos (#3680) 2023-03-13 00:09:08 +01:00
ChunkyProgrammer
ffcc837c2a remove music license 2023-03-12 18:50:01 -04:00
Samantaz Fox
b4806e7ba9
Comments: Add support for custom emojis + member info (#3636) 2023-03-12 23:42:38 +01:00
Samantaz Fox
5c633ad1da
Community: parse reply count and polls (#3635) 2023-03-12 23:41:48 +01:00
Brahim Hadriche
3848c3f53f
Update src/invidious/routes/video_playback.cr
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-03-12 18:36:03 -04:00
thtmnisamnstr
3341929060 removed unnecessary conditionals and uninitialized variable declarations
Signed-off-by: thtmnisamnstr <gavinj1984@gmail.com>
2023-03-07 15:46:36 -08:00
ChunkyProgrammer
a781cf3734 readd try as bool for isSponsor key 2023-03-07 15:59:51 -05:00
Samantaz Fox
35ac26bd61
Add History API (#3654) 2023-03-07 20:28:43 +01:00
ChunkyProgrammer
e3081ef1a9
Apply style change suggestions
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-03-07 14:23:08 -05:00
Brahim Hadriche
0b17f68eba Fix input validation 2023-03-07 13:50:02 -05:00
ChunkyProgrammer
742c951bc9 support videos with multiple songs 2023-03-07 13:06:15 -05:00
ChunkyProgrammer
d8e23d34b6 add song title for music tracks 2023-03-07 11:38:09 -05:00
Brahim Hadriche
025e755542 Use single db call 2023-03-04 19:14:28 -05:00
Brahim Hadriche
a5cc66e060 Fix id check 2023-03-02 16:11:50 -05:00
Brahim Hadriche
38f6d08be6 Validate id, avoid db call if not needed 2023-03-02 14:47:14 -05:00
Brahim Hadriche
8c0efb3ea9 validate video id 2023-03-02 14:45:26 -05:00
ChunkyProgrammer
60b7c8015c add channel emoji css class 2023-03-02 07:29:44 -05:00
ChunkyProgrammer
4a14713462 use dig, create private image quality constant
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-03-01 23:56:23 -05:00
Brahim Hadriche
27bf4d02a1 PR nursing 2023-03-01 22:08:19 -05:00
techmetx11
4ac263f1df
Replace == with empty? 2023-02-26 14:01:08 +01:00
techmetx11
8eca5b270e
Video: Fix 0 views, and empty license field 2023-02-26 14:01:08 +01:00
thtmnisamnstr
b3eea6ab3e improved import algorithm, fixed a referer issue from the playlists page after deleting a playlist
Signed-off-by: thtmnisamnstr <gavinj1984@gmail.com>
2023-02-23 15:55:38 -08:00
Émilien Devos (perso)
0995e0447c
Merge pull request #3656 from iBicha/feature/auth-token-username
encode username on callback
2023-02-22 14:41:42 +01:00
Brahim Hadriche
6ee51f460a encode username on callback 2023-02-21 15:24:25 -05:00
Brahim Hadriche
15e9510ab2 Check preferences before marking video as watched 2023-02-20 16:43:36 -05:00
Brahim Hadriche
7b124eec64 Add History API 2023-02-20 16:27:16 -05:00
Brahim Hadriche
20289a4d01 Fix order for import 2023-02-20 14:56:38 -05:00
Brahim Hadriche
8445d3ae12 Fix watch history order 2023-02-19 19:01:28 -05:00
Samantaz Fox
4bbeb4a4c8
Add watch indicators (#3383) 2023-02-19 23:08:38 +01:00
ChunkyProgrammer
b5eb6016bb add spaces at end of attribute 2023-02-19 14:51:39 -05:00
Wes van der Vleuten
bde21d527f Fixed console error 2023-02-19 20:41:18 +01:00
ChunkyProgrammer
bc5d81fe60 use string builder to create images
change member to sponsor
2023-02-19 12:46:46 -05:00
Samantaz Fox
cbbec00e1c
Auth: Add username to token callback (#3603) 2023-02-19 16:46:51 +01:00
Samantaz Fox
ba217c9174
API: Add endpoints for import/export (#3617) 2023-02-19 14:39:56 +01:00
Samantaz Fox
217b740e01
API: Add endpoint to resolve youtube urls (#3612) 2023-02-19 14:39:47 +01:00
Émilien Devos (perso)
d6bf9e9bcf
Merge pull request #3622 from ChunkyProgrammer/downcase-trending-type-param 2023-02-17 18:58:53 +01:00
ChunkyProgrammer
76ad4e8026 show member icon, hide deleted emojis, fix non-custom emojis 2023-02-16 14:12:56 -05:00
ChunkyProgrammer
d03a62641f Add support for custom emojis in comments 2023-02-15 00:21:29 -05:00
ChunkyProgrammer
4731480821 parse votes as number
Co-Authored-By: syeopite <70992037+syeopite@users.noreply.github.com>
2023-02-14 23:03:25 -05:00
ChunkyProgrammer
aecbafbc7b Community: parse replyCount 2023-02-14 22:52:59 -05:00
ChunkyProgrammer
8384fa94c2 Community: Parse polls 2023-02-14 22:48:37 -05:00
Samantaz Fox
87342e4efd
Comments: Revert "isPinned" to a nil check
"pinnedCommentBadge" is not a boolean, but a complex structure.
This commit fixes a wrong assumption I had during the rewiew of
https://github.com/iv-org/invidious/pull/3626
2023-02-12 17:57:32 +01:00
ChunkyProgrammer
838cbeffcc Use case statement for trending_type
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-02-11 08:45:57 -05:00
Samantaz Fox
27ff8d7c33
API: add authorVerified where possible + provide channel tabs list (#3625) 2023-02-10 23:47:06 +01:00
thtmnisamnstr
6f01d6eacf ran crystal tool format. it should fix some CI issues
Signed-off-by: thtmnisamnstr <gavinj1984@gmail.com>
2023-02-10 12:00:02 -08:00
ChunkyProgrammer
e0c70d34cc
Make sure pinnedCommentBadge isn't equal to false
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-02-09 17:13:21 -05:00
Brahim Hadriche
d57d278f32 Make itag optional under /latest_version 2023-02-09 15:00:23 -05:00
ChunkyProgrammer
b893bdac0d parse isPinned, add support for strikethrough 2023-02-07 22:02:35 -05:00
ChunkyProgrammer
97825be10c add missing authorVerified to api 2023-02-07 21:52:53 -05:00
ChunkyProgrammer
28424d0e88 Ignore casing for trending type in api 2023-02-07 09:23:26 -05:00
Brahim Hadriche
c37d8e3664 Use CONFIG.playlist_length_limit when exporting playlists 2023-02-05 15:49:56 -05:00
Brahim Hadriche
47a5b98e25 Remove unused db call 2023-02-05 15:43:58 -05:00
Brahim Hadriche
2606decd21 Refactor export function 2023-02-05 15:00:11 -05:00
Brahim Hadriche
b2589c74be Add API for import/export 2023-02-02 19:14:02 -05:00
ChunkyProgrammer
c162c7ff3f add pageType 2023-02-02 18:20:14 -05:00
Samantaz Fox
d6dd341594
API: Parse multiimage community posts (#3599) 2023-02-02 21:52:19 +01:00
Samantaz Fox
c7f34042a2
Video: Add support for the music description section (#3559) 2023-02-02 21:49:09 +01:00
Samantaz Fox
6c687a3cac
Login redirect to referer on logged-in user (#3556) 2023-02-02 21:28:24 +01:00
ChunkyProgrammer
bf5175d1e9 Feat: Add api endpoint to resolve youtube urls 2023-02-02 12:41:13 -05:00
Brahim Hadriche
e7a9aeff95 Add username to auth token callback 2023-01-30 10:49:23 -05:00
ChunkyProgrammer
785fe52674 API: Parse multiimage community posts 2023-01-29 10:28:42 -05:00
Gavin Johnson
72d0c9e409 removed comments
Signed-off-by: Gavin Johnson <gavinj1984@gmail.com>
2023-01-28 09:57:28 -08:00
Gavin Johnson
5c7bda66ae removed comments
Signed-off-by: Gavin Johnson <gavinj1984@gmail.com>
2023-01-28 09:55:36 -08:00
Gavin Johnson
96344f28b4 added youtube playlist import functionality. fixes issue #2114
Signed-off-by: Gavin Johnson <gavinj1984@gmail.com>
2023-01-28 09:26:16 -08:00
Macic
13bf4e9e00
Support handles 2023-01-26 01:19:12 +01:00
ChunkyProgrammer
c2957dbce4 fix displaying author name #1612 2023-01-24 23:21:09 -05:00
Samantaz Fox
dbee027ed9
Search: Fix ArithmeticOverflow + wrong subs count issues (#3535) 2023-01-22 23:12:04 +01:00
Samantaz Fox
624425cfa8
Add support for timedtext captions (#3533) 2023-01-22 18:34:40 +01:00
techmetx11
caf9520c86
Major improvements 2023-01-22 00:12:04 +01:00
Wes van der Vleuten
420e12bb8b Merge remote-tracking branch 'upstream/master' 2023-01-21 23:35:39 +01:00
Wes van der Vleuten
7fd205179b Added suggestions 2023-01-21 23:24:22 +01:00
Samantaz Fox
cf93c94fc4
Formatting fix for Crystal nightly
Changes added by https://github.com/crystal-lang/crystal/pull/12951
2023-01-21 15:23:15 +01:00
Brahim Hadriche
f6a4d04070 Redirect auth token to login 2023-01-18 15:58:59 -05:00
Brahim Hadriche
0e22a0c21a Merge branch 'master' into feature/login-redirect 2023-01-18 14:37:29 -05:00
Samantaz Fox
0e68756758
Make DASH absolute urls when local (#3554) 2023-01-17 22:33:34 +01:00
Samantaz Fox
a7b2df31f0
API: make /api/v1/videos respect the 'local' parameter (#3567) 2023-01-17 22:31:09 +01:00
Samantaz Fox
ce07f2cd4a
Video proxy: always include the 'range' header (#3570) 2023-01-17 22:30:38 +01:00
DUOLabs333
ff66cec920 Remove debug print 2023-01-16 18:52:17 -05:00
DUO Labs
67ace4fd9d
Some indention changes
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-01-16 18:50:38 -05:00
DUOLabs333
86333cd434 Formatting 2023-01-16 18:43:58 -05:00
Gavin Johnson
855202e40e added youtube playlist import; initial commit
Signed-off-by: Gavin Johnson <gavinj1984@gmail.com>
2023-01-16 15:40:38 -08:00
DUOLabs333
8dcc98b3b9 If videCountText lists the number of subscribers, then don't use it in get_video_count 2023-01-16 18:40:38 -05:00
Brahim Hadriche
910809f1eb Handle case with included manifest 2023-01-16 08:33:34 -05:00
techmetx11
fe5b81f2c3
Add support for multiple songs 2023-01-16 14:04:20 +01:00
Samantaz Fox
1af846e58c
API: make /api/v1/videos respect the 'local' parameter 2023-01-15 17:18:34 +01:00
Émilien Devos
d6087fac47 Don't continue when LOGIN_REQUIRED and no videoDetails 2023-01-15 16:22:05 +01:00
Samantaz Fox
4ee483282e
Video proxy: always include the 'range' header 2023-01-14 20:00:46 +01:00
techmetx11
1b5fbfc13e
Video: Add support for the music section 2023-01-14 13:16:20 +01:00
Brahim Hadriche
01acb9bfbf Login redirect to referer on logged-in user 2023-01-13 19:04:37 -05:00
Brahim Hadriche
1fb0a49592 Make DASH absolute urls when local 2023-01-13 12:05:01 -05:00
DUOLabs333
4b2d942024 Convert tabs to spaces 2023-01-11 15:58:07 -05:00
Samantaz Fox
05258d56bd
Add support for the new channel layout - part 2 (#3419) 2023-01-10 21:16:12 +01:00
DUOLabs333
456e91426a Formatting 2023-01-08 16:44:44 -05:00
DUOLabs333
4fc1b8ae86 Remove superfluous 'end' 2023-01-08 16:20:23 -05:00
DUOLabs333
32471382c4 Different cosmetic fixes 2023-01-08 16:18:35 -05:00
Samantaz Fox
a37522a03d
Implement workaround for broken shorts objects 2023-01-08 13:50:52 +01:00
DUO Labs
8d08cfe30f
Add comments to src/invidious/yt_backend/extractors.cr
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2023-01-05 20:42:11 -05:00
Émilien Devos
98301a2237
Add ability to disable all user notifications (#3473) 2023-01-05 23:08:05 +00:00
DUOLabs333
0d3610f63d Change regex used in short_text_to_number 2023-01-04 18:12:15 -05:00
DUOLabs333
85dd3533bb Fix for the ArithmeticOverflow Problem 2023-01-03 20:18:10 -05:00
DUOLabs333
76758baab8 Removed unneccesary String::Builder and removed cues that was just a blank line 2023-01-03 13:10:26 -05:00
DUOLabs333
9d83e2da4e Add newline 2023-01-03 10:29:17 -05:00
DUOLabs333
45b8f6d0cd More linting 2023-01-03 10:25:05 -05:00
DUOLabs333
b49ed65a07 Linting 2023-01-03 10:21:16 -05:00
DUOLabs333
8df1c3bb57 Add support for timedtext captions 2023-01-03 10:17:47 -05:00
confused_alex
865704dc7b
Fixed dead link (#3526) 2023-01-01 18:41:58 +00:00
Samantaz Fox
f9eb839c7a
channel: remove dead playlists code 2022-12-22 17:26:32 +01:00
Samantaz Fox
69b8e0919f
api: Add support for the "featured channels" endpoint 2022-12-22 17:26:30 +01:00
Samantaz Fox
4e3a930626
frontend: Add support for the "featured channels" page 2022-12-22 16:13:35 +01:00
Samantaz Fox
b6a4de66a5
frontend: Unify the various channel pages 2022-12-22 16:13:34 +01:00
Samantaz Fox
40c666cab2
api: Add support for shorts and livestreams 2022-12-22 16:13:34 +01:00
Samantaz Fox
6c9754e663
frontend: Add support for shorts and livestreams 2022-12-22 16:13:34 +01:00
Samantaz Fox
5d6abd5301
extractors: Fix ReelItemRendererParser 2022-12-22 16:13:34 +01:00
Samantaz Fox
52ef89f02d
channel: Add support for shorts and livestreams (backend only) 2022-12-22 16:13:34 +01:00
Samantaz Fox
2903e896ec
channel: use YT API + extractors to fetch videos 2022-12-22 16:13:34 +01:00
Samantaz Fox
c5ee2bfc0f
channel: use YT API to fetch playlist items 2022-12-22 16:13:34 +01:00
Samantaz Fox
8e8ca4fcc5
Prepare to create a 'Channel' module 2022-12-22 16:13:34 +01:00
Samantaz Fox
ce7db8d2cb
extractors: Add continuation token parser 2022-12-22 16:13:26 +01:00
Samantaz Fox
bdc51cd20f
extractors: separate 'extract' and 'parse' logic 2022-12-04 18:24:39 +01:00
Samantaz Fox
9588fcb5d1
frontend: remove paging on channel videos 2022-12-04 15:31:50 +01:00
Samantaz Fox
fbcce57ce2
channel: use extractor utils to parse tabs (+ code cleaning) 2022-12-02 19:56:52 +01:00
Samantaz Fox
09b9b758de
Add param 8AEB for getting youtube stories (#3258) 2022-11-21 21:29:49 +01:00
Samantaz Fox
f44506b7e0
yt api: bump web client version 2022-11-20 23:48:59 +01:00
Samantaz Fox
afc0ec3c30
search: Fix short text parsing 2022-11-20 23:28:21 +01:00
Samantaz Fox
516efd2df3
Cleanup videos (#3238) 2022-11-17 01:03:23 +01:00
Samantaz Fox
47cc26cb3c
videos: fix 'Arithmetic overflow' error 2022-11-16 18:25:32 +01:00
Samantaz Fox
cc5c83333f
videos: improve fetching of streaming data 2022-11-13 14:40:00 +01:00
Wes van der Vleuten
c95ee10d69 Added parital watch indicator on more locations 2022-11-08 23:18:24 +01:00
Wes van der Vleuten
f604c1c68b Fixed thumbnails with darkreader, Added watched indicator in more locations 2022-11-08 23:15:42 +01:00
Wes van der Vleuten
7b57381773 Added watch indicator 2022-11-07 20:04:46 +01:00
Wes van der Vleuten
437f42250e
Watched marker 2022-11-07 03:49:00 +01:00
Samantaz Fox
9da1827e95
Dirty fix to get back the channel videos 2022-11-02 01:03:39 +01:00
Samantaz Fox
46a63e6150
extractors: Add support for reelItemRenderer 2022-11-01 17:48:43 +01:00
Samantaz Fox
f267394bbe
extractors: Add support for richGridRenderer 2022-11-01 17:48:35 +01:00
Samantaz Fox
2acff70811
videos: handle different JSON structs being present in cache 2022-10-31 20:30:35 +01:00
Samantaz Fox
db91d3af66
videos: Fix some bugs 2022-10-31 20:30:35 +01:00
Samantaz Fox
83795c245a
videos: Support the new like button's structure 2022-10-31 20:30:30 +01:00
Samantaz Fox
d659a451d6
videos: remove unused 'VideoRedirect' exception 2022-10-31 20:09:04 +01:00
Samantaz Fox
87a5d70062
videos: move API's JSON structure to a dedicated module 2022-10-31 20:09:04 +01:00
Samantaz Fox
ae03ed7bf7
videos: move player/next parsing code to a dedicated file 2022-10-31 20:09:04 +01:00
Samantaz Fox
e23ceb6ae9
videos: Fix extraction code according to tests 2022-10-31 20:09:04 +01:00
Samantaz Fox
7df0cfcbed
Videos: fix 'views' parsing for livestreams 2022-10-31 20:09:04 +01:00
Samantaz Fox
6aaea7fafa
Videos: parse data during first fetching
There will be less data to be stores in the DB cache
2022-10-31 20:09:04 +01:00
Samantaz Fox
cd03fa06ae
videos: move 'Caption' and associated global/functions to a separate file 2022-10-31 20:09:04 +01:00
Samantaz Fox
9baaef412f
videos: move 'VideoPreferences' and its associated function to a separate file
This will require some rework later.
2022-10-31 20:09:04 +01:00
Samantaz Fox
88141c459c
videos: move formats structure to a separate file/module 2022-10-31 20:09:04 +01:00
Samantaz Fox
6250039405
videos: move regions list to a dedicated file 2022-10-31 20:09:03 +01:00
Samantaz Fox
4055c3bec8
i18n: Add Bengali, Catalan, Basque, Sinhala and Slovak
Add languages even if translation is <= 25%
2022-10-30 13:46:28 +01:00
Samantaz Fox
72cf49eda1
Remove twitter:site meta tag from watch view (#3361) 2022-10-25 20:41:30 +02:00
Samantaz Fox
e2ab488e7f
Add meta tags to channels (#3347) 2022-10-25 20:39:06 +02:00
thecashewtrader
1e96206b0b Remove twitter:site meta tag from watch view 2022-10-25 15:49:45 +05:30
thecashewtrader
6f301db11c Remove twitter:site meta tag from channel view 2022-10-25 15:25:58 +05:30
Samantaz Fox
cdb370f56b
Add channel name to embeds (#3338) 2022-10-23 14:16:43 +02:00
thecashewtrader
a1e0a6b499 Add meta tags to channels 2022-10-15 19:37:47 +05:30
thecashewtrader
6ea3673cf0 Move uploader channel name to og:site_name 2022-10-13 21:44:16 +05:30
Samantaz Fox
3b39b8c772
Add table cleaning job (#3294) 2022-10-12 10:06:36 +02:00
thecashewtrader
ffb42a9b23 Add channel name to embeds 2022-10-08 15:13:02 +05:30
Samantaz Fox
dcfa0687f4
Allow to set max playlist length via a config variable (#3283) 2022-09-28 19:53:59 +02:00
Jakub Filo
7c45026383 Fix playlist limit 2022-09-28 12:21:23 +02:00
Samantaz Fox
221d472127
Replicate headers and params made by yt apps (#3290) 2022-09-15 23:26:21 +02:00
Samantaz Fox
7df176d750
Keep listen mode after related video click (#3160) 2022-09-11 15:32:14 +02:00
Samantaz Fox
53fb6ad039
Fix replies count (#3299) 2022-09-08 00:10:38 +02:00
Samantaz Fox
8ab339396a
Message when the video doesn't exist in playlist (#3243) 2022-09-03 19:26:05 +02:00
Samantaz Fox
5048a89b9b
Add/Change Javascript license notice (#3262) 2022-09-03 15:03:52 +02:00
Emilien Devos
c658fd27cc better spoof requests 2022-09-02 21:18:56 +02:00
Emilien Devos
260bab598e reword error messages 2022-09-02 20:20:43 +02:00
Emilien Devos
6f3b4fbaaf fix replies count 2022-09-02 20:16:02 +02:00
Émilien Devos
31244cbcc8 replicate headers and params made by yt apps 2022-08-30 14:20:08 +00:00