Commit Graph

2913 Commits (master)

Author SHA1 Message Date
ChunkyProgrammer 0bd415158f Fix importing FreeTube subscriptions with multiple profiles
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
8 months ago
Ulysses Zhan b9cbdce976 add: importing watch history from YouTube 8 months ago
jt404 8125ddca06 Replace inline styling for download widget with css file 8 months ago
RadoslavL 8e45e05fba
Get "author_verified" using the instance method instead of using the info hash.
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
8 months ago
Samantaz Fox 0aebac5f3e
Captions: Use 'fmt=vtt' instead of 'format=vtt' 8 months ago
Samantaz Fox 60fae015d8
Add support for community post page/comments (#4010) 8 months ago
Samantaz Fox ce0e21400e
Search: Parse channel handle (#3994) 8 months ago
Samantaz Fox 1caaf63c8a
Refactor WebVTT building logic into WebVTT::Builder (#4070) 8 months ago
Samantaz Fox eddb54adb1
Routing: Add support for new routes (#4099) 8 months ago
RadoslavL 7dc9b3f088 Fixed formatting 8 months ago
Samantaz Fox f26c995344
i18next: Revert some changes, as es/pt/pt-PT aren't mixed up (yet) 8 months ago
RadoslavL ed2a44149e Added authorVerified to the video API v1 route 8 months ago
Samantaz Fox 32310b7c9f
i18Next: Add exceptions for mixed v3/v4 plural forms 8 months ago
ChunkyProgrammer f77e4378fe Add support for viewing comments without js
Improve stylings
8 months ago
ChunkyProgrammer 4f25069f55 remove unused variable
simplify resolve url

remove trailing spaces

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

Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
9 months ago
ChunkyProgrammer f55b96a53b Always craft Community Post params 9 months ago
ChunkyProgrammer 734f1b7764 Simplify resolveUrl api call
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
9 months ago
ChunkyProgrammer e3c365f3d6 Add support for post page 9 months ago
Samantaz Fox bb14f79496
Playlists: Use subtitle when author is missing (#4025) 9 months ago
Samantaz Fox 842e9fade5
Captions: Add ability to use Innertube's transcripts API (#4001) 9 months ago
Samantaz Fox ebee973b24
Routes: Redirect unknown channel tabs to channel home page 9 months ago
Samantaz Fox 58f4a012b7
Frontend: Add timestamp on switch invidious instance links 9 months ago
Samantaz Fox 2456b62936
Frontend: Add timestamp on invidious embed links 9 months ago
Samantaz Fox 792a999386
Frontend: Add timestamp on youtube+embed links 9 months ago
Samantaz Fox 2425c47882
Routing: Add support for the '/live/<id>' route 9 months ago
Samantaz Fox 49b9316b9f
Routing: Handle current and future routes more nicely 9 months ago
ChunkyProgrammer afb04c3bda HTMLl.Escape the playlist subtitle 9 months ago
ChunkyProgrammer d7696574f4 Playlist: Use subtitle when author is missing 9 months ago
Samantaz Fox ac0c0609bb
Add workaround for storyboards on local instances (#4040) 9 months ago
Samantaz Fox 7e84d07c27
Playlist import no refresh (#3973) 9 months ago
Samantaz Fox a8295b452e
Search: Add hashtag result (#3989) 9 months ago
syeopite 3615bb0e62
Update src/invidious/videos/caption.cr
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
9 months ago
syeopite 7d435f082b
Update src/invidious/videos/transcript.cr
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
9 months ago
syeopite 1f7592e599
Refactor structure of caption.cr
Rename CaptionsMetadata to Metadata
Nest Metadata under Captions
Unnest LANGUAGES constant from Metadata to main Captions module
9 months ago
syeopite 2b36d3b419
Update errors.cr 10 months ago
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
10 months ago
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
10 months ago
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
10 months ago
syeopite c5fe96e936
Remove lsquic from codebase 10 months ago
syeopite 3509752b79
Rename transcript() to get_transcript() in YT API 10 months ago
syeopite e4942b188f
Integrate transcript captions into captions API 10 months ago
syeopite caac7e2166
Add method to convert transcripts response to vtt 10 months ago
syeopite 4b3ac1a757
Add method to parse transcript JSON into structs 10 months ago
syeopite 8e18d445a7
Add method to generate params for transcripts api 10 months ago
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
10 months ago
syeopite 2e67b90540
Add method to query /youtubei/v1/get_transcript 10 months ago
Samantaz Fox d956b1826e
Community: Parse quiz attachments (#3978) 11 months ago
Samantaz Fox c1a69e4a4a
Channels: Use innertube to fetch the community tab 11 months ago
Samantaz Fox f38d1f33b1
HTML: Add UI element for 'SearchHashtag' in item.ecr 11 months ago
Samantaz Fox 839e90aeff
Extractors: Add module for 'hashtagTileRenderer' 11 months ago
Samantaz Fox 69e2eaccc0
RSS Feeds: Fix Nil assertion failed (#3958) 11 months ago
Samantaz Fox ff6166edf7
Playlists: Fix pagination of Invidious playlists (#3861) 11 months ago
Samantaz Fox c8ade5194b
UI: Nicer buttons (#3763) 11 months ago
ChunkyProgrammer 70145cba31 Community: Parse `Quiz` attachments 11 months ago
Samantaz Fox 05cc503391
Fix lint 11 months ago
ChunkyProgrammer f2fa3da9d2 Add support for releases and podcasts tabs 11 months ago
Brahim Hadriche 0110f865c3
Playlist import no refresh 11 months ago
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.)
11 months ago
Samantaz Fox c17404890c
HTML: Use the new pagination component for history/subscriptions 11 months ago
Samantaz Fox 06b2bab795
HTML: Fix thumbnails of related videos (watch page) 11 months ago
Samantaz Fox 411208bbd2
HTML: Reorder buttons on the channel and watch pages 11 months ago
Samantaz Fox 42fa6ad2a3
HTML/CSS: Fix buttons' responsiveness 11 months ago
Samantaz Fox 8718f20688
HTML: Fix thin mode/thumbnail on other items 11 months ago
Samantaz Fox 43dcab225c
HTML: merge MixVideo with other types in item.ecr 11 months ago
Samantaz Fox 080c7446c6
HTML: Use new buttons for playlists (save/delete/add videos/etc...) 11 months ago
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
11 months ago
Samantaz Fox 7bd6d0ac49
HTML: Use the new pagination component for channel pages 11 months ago
Samantaz Fox efaf7cb09c
HTML: Use the new pagination component for search results 11 months ago
Samantaz Fox c4ef3bed95
HTML: Use the new pagination component for playlists 11 months ago
Samantaz Fox 57c7b922f7
HTML: Make a dedicated ECR component for items + pagination 11 months ago
Samantaz Fox c088749744
HTML: Add code to generate page nav buttons 11 months ago
Samantaz Fox 462609d90d
Utils: Create a function to append parameters to a base URL 11 months ago
Samantaz Fox 0ba22ef391
I18n: Add a function to determine if a given locale is RTL 11 months ago
Omer Naveed a38edd7330
Fix Nil assertion failed in RSS feeds 11 months ago
Samantaz Fox d7568ac45a
Remove old warning code about unconfigured 'hmac_key' 11 months ago
Samantaz Fox ba43365acb
Config: Stop if 'hmac_key' is the default value 11 months ago
Samantaz Fox 1647092b3c
Config: Make 'hmac_key' mandatory 11 months ago
Samantaz Fox 16b8b6034f
Channels: Use new ctoken value for "sort by oldest" 12 months ago
Ikko Eltociear Ashimine 495ccdc221
Fix typo in jobs.cr
follwing -> following
12 months ago
Samantaz Fox e6f5fcbc4b
User: Strip empty new lines before parsing CSV (#3895) 12 months ago
Samantaz Fox df6b51f9c6
Comments: Fix display of youtube links (#3911) 12 months ago
lamemakes 7a569d81ca Updated comment link returns 12 months ago
Émilien (perso) 875b8ea0c2
Merge pull request #3903 from unixfox/temporary-message-video-not-available 12 months ago
Emilien Devos 8e4833d21a temp explanation about video not available issue 12 months ago
Samantaz Fox b06c87ff8d
User: Remove broken Google login (various comments) 12 months ago
Samantaz Fox 69f23d95b8
User: Remove broken Google login (various functions) 12 months ago
Samantaz Fox 3444117818
User: Remove broken Google login (various constants) 12 months ago
Samantaz Fox 39ff94362e
User: Remove broken Google login (feeds route) 12 months ago
Samantaz Fox 11ab6ffb32
User: Remove broken Google login (notifications route) 12 months ago
Samantaz Fox 9dd4195dd0
User: Remove broken Google login (subscribe route) 12 months ago
Samantaz Fox fcbd5106c3
User: Remove broken Google login (password change route) 12 months ago
Samantaz Fox 836898754e
User: Remove broken Google login (before_all route) 12 months ago
Samantaz Fox d3b04ac68c
User: Remove broken Google login (dedicated captcha route) 12 months ago
Samantaz Fox b2b61ab0a9
User: Remove broken Google login (login route) 12 months ago
Samantaz Fox 62bd895562
User: Remove broken Google login (HTML form) 12 months ago
Samantaz Fox 46ea22f75c
Watch: Load watch page data for premieres (#3866) 12 months ago
Samantaz Fox 1b942f4f0a
User: Strip empty new lines before parsing CSV 12 months ago
Samantaz Fox e7bed765fe
Chore: Bump various constants (#3843) 12 months ago
Samantaz Fox 7556cb69f2
YT API: Bump WEB/MWEB client versions 12 months ago
Samantaz Fox b5e30d66d4
YT API: Bump Android app version 12 months ago
Samantaz Fox d9521c82cf
YT API: Bump iOS app version 12 months ago
Samantaz Fox 505a1566d1
Misc: Update User-Agent string 12 months ago
Chunky programmer 233bd3f593 Watch: Load watch page data for premieres 1 year ago
Chunky programmer d164776024 Playlists: Fix paging for Invidious playlists 1 year ago
Emilien Devos 372192eabc warn about hmac key deadline 1 year ago
Samantaz Fox bbf16279bb
Search: Allow browser suggestions (#3724) 1 year ago
Samantaz Fox 16ac3be85b
Playlists: Fix duplicated videos across pages (#3807) 1 year ago
Samantaz Fox 21f0b90354
Utils: Add support for short "x ago" forms (#3825) 1 year ago
Samantaz Fox 928ea75dbc
Search: Parse playlists when searching a channel (#3804) 1 year ago
Samantaz Fox 898066407d
Utils: Update 'decode_date' to take into account short "x ago" forms 1 year ago
Samantaz Fox f0c8477905
Comments: Move content-related functions to their own file 1 year ago
Samantaz Fox 4379a3d873
Comments: Move ctoken functions to youtube.cr 1 year ago
Samantaz Fox df85265453
Comments: Move link utility functions to own file + module 1 year ago
Samantaz Fox de78848039
Comments: Move 'template_reddit' function to own file + module 1 year ago
Samantaz Fox e10f6b6626
Comments: Move 'template_youtube' function to own file + module 1 year ago
Samantaz Fox 634e913da9
Comments: Move 'fetch_reddit' function to own file + module 1 year ago
Samantaz Fox 1b25737b01
Comments: Move 'fetch_youtube' function to own file + module 1 year ago
Samantaz Fox 8dd1824869
Comments: Move reddit type definitions to their own file 1 year ago
Samantaz Fox c7876d564f
Comments: add 'require' statement for a dedicated folder 1 year ago
Samantaz Fox 6440ae0b5c
Community: Fix position of the "creator heart" (broken by #3783) 1 year ago
Samantaz Fox e238c08be5
Search: Populate search bar with ChannelId (#3805) 1 year ago
Samantaz Fox 8d434ac06a
User: Allow CSV Youtube playlists to be imported (#3595) 1 year ago
ChunkyProgrammer 8bd2e60abc
Use string interpolation instead of concatenation
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
1 year ago
chunky programmer c713c32ceb Fix issue where playlists will refetch the same videos 1 year ago
chunky programmer 12b4dd9191 Populate search bar with ChannelId 1 year ago
chunky programmer b2a0e6f1ff Parse playlists when searching a channel 1 year ago
chunky programmer d728599251 add page parameter 1 year ago
ChunkyProgrammer d6fb5c03b7 add hashtag endpoint 1 year ago
Samantaz Fox 6755e31b72
Fix hashtag continuation token 1 year ago
Samantaz Fox 10fee9da61
Community: Fix live video + parse playlist attachments (#3767) 1 year ago
Samantaz Fox b420de6977
Subscriptions: Fix Nil assertion failed (#3793) 1 year ago
Samantaz Fox c385a944e6
Subscriptions: Fix casing of XML tag names 1 year ago
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.
1 year ago
Samantaz Fox 720789b622
HTML: wrap comments metadata in a paragraph 1 year ago
Samantaz Fox ce2649420f
CSS: Fix iframe attachment size in community posts 1 year ago
ChunkyProgrammer 2d5145614b
Fix unknown type attachment
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
1 year ago
Samantaz Fox 1eb1bae370
Fix watch history order (#3653) 1 year ago
Samantaz Fox 5017176e39
Trending: fix mistakes from #3773 (#3781) 1 year ago
Samantaz Fox efda154ec8
Allow channel urls to be displayed in video's description (#3759) 1 year ago
Samantaz Fox 90914343ec
Trending: de-duplicate results 1 year ago
Samantaz Fox 384a8e200c
Trending: fix mistakes from #3773 1 year ago