Commit graph

2141 commits

Author SHA1 Message Date
Samantaz Fox 82f3eda82b
Merge pull request #2656 from SamantazFox/fix-2549
extract_video_info: Make sure that the Android player response is valid
2021-11-28 02:38:29 +01:00
Samantaz Fox 05f9613e14
Merge pull request #2623 from SamantazFox/temp-decompression-fix
Temporarily fix for #2612
2021-11-28 02:35:39 +01:00
Samantaz Fox ceb1feb350
likes/dislikes: better fallback management
'.to_i64?' instead of '.to_i64' returns nil rather than raising
an exception when it's done on an empty string.

In some rare cases, rating can be equal to 5. In this case, the
value of player_response[videoDetails][averageRating] is an
Int and not a Float.
2021-11-25 23:16:50 +01:00
Samantaz Fox 2ea0590b03
i18n: return 'key' if 'key' is not in locales files 2021-11-25 19:46:34 +01:00
Samantaz Fox 80a513baa5
Use new techniques to get (dis)likes back 2021-11-24 01:22:09 +01:00
Samantaz Fox ba48f68fc3
allow multiple, successive content-encodings 2021-11-21 18:16:05 +01:00
Samantaz Fox 319587e2f1
extract_video_info: make sure that the Android player response is valid 2021-11-21 17:34:17 +01:00
Samantaz Fox bf7952d9c7
i18n: log a warning instead of rising an exception
This is more user-friendly.
TODO: maybe make a compile time flag for testing purposes
2021-11-21 01:54:54 +01:00
Samantaz Fox f29ab53aff
Add other missing translations
* on watch page and video cards (search results, playlists, etc...)
* on /feed/playlists
* in search filters (not normalized in order to avoid collisions with
an existing PR that reworks the search filters)
2021-11-21 01:54:46 +01:00
Samantaz Fox b5b0c58de7
Add missing translation for quality selectors 2021-11-21 01:50:11 +01:00
Samantaz Fox a1bb421eec
Remove useless 'hl' parameters on captions URL 2021-11-21 01:50:11 +01:00
Samantaz Fox 139786b9ef
i18n: pass only the ISO code string to 'translate()'
Don't use the whole Hash everywhere.
Also fall back nicely to english string if no translation exists.
2021-11-21 01:50:11 +01:00
Samantaz Fox 301444563b
i18n: Use language full name instead of ISO code
Fixes #851
2021-11-21 01:50:11 +01:00
Samantaz Fox 9966c21c6b
i18n: Add list of language names 2021-11-21 01:50:11 +01:00
babababag fd54cf2d05
Escape video description 2021-11-17 12:04:30 +00:00
Samantaz Fox 2c447a42f2
Make sure to only apply fix if QUIC is disabled 2021-11-16 21:40:35 +01:00
Samantaz Fox dad8f9a0ce
Fix typo
Should be checking the returned headers, not the sent ones.
2021-11-16 20:39:26 +01:00
Samantaz Fox 2eac23a0b3
Temporary fix for #2612
Don't rely on the auto compression/decompression provided by the crystal stdlib.
2021-11-16 13:46:28 +01:00
Samantaz Fox 00904ae3f2
Merge pull request #2444 from syeopite/only-use-redirect-endpoint-when-needed
Only use the /redirect endpoint when automatically redirecting to another instance
2021-11-13 20:40:09 +01:00
Émilien Devos d214a0b333
remove duplicate lsquic requirement 2021-11-12 23:02:43 +00:00
syeopite a120f143d7
Disable quic by default
See #2577
2021-11-12 04:03:23 -08:00
syeopite 65fbdbff6a
Remove of gzip header w/ use_quic config
Continuation of b0f127d4d8
2021-11-12 03:52:50 -08:00
syeopite 6ec4dcfafd
Fix handling for maxres thumbnail 2021-11-12 03:47:58 -08:00
syeopite 48191aca6e
Fix copy-paste error 2021-11-12 03:47:57 -08:00
syeopite 83556bace2
Allow thumbnail queries with QUIC disabled 2021-11-12 03:47:57 -08:00
syeopite 814c9e6c3a
Use https for storyboard image requests 2021-11-12 03:47:57 -08:00
syeopite 547abe17d9
Use https for ggpht requests 2021-11-12 03:47:57 -08:00
syeopite 6b8450558d
Allow storyboard queries with QUIC disabled 2021-11-12 03:47:57 -08:00
syeopite c3747c2d49
Allow ggpht queries with QUIC disabled 2021-11-12 03:47:57 -08:00
syeopite 245122104a
Respect use_quic param and fix typos 2021-11-12 03:47:57 -08:00
syeopite b0f127d4d8
Fix gzip decompression with HTTP::Client 2021-11-12 03:47:57 -08:00
syeopite d379a36c0e
Add compile-time flag to remove code for QUIC 2021-11-12 03:47:50 -08:00
Samantaz Fox 6cf0ff6b49
Remove useless auto_generated param from PlaylistVideo#to_xml
given the variables available in this function's context, 'author' and 'ucid'
provide the same data 'self.author' and 'self.ucid', respectively.

