Samantaz Fox
f124e8cf93
Fix parsing of related videos
2022-02-03 01:37:30 +01:00
Samantaz Fox
d7ebd763f5
video parsing: add secondary_results root element
2022-02-03 01:37:30 +01:00
Samantaz Fox
99091e919c
video parsing: raise if major root element is missing
2022-02-03 01:37:30 +01:00
Samantaz Fox
6f4665588f
search.cr: use do/end rather than inline {} block
2022-01-28 15:54:38 +01:00
Samantaz Fox
63e1165936
videos.cr: use '.dig?()' where possible
2022-01-28 02:22:48 +01:00
Samantaz Fox
12b818a83c
Fix more 'Lint/ShadowingOuterLocalVar' warnings reported by ameba
2022-01-28 02:19:53 +01:00
Samantaz Fox
3bb7fbb2f1
Merge pull request #2719 from SamantazFox/batch-minor-fixes
...
Multiple minor fixes
2022-01-05 17:20:57 +01:00
Samantaz Fox
6c8a5a1e7f
Fix leading spaces being collapsed in descriptions
...
Fixes #1954
2022-01-05 03:32:54 +01:00
Samantaz Fox
d74873fed1
Clean useless database arguments (4/5)
2022-01-04 17:15:43 +01:00
Samantaz Fox
998edba6f0
Move DB queries related to 'videos' in a separate module
2022-01-04 17:13:51 +01:00
bbielsa
b90bceb2dc
Fix formatting of preferences.cr and videos.cr
2021-12-15 19:38:58 +01:00
bbielsa
5abe7fe123
Rename 'remember_position' to 'save_player_pos' for clarity
2021-12-15 19:37:55 +01:00
bbielsa
a6a0bbf398
Add remember_position field to the Preferences and VideoPreferences structs, and add a checkbox in the preferences page to toggle it
2021-12-15 19:37:55 +01:00
Samantaz Fox
ee91effb7a
Merge pull request #2576 from SamantazFox/fix-locales-handling
...
Fix locales handling
2021-12-12 22:26:22 +01:00
Samantaz Fox
f236a6872b
Merge pull request #2659 from SamantazFox/fix-likes-dislikes
...
Fix likes/dislikes
2021-12-06 03:52:38 +01:00
Samantaz Fox
4aa96ecab9
Use 'dig()' in 'find()' statements
2021-12-01 17:32:10 +01:00
Samantaz Fox
4436359d07
Use dig to get category contents
...
Co-authored-by: Matthew McGarvey <matthewmcgarvey14@gmail.com>
2021-11-28 23:44:37 +01:00
Samantaz Fox
91f8395222
Typo: missing '?' when looking for key in dislikes_button
...
Co-authored-by: Matthew McGarvey <matthewmcgarvey14@gmail.com>
2021-11-28 23:37:27 +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
80a513baa5
Use new techniques to get (dis)likes back
2021-11-24 01:22:09 +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
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
33780f1995
Also fix 'to_json' in struct Video
2021-10-29 16:26:35 +02: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
be1a43a337
Manually extract category refactor from 1b569bbc99207cae7c20aa285f42477ae361dd30
...
Also fixes some errors caused by cherry-picking
2021-09-24 21:07:07 -07:00
syeopite
50c8afb525
Handle equirectangular projections for VR ( #2379 )
2021-09-10 07:42:39 +00:00
Émilien Devos
b5d2eb5c70
fetch with innertube api when video is unavailable ( #2329 )
...
+ rename some client type to better names
+ fix thirdParty hack
2021-08-16 10:41:16 -07:00
syeopite
25362f16a0
Readd paid attribute for videos ( #2330 )
2021-08-15 10:38:30 +02:00
Émilien Devos
c06a20e085
Switch to innertube API for videos ( #2220 )
...
Commit history:
- Switch to innertube API for videos
- fix hardcoded strings + fix bypass geo-restriction
2021-08-13 20:29:43 +00:00
Émilien Devos
12b46bbd41
switch to innertube API for about channels ( #2255 )
2021-08-12 16:00:26 -07:00
syeopite
cea38de4ad
Check for existance of "adaptiveFormats" in videos
...
Combined from commits:
- Check for existance of "adaptiveFormats" in videos
- Remove usage of ternary conditional
2021-08-12 19:26:50 +00:00
syeopite
39110ad21c
Use struct for caption object
2021-07-11 16:17:22 -07:00
syeopite
57bb8c610a
Use embed stream pull as fallback for gated videos
2021-07-02 00:25:00 -07:00
syeopite
54b19a04bb
Fix caption parsing on age restricted videos
2021-06-27 08:35:28 -07:00
syeopite
ca4df29670
Wrap comment
2021-06-25 14:14:41 -07:00
syeopite
7da0b2fd7f
Switch from URI::Params.new to URI::Params.encode
2021-06-25 12:14:21 -07:00
syeopite
aa55e67389
Fix extraction of age restricted videos
2021-06-25 07:51:51 -07:00
syeopite
5ba9a1f87d
Fix lint
2021-05-23 09:22:37 -07:00
syeopite
6e6f4d5a37
Allow configurable support of interactive 360 vid
2021-05-23 09:22:37 -07:00
syeopite
df0cd30236
Add support for VR videos through videojs-vr
2021-05-23 09:22:29 -07:00
TheFrenchGhosty
6f899d998f
Merge pull request #1968 from syeopite/iss677
...
Add ability to expand/collapse description.
2021-05-13 10:26:38 +02:00
TheFrenchGhosty
73da8463ca
Merge pull request #1953 from syeopite/fix1673
...
Update regex expressions to handle unexpected '};'
2021-05-13 10:24:44 +02:00
sh4dowb
533d0a1fd4
Added "Read More" button for video descriptions
2021-05-10 00:24:11 -07:00
Samantaz Fox
87c25f83a4
Fix API giving ytimg instead of instance URLs for thumbnails
2021-04-01 02:36:35 +02:00
syeopite
608313c1d1
Update regex expressions to handle unexpected '};'
2021-03-29 17:37:12 -07:00
mark9064
9ae18b0b3b
Fix engagement
...
Engagement was calculated as 0-1 but displayed as a percentage
2021-02-28 11:59:46 +00:00
TheFrenchGhosty
705e4fca06
Merge pull request #1797 from B0pol/published_utc
...
Use UTC for published date
2021-02-25 17:57:02 +01:00
Andrew Zhao
295e5c9731
show how long ago stream started
2021-02-24 23:08:04 -05:00
bopol
237100da18
Use UTC for published date
2021-02-21 12:35:21 +01:00
vhuynh3000
3a2bd4e928
add config to decrypt on demand instead of polling
2021-01-03 20:50:52 +01:00
saltycrys
eea7ca9b72
Add DASH quality preference
...
The options are `auto` (the current and default behavior), `best` and `worst`.
The UI is only updated once playback starts.
2020-12-19 18:37:30 +01:00
saltycrys
2de206cb81
Fix comments
...
The YouTube headers are now always added for requests to YouTube.
Previously they were only added for requests going through QUIC.
The session token is now JSON decoded to unescape escaped Unicode characters.
The comment continuation protobuf has been updated and the request now goes
through the YouTube `pbj` JSON API.
2020-12-06 04:11:41 +01:00
saltycrys
7823c07f1a
Fix extract_polymer_config
...
The `ytInitialPlayerResponse` regex can now handle `var` and `window`
assignments.
The video streams can now be extracted from `player_response` and
`initial_data`.
This fixes the descriptions on videos and videos themselves. Videos are
technically broken right now, but work becasue of a fallback that goes through
embeds.
2020-12-03 18:10:41 +01:00
saltycrys
0f08cc5aa9
Remove backtrace on YouTube error
...
YouTube returning an error is not a bug in Invidious, so it should not print
a backtrace.
2020-11-30 12:57:25 +01:00
Théo Gaillard
1ba17a0e14
feat: centralize ytInitialData parsing
2020-11-26 13:43:53 +01:00
Ben Heller
22d9d16a7a
Update parsing of ytInitialData ( #1427 )
...
Update parsing of ytInitialData
2020-10-22 10:02:15 +00:00
Omar Roth
452d1e8307
Fix warnings with latest version of Crystal
2020-07-26 10:59:31 -04:00
Omar Roth
8ed1c77e47
Skip DASH streams segmented by URL
2020-07-04 14:17:46 -04:00
Omar Roth
1f435522b4
Fix cast from nil in short_description
2020-06-17 19:22:28 -04:00
Omar Roth
38c7dda00f
Fix genreUrl
2020-06-16 17:51:49 -05:00
Omar Roth
1eca969cf6
Add support for polymer redesign
2020-06-15 18:18:04 -05:00
Omar Roth
c1cbdae5ee
Make HOST_URL constant
2020-06-15 18:13:14 -05:00
Omar Roth
75450dcdbc
Update signature param
2020-05-08 08:59:09 -05:00
Omar Roth
ca1185d0be
Fix warnings in latest version of Crystal
2020-04-09 12:18:09 -05:00
Omar Roth
7b88d0efe3
Minor refactor
2020-01-08 20:27:21 -05:00
Omar Roth
0e1d6aa85c
Update error messages for video extractor
2019-11-05 19:39:11 -05:00
Omar Roth
6930570fa2
Add HTTPClient pool
2019-10-25 12:58:16 -04:00
Omar Roth
be055d9dcb
Add support for custom playlists
2019-10-15 21:17:14 -04:00
Omar Roth
2d59fdd178
Fix default value for empty description
2019-10-04 17:04:43 -04:00
Omar Roth
68be24ffc6
Refactor process_video_params
2019-10-04 12:23:28 -04:00
Omar Roth
9dcc87c705
Refactor storyboard generation
2019-10-04 10:26:02 -04:00
Omar Roth
4361ea9686
Update DB calls for 0.31.0
2019-09-24 13:38:50 -04:00
leonklingele
1aefc5b540
Update to Crystal 0.31.0, resolve compiler deprecation warnings, update dependencies ( #764 )
...
* shard: update to crystal 0.31.0
Additionally, no longer use the Crystal "markdown" library which has
been removed from the Crystal stdlib in version 0.31.0.
See https://github.com/crystal-lang/crystal/pull/8115 .
Also fix some deprecation warnings using the following commands:
find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.escape/URI\.encode_www_form/g' "{}" \;
find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.unescape/URI\.decode_www_form/g' "{}" \;
sed -i 's/while \%pull\.kind \!\= \:end_object/until \%pull\.kind\.end_object\?/g' src/invidious/helpers/patch_mapping.cr
2019-09-24 13:31:33 -04:00
Omar Roth
cfb68e3bff
Add additional handling for unplayable videos
2019-09-21 20:06:08 -04:00
Omar Roth
b1fc80b79a
Update sub_count extractor
2019-09-12 21:09:23 -04:00
Omar Roth
7002a316fd
Filter movies from recommended videos
2019-09-12 13:06:10 -04:00
Omar Roth
68cf24d100
Add support for channel redirects
2019-09-08 12:08:59 -04:00
Omar Roth
86491da253
Fix map for recommended videos
2019-09-07 21:56:33 -04:00
Omar Roth
90249cdafa
Fix extractor for short_view_count_text
2019-09-07 20:09:08 -04:00
Omar Roth
70f435e909
Fix nillable for recommendedVideos
2019-08-31 16:24:13 -04:00
Omar Roth
512d82071e
Fix invalid viewCountText in related videos
2019-08-31 15:58:38 -04:00
Omar Roth
3896230199
Fix type cast for viewCount
2019-08-31 01:11:45 -04:00
Omar Roth
01e42c8d6f
Flatten viewCountText
2019-08-27 08:52:22 -05:00
Omar Roth
16056661dd
Update recommended videos extractor
2019-08-27 08:00:04 -05:00
Omar Roth
e768e1e277
Fix allowed_regions for globally blocked videos
2019-08-19 10:16:11 -05:00
Omar Roth
900d8790b3
Refactor geo-bypass
2019-08-14 18:09:07 -05:00
Leon Klingele
46577fb128
Add support for player styles
...
This currently includes the following styles:
- Invidious, the default
- YouTube, using a centered play button and always visible video control bar
Implements https://github.com/omarroth/invidious/issues/670 .
Supersedes https://github.com/omarroth/invidious/pull/661 .
2019-08-09 02:04:36 +02:00
Omar Roth
cc956583fb
Fix detection of unavailable videos
2019-08-05 18:57:32 -05:00
Omar Roth
7a33831d14
Fix detection of premium content
2019-08-04 20:57:34 -05:00
Omar Roth
dce5816b18
Fix image url extractor
2019-07-31 19:16:09 -05:00
Omar Roth
f643175156
Fix typo in video extractor
2019-07-30 10:12:41 -05:00
Omar Roth
0321dda1d7
Fix handling for video content warnings
2019-07-29 20:39:12 -05:00
Omar Roth
ff5d79e3ee
Update video extractor
2019-07-29 19:41:45 -05:00
Omar Roth
af592ea8c1
Fix extraction for ytInitialData
2019-07-11 07:27:54 -05:00
Omar Roth
3c226892c6
Add fix for empty title tag when fetching videos
2019-07-10 10:44:44 -05:00
Omar Roth
2cc25b1e6e
Add administrator option to disable proxying
2019-07-08 12:15:18 -05:00
Omar Roth
fd43b16213
Add av01 formats to itag list
2019-07-05 13:43:44 -05:00
Omar Roth
b22393092b
Fix protocol for video author thumbnails
2019-07-03 13:10:18 -05:00
Omar Roth
e30d70b6d4
Refactor proxy_list into global
2019-06-28 21:17:56 -05:00