Commit Graph

232 Commits

Author SHA1 Message Date
meow
2dead1a19b JS theme switching simplified 2022-05-16 13:51:28 +03:00
meow
e18b10297b JS fixes: recursion in themes, keys for frame walking, JSON XHR and details-summary in IE11 2022-05-16 13:13:00 +03:00
meow
fd66084388 js code rewrite. Themes rewritten, bugs fixed 2022-05-15 08:38:46 +03:00
meow
f06d5b973b jsdoc type fix 2022-05-06 07:42:15 +03:00
meow
fd890f9c0a fix helpers storage 2022-05-06 07:21:19 +03:00
meow
835237382f fix helpers 2022-05-06 06:16:41 +03:00
meow
7dd699370f js code rewrite. Created _helpers.js with XHR and storage wrapper 2022-05-06 04:46:59 +03:00
Samantaz Fox
b0342b7449
Other minor fixes 2022-05-03 22:28:19 +02:00
meow
dbb1e3f5d8 replace tabs to spaces 2022-04-27 15:01:34 +03:00
meow
fafd4d9396 new lines in the end of file 2022-04-25 13:14:08 +03:00
meow
3431a1b1de console.warn and info instead of log 2022-04-25 12:54:32 +03:00
meow
026ea52445 optional catchng is not supported by IE11 2022-04-25 12:54:31 +03:00
meow
1e60b9a322 destructing binding is not supported by IE11 2022-04-25 12:54:31 +03:00
meow
7450cb1f21 default parameters 2022-04-25 12:54:30 +03:00
meow
cdd5a9e935 replace huphen-minus to real minus 2022-04-25 12:54:30 +03:00
meow
c4cc50ca39 replace innerHTML to safer textContent where possible 2022-04-25 12:54:30 +03:00
meow
9b09d369d9 add variable declarations 2022-04-25 12:54:25 +03:00
meow
12ab11413f fix double variable declaration 2022-04-25 10:17:15 +03:00
meow
352f3640cf transform template string 2022-04-25 10:17:12 +03:00
meow
7940e91cbe single quotes 2022-04-25 10:15:57 +03:00
meow
577a2356a0 convert arrow functions 2022-04-25 10:14:29 +03:00
meow
38ef0b10e7 eqeqeq 2022-04-25 10:14:24 +03:00
meow
c72d3c4a0e semicolons 2022-04-25 10:13:00 +03:00
meow
eb7e48b059 use strict 2022-04-25 10:12:16 +03:00
Émilien Devos
2ea986326d
Bump videojs to 7.12.1 (#3011) 2022-04-22 22:37:45 +02:00
AHOHNMYC
31de39a7a4
Remove insecure protocol in embedded view 2022-04-17 04:32:15 +03:00
Samantaz Fox
8262aa4138
Merge pull request #2895 from MathiusD/master
Persist player volume/speed
2022-04-09 20:05:28 +02:00
Samantaz Fox
95d86ebf22
Sanity check + comment why we add a leading dot 2022-04-09 20:04:42 +02:00
Samantaz Fox
6aa7db2358
Minor code/comments cleaning 2022-04-09 19:58:49 +02:00
138138138
2c22b0839f
Safari audio double duration fix for iOS 15
The previous method breaks Always Loop feature on iOS 15.
The previous player.currentTime(player.duration() + 1) sometimes breaks the entire player.
Now it jumps to (end - 1) seconds when the time goes between over half and (end - 2) seconds.
With Always Loop on, player will jump to the beginning after 1 second.
2022-03-27 18:32:00 +08:00
Féry Mathieu (Mathius)
e66b317f02
Reduce regex in player script
Following correction at:
https://github.com/iv-org/invidious/pull/2895#issuecomment-1048245008
2022-02-22 22:53:26 +01:00
Féry Mathieu (Mathius)
aa8758dec2
Patch updateCookie for preserve extra args (like domain) 2022-02-22 20:05:22 +01:00
Féry Mathieu (Mathius)
ad6b29c09f
Update cookie domain definition in player script
Related with :
https://github.com/iv-org/invidious/pull/2895#issuecomment-1047762544
2022-02-22 18:58:41 +01:00
Féry Mathieu (Mathius)
8e4959a621
Update cookie declaration for preserve SameSite directive 2022-02-22 13:15:53 +01:00
Féry Mathieu (Mathius)
31699468fc
Lint docs of addCurrentTimeToURL in player script
Follow lint indications :
https://github.com/iv-org/invidious/pull/2912#discussion_r811479583
2022-02-22 00:44:36 +01:00
Féry Mathieu (Mathius)
36c7d4270b
Lint conditional deletion of t in addCurrentTimeToURL inside player script
Follow lint indications :
https://github.com/iv-org/invidious/pull/2912#discussion_r811474927
2022-02-22 00:27:00 +01:00
Féry Mathieu (Mathius)
d77586d02d
Remove extra space in shareOptions.embedCode of player script
Follow lint indications :
https://github.com/iv-org/invidious/pull/2912#discussion_r811367117
2022-02-22 00:21:47 +01:00
Féry Mathieu (Mathius)
9979a1b910
Add currentTimestamp in shared url by videojs-share 2022-02-19 17:03:22 +01:00
Féry Mathieu (Mathius)
1e3f4ed398
Lint player.js
Follow lint indications :
- https://github.com/iv-org/invidious/pull/2895#discussion_r809461103
- https://github.com/iv-org/invidious/pull/2895#discussion_r809461622
2022-02-17 22:22:04 +01:00
Féry Mathieu (Mathius)
7048193f00
Move store of modification in Cookie instead of localStorage 2022-02-14 17:22:06 +01:00
Féry Mathieu (Mathius)
17ae2648ed
Modify use of module (Only if video settings are default)
Following remark at https://github.com/iv-org/invidious/pull/2895#issuecomment-1037279953
2022-02-14 17:01:10 +01:00
Féry Mathieu (Mathius)
c952754c8c
Add videojs-persist plugin 2022-02-14 17:01:10 +01:00
Samantaz Fox
53d349a648
Inline a few JS functions
Helps sending less bytes to the client.
2022-02-08 01:37:57 +01:00
Samantaz Fox
b344e1aadb
handlers.js: fix TypeError on document.activeElement.type 2022-02-08 01:26:51 +01:00
Samantaz Fox
3c882cff6e
player shortcuts: ignore numpad 2022-02-08 01:26:51 +01:00
Dimitris Apostolou
7e4690e43c
Fix typos 2022-02-07 14:57:14 +02:00
Samantaz Fox
2289f98c1e
Merge pull request #2846 from iv-org/SamantazFox-fix-search-focus-js
Ignore "/" key handling if search box is focused
2022-01-30 23:53:34 +01:00
Samantaz Fox
15c66e2b01
Ignore "/" key handling if search box is focused
Fixes a side effect of https://github.com/iv-org/invidious/pull/2814
See: https://github.com/iv-org/invidious/issues/2791#issuecomment-1018264144
2022-01-30 23:27:42 +01:00
Émilien Devos
f013a6b1d7
rename hls to vhs in the player
hls method is deprecated: https://github.com/videojs/http-streaming#how-to-use
2022-01-30 15:22:31 +00:00
Samantaz Fox
eba311baa9
Merge pull request #2397 from syeopite/dep-manager-for-videojs-stuff
Add dependency manager script for videojs stuff
2022-01-28 15:30:13 +01:00
Samantaz Fox
8aed1e11c3
Add JS to focus search box on '/' 2022-01-13 22:48:31 +01:00
Samantaz Fox
edcc155482
Merge pull request #2744 from tirz/feature-fix_null_ptr_for_localStorage
fix: null ptr while retaining video time
2022-01-05 03:23:22 +01:00
11Tuvork28
d59323a601
Add check to avoid saving player pos to the
length of the given video by saving a minimum of 15 at the end
2021-12-31 03:24:08 +01:00
Théo Gaillard
73a142fd9b
fix: null ptr while loading/switching theme 2021-12-26 13:53:32 +01:00
Théo Gaillard
0453d08eed
fix: null ptr while retaining time 2021-12-26 13:45:27 +01:00
bbielsa
ed6476b5ea Allow the t parameter to override the stored video playback position 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
b6792cf02e Added default value for get_video_time() which was causing a bug in safari 2021-12-15 19:37:55 +01:00
bbielsa
1261323c66 Remove console.log debugging 2021-12-15 19:37:55 +01:00
bbielsa
2a45b4eba0 Save and load the position for the video using a local storage object, the object is a dictionary, where the key is the video ID, and the value is the time at which the user last left off watching the video. If the user deselected the 'remember video position' checkbox in the preferences this dictionary is cleared 2021-12-15 19:37:55 +01:00
diogo
f13fb80b42
scroll the nextVideo into the top 2021-10-11 23:43:41 +02:00
syeopite
0323202a03
Revert to iv-org fork of silvermine-videojs-quality-selector
Upstream requires at least two additional sources. Whereas Invidious needs it to be
able to display a single additional source for normal (dashless)
qualites. Aka medium and hd720.
2021-09-18 13:30:17 -07:00
syeopite
ceae48088e
Stop shipping VideoJS files 2021-09-18 13:28:48 -07:00
syeopite
5054510d15
Prevent VR from being initialized in listen mode (#2396) 2021-09-15 01:37:23 +02:00
syeopite
50c8afb525
Handle equirectangular projections for VR (#2379) 2021-09-10 07:42:39 +00:00
syeopite
f529948d81
Change videojs-vr to the unminified version 2021-05-23 09:24:49 -07:00
syeopite
6e6f4d5a37
Allow configurable support of interactive 360 vid 2021-05-23 09:22:37 -07:00
syeopite
f06053b1cf
Fix projection settings for VR 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
75e5b49c3a
Merge pull request #2008 from syeopite/mobile-ui
Improve player controls for mobile devices
2021-05-13 10:33:47 +02:00
syeopite
d6585d7583
Overhaul Invidious's "Youtube" player style 2021-05-03 04:22:17 -07:00
syeopite
1924d75c2b
Improve mobile user interface for video player 2021-05-03 03:44:33 -07:00
syeopite
53cdb04be7
Improve mobile ux with videojs-mobile-ui 2021-05-03 03:44:33 -07:00
syeopite
bc5c0f65b8
Add watch on Invidious button to embeds 2021-04-08 04:15:15 -07:00
Andrew Zhao
89fd35e02d fix comment replies 2021-03-20 00:43:12 -04:00
syeopite
83b5fd252e
Enhance search filter UI for JS disabled users
Change filters UI box to use <details>.

Stylize detail button for filter ui

Fix localization for 'filter'

Fix CSS

Fix styling
2021-03-01 03:45:07 -08:00
Perflyst
bcb44ab600
Merge branch 'master' into patch-1 2021-02-26 19:59:16 +01:00
Andrew Zhao
9b79e35d52 do not preload captions 2021-02-24 01:02:55 -05:00
138138138
3b484c362e
Skip duration multiply by playback rate
Fast Forward/Backward like YouTube. The skip duration is multiplied by playback rate.
2021-02-17 21:33:26 +08:00
138138138
121224b1b0
Fix ; () {} 2021-02-10 01:05:29 +08:00
138138138
ddd7f3f384
Update player.js 2021-02-03 11:50:14 +08:00
138138138
a6970e02f9
Fix double duration on all Apple devices
The fix will be applied when Safari browser is detected.
2021-02-02 21:25:13 +08:00
138138138
685902adab
Update player.js
Fixes audio mode duration doubled in iPhone iOS browsers. The player will stop after reaching the real duration. 
iOS() checks both iOS and iPadOS. 
Only tested on iPhone iOS browsers. Testers needed for behavior of iPadOS and MacOS.
2021-02-01 15:59:27 +08:00
Andrew Zhao
4a0b10984a Bump videojs and fix webworker 2021-01-29 19:08:28 -05:00
TheFrenchGhosty
1ad4685bb7
Merge pull request #1629 from tenpura-shrimp/searchui
Add ui for search sort and filter
2021-01-20 12:56:41 +00:00
Andrew Zhao
15ba3325d9 add ui for searching 2021-01-17 14:33:49 -05:00
Andre Borie
3046350cb2 Fix DASH playback bug. 2021-01-17 14:59:18 +00:00
Perflyst
c7e65ce795
Merge pull request #1619 from tenpura-shrimp/ignorevideoplayback
do not add local to xhr when in videoplayback
2021-01-13 10:01:03 +01:00
Andrew Zhao
5a08dfa72f fix incorrect use of setinterval in js 2021-01-10 17:05:08 -05:00
Andrew Zhao
ac0ed14eae do not add local to xhr when in videoplayback 2020-12-29 17:58:24 -05:00
saltycrys
eed78c960d Improve DASH quality preference
Besides `auto`, `best` and `worst` it is now possible to select a target height.
If the target height is not available the closest lower height is selected.
2020-12-19 18:37:41 +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
TheFrenchGhosty
5e8856e65b
Merge pull request #1551 from saltycrys/add-embed-link
Add embed link to watch page
2020-12-08 21:30:13 +00:00
Andrew Zhao
0cb442d40e do not proxy hls on supported browser 2020-12-08 00:53:48 -05:00
saltycrys
680dc1f962 Shuffle URL params
The `list` and `index` params are the most important and come first now.
2020-12-08 02:30:48 +01:00
TheFrenchGhosty
fe73eccb90
Merge pull request #1479 from saltycrys/theme-flash
Apply dark theme immediately
2020-11-28 20:54:45 +00:00
saltycrys
de777907f2 Apply dark theme immediately
Themes are now controlled with a class on the body element.

If a preference is set the body element will have either "dark-theme"
or "light-theme" class. If no preference is set or the preference is
empty the class will be "no-theme".

"dark-theme" and "light-theme" are handled by darktheme.css and
lighttheme.css respectively.

"no-theme" is handled by default.css where depending on the value of
"prefers-color-scheme" the styles corresponding to "dark-theme" or
"light-theme" are applied.

Unfortunately this means that both themes are duplicated, once in the
theme .css and once in default.css.
2020-11-16 04:19:41 +01:00
saltycrys
3379f3ef61 Update videojs-vtt-thumbnails to latest upstream version
Note that the latest version on NPM is over two years old so this was built from source.
2020-11-08 22:02:25 +01:00
TheFrenchGhosty
3ab3a5a236
Merge pull request #713 from leonklingele/keydown-mediakeys-detection
js: add support to detect media keys in keydown handler
2020-09-09 03:15:21 +00:00
Omar Roth
3f97bebd69
Support adding video to playlist from watch page 2020-04-09 10:55:32 -05:00