Given that fact, the variable `auto_generated` has no impact on the logic of
this function, and hence can be safely removed. this greatly simplifies the
code and makes it perfectly compatible with crystal's calling convention for
'#to_xml' methods.
2021-10-29 16:26:42 +02:00
Samantaz Fox 86f75758a7
Fix 'to_json' in struct PlaylistVideo 2021-10-29 16:26:42 +02:00
Samantaz Fox 0ec94405ce
Add TODO comments to other places 2021-10-29 16:26:42 +02:00
Samantaz Fox 33780f1995
Also fix 'to_json' in struct Video 2021-10-29 16:26:35 +02:00
Samantaz Fox 1cb715ac9f
serialized_yt_data: force datatype of 'locale' 2021-10-28 17:48:08 +02:00
Samantaz Fox f65b628bf3
serialized_yt_data: Remove default nil value in to_json
this will ensure that two parameters are passed and that it
doesn't collide with 'to_json(builder)'
2021-10-28 17:48:07 +02:00
Samantaz Fox 60fa552469
Fix an infinite recursion caused by #2228
Changes in the aforementioned PR lead to change the behavior
of some old code.

The data type of the parameters aren't explicit enough, which
makes the compiler use the wrong method because of type infering.
2021-10-28 17:48:07 +02:00
syeopite 437bdedb07
Use env.request.resource for instance switch link 2021-10-26 16:12:25 -07:00
syeopite a531f4f057
Rebase error 2021-10-26 16:12:25 -07:00
syeopite bb396a310e
Remove unneeded redirect.invidious.io code in /redirect 2021-10-26 16:12:25 -07:00
syeopite 66e7285108
Only use /redirect when automatically redirecting 2021-10-26 16:12:16 -07:00
Samantaz Fox 2b81a82620
Merge pull request #2529 from DmitrySandalov/master
Feature Request: Localization for trending iv-org#331
2021-10-26 23:49:56 +02:00
Samantaz Fox b555df8377
Merge pull request #2428 from syeopite/ameba-fixes
Fix (some) issues detected by Ameba
2021-10-26 23:34:18 +02:00
Samantaz Fox 232730e909
Merge branch 'master' into master 2021-10-26 23:31:48 +02:00
Samantaz Fox 1e0712625a
Normalize translation key for preferences categories
categories normalized:
 - Miscellanous
 - Player
 - Visual
 - Administrator
 - Data
 - Subscription
2021-10-26 23:17:04 +02:00
Samantaz Fox 88752f32bd
Normalize translation key for user prefrerences
preferences normalized:
 - annotations
 - annotations_subscribed
 - automatic_instance_redirect
 - autoplay
 - captions
 - comments
 - continue
 - continue_autoplay
 - dark_mode
 - default_home
 - extend_desc
 - feed_menu
 - listen
 - local
 - locale
 - max_results
 - notifications_only
 - player_style
 - quality
 - quality_dash
 - related_videos
 - show_nick
 - sort
 - speed
 - thin_mode
 - unseen_only
 - video_loop
 - volume
 - vr_mode
2021-10-26 23:15:39 +02:00
syeopite e2bbc9a6fa
Switch to #sort_by! in pull_popular_videos job 2021-10-25 01:14:14 -07:00
syeopite 17e481c107
Reduce block verbosity further 2021-10-25 01:14:14 -07:00
syeopite b8f27a42a7
Optimize assigning of on_response_received_endpoints 2021-10-25 01:14:14 -07:00
syeopite 575c66efd3
Remove extra dot between [] from ambea copy-pasting. 2021-10-25 01:14:14 -07:00
syeopite 88ad7c8d8d
Update src/invidious/routes/playlists.cr
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2021-10-25 01:14:09 -07:00
syeopite 1adcac175e
Update src/invidious/routes/channels.cr
Co-authored-by: Samantaz Fox <coding@samantaz.fr>
2021-10-25 01:14:09 -07:00
syeopite dd8c412abc
Fix Style/IsAFilter issues 2021-10-25 01:14:08 -07:00
syeopite e969c1490a
Fix Performance/ChainedCallWithNoBang issues 2021-10-25 01:12:26 -07:00
syeopite e91421253e
Fix Style/VerboseBlock issues 2021-10-25 01:12:26 -07:00
syeopite 35d15c7c2b
Fix Style/VariableNames issues 2021-10-25 01:12:26 -07:00
syeopite 20cb751ff6
Fix Lint/UnusedArgument issues 2021-10-25 01:12:26 -07:00
syeopite 0614b52f03
Fix Lint/RedundantStringCoercion issues 2021-10-25 01:12:19 -07:00
Dmitry Sandalov a629521c37
Feature Request: Localization for trending (remove region from server config) 2021-10-25 10:57:27 +03:00
Dmitry Sandalov 0e17d026f2
Feature Request: Localization for trending (fix lint CONTENT_REGIONS end comma) 2021-10-21 23:38:49 +03:00
Dmitry Sandalov 1d78d67af3
Feature Request: Localization for trending (move TRENDING_REGIONS to i18n.cr as CONTENT_REGIONS) 2021-10-21 22:30:49 +03:00
Dmitry Sandalov d9c58c4837
Feature Request: Localization for trending iv-org#331 2021-10-21 14:54:15 +03:00
syeopite 129779a757
Merge pull request #2433 from iv-org/increase-channel-refresh-delay
Decrease channel refresh frequency (1 min -> 1 h)
2021-10-20 19:12:35 +00:00
syeopite c8a985cc77
Merge pull request #2477 from SamantazFox/move-prefs-and-config
Move user preferences and server config
2021-10-18 17:06:07 +00:00
Samantaz Fox cb9b84f940
Move 'extract_text()' to 'extractors_utils.cr' 2021-10-18 16:14:37 +02:00
Samantaz Fox 33d9be0ffb
Move 'extractors.cr' to 'yt_backend' folder 2021-10-18 16:12:49 +02:00
Samantaz Fox 2571e420f3
Move 'add_yt_headers()' to 'connection_pool.cr' 2021-10-18 16:12:18 +02:00
Samantaz Fox e17c8b1f4d
Move 'extract_videos' and 'extract_selected_tab' too 2021-10-18 16:12:18 +02:00
Samantaz Fox 8805ee7c8c
Add fetch_continuation_token back (required by #2215) 2021-10-18 16:12:18 +02:00
Samantaz Fox 7df2fd0bc8
Add 'require' statement to 'invidious.cr' 2021-10-18 16:12:17 +02:00
Samantaz Fox f7f0910953
Remove fetch_continuation_token(): dead code 2021-10-18 16:12:17 +02:00
Samantaz Fox d300797e22
Move the YoutubeConnectionPool code to its own file 2021-10-18 16:12:17 +02:00
Samantaz Fox 56dbe15943
Move proxy & YoutubeAPI code to the yt_backend folder 2021-10-18 16:12:17 +02:00
syeopite 5f65e92500
Merge pull request #2508 from syeopite/lazy-load-images
Lazy load (some) images
2021-10-17 18:25:59 +00:00
syeopite 21b96a3159
Merge pull request #2506 from syeopite/handle-empty-playlist-tabs
Handle YT tabs without content
2021-10-15 22:13:25 +00:00
syeopite 888c7e2c29
Merge pull request #2491 from syeopite/extract-image-routes
Extract image routes
2021-10-15 22:13:10 +00:00
TheFrenchGhosty 22e8f7e287 Fix #2510 2021-10-14 21:00:14 +02:00
TheFrenchGhosty 0ad2793b68 Link to invidious.io/donate/ in the footer 2021-10-14 20:20:25 +02:00
syeopite 585e4617e8
Lazy load (some) images 2021-10-14 08:18:44 -07:00
syeopite 4d44b2c3a4
Handle YT tabs without any content 2021-10-13 11:38:20 -07:00
syeopite b49b5fbda9
Support empty categories 2021-10-13 11:35:31 -07:00
syeopite 17e6093abb
Merge pull request #2497 from Yetangitu/videorendererparser_parse_missing_title
Handle missing title fields in VideoRendererParser.parse (fixes #2495)
2021-10-12 19:04:51 +00:00
Frank de Lange 3dc980e800
Fix for #2488 - parse contents of search results of type=Category (#2496)
* Fix for #2488 - parse contents of search results of type=Category (returned on first page for universal (type=all) queries instead of returning an error.

* Moved content array walker to Category#to_json

As requested by reviewer this change moves the content array walker from the API endpoint to the Category class.

* Update src/invidious/helpers/serialized_yt_data.cr

Co-authored-by: syeopite <70992037+syeopite@users.noreply.github.com>
2021-10-12 18:17:45 +00:00
Frank de Lange c44c1003af Handle missing title fields in VideoRendererParser.parse 2021-10-12 14:56:15 +00:00
Samantaz Fox 678b10dbcf
Lookback 50 videos 2021-10-11 23:52:57 +02:00
diogo a1d6411f1f
propagate video_id field on getting playlists 2021-10-11 23:51:07 +02:00
diogo c4c8a10507
rename from continuation to video_id on get_playlist_videos 2021-10-11 23:49:08 +02:00
diogo ee94ccdeb0
update to new YoutubeAPI 2021-10-11 23:49:08 +02:00
diogo e3df9f9ead
use dig for getting the video index 2021-10-11 23:49:08 +02:00
diogo 62dc629337
linting 2021-10-11 23:49:08 +02:00
diogo dccdf38ce7
increase the max videos in a playlist 2021-10-11 23:49:07 +02:00
diogo 84124b837d
use v1/next instead of searching for the continuation index 2021-10-11 23:49:07 +02:00
diogo 6176da3cbb
linting 2021-10-11 23:46:23 +02:00
diogo 24bc3e2704
no need to normalize the offset 2021-10-11 23:45:22 +02:00
diogo 0a9e19646a
pass the api/v1/playlists with videos before the offset 2021-10-11 23:43:41 +02:00
diogo 65e45c4079
linting 2021-10-11 23:30:49 +02:00
diogo 440105976f
fix cases when high offset video from playlist has no offset in url 2021-10-11 23:30:49 +02:00
diogo 7eba7fbcc7
add index to playlist item 2021-10-11 23:30:49 +02:00