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
Omar Roth
0e58d99f4e
Fix player mouseover events
2020-03-27 09:47:46 -05:00
Omar Roth
bd7950b757
Add toggle_parent to dynamic handlers
2020-03-15 18:52:49 -04:00
leonklingele
70cbe91776
Migrate to a good Content Security Policy ( #1023 )
...
So attacks such as XSS (see [0]) will no longer be of an issue.
[0]: https://github.com/omarroth/invidious/issues/1022
2020-03-15 16:46:08 -05:00
Kyle Copperfield
a3045a3953
Use a MediaQueryListener to toggle on demand. Tested on OSX. ( #925 )
...
Closes #867 .
2020-03-02 09:33:47 -06:00
Leon Klingele
e3593fe197
js: add support to detect media keys in keydown handler
...
See [0] for all the relevant codes.
[0]: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values#Multimedia_keys
Fixes a regression introduced in e6b4e12689
.
Fixes https://github.com/omarroth/invidious/issues/712 .
2020-03-01 17:43:19 +01:00
Jorge Maldonado Ventura
dd9f1024f4
Remove invalid HTML from embed player
2020-02-01 19:25:03 +01:00
Omar Roth
72bfdfd925
Merge pull request #975 from jorgesumle/embed
...
Change embed code
2020-02-01 11:11:12 -05:00
Omar Roth
0560d2cfb7
Bump video.js
2020-01-08 20:19:47 -05:00
Jorge Maldonado Ventura
58c1a68ad9
Change embed code
2020-01-04 15:27:45 +01:00
Omar Roth
23ccaea2ff
Fix comment event listener
2019-10-18 12:44:11 -04:00
Omar Roth
be055d9dcb
Add support for custom playlists
2019-10-15 21:17:14 -04:00
Omar Roth
330ffb803f
Remove invalid source map directive for videojs-quality-selector
2019-10-14 21:07:07 -04:00
Omar Roth
553d52a45e
Update silvermine quality selector
2019-09-26 17:11:10 -04:00
Omar Roth
9766322e99
Update videojs-quality-selector
2019-09-21 22:22:20 -04:00
Omar Roth
7d3ecd2297
Bump JS/CSS dependencies
2019-08-27 08:01:33 -05:00
leonklingele
acaf7b969a
js: add support to detect alt, meta and control key in keydown handler ( #704 )
...
This fixes a quite severe user experience issue where pressing the
'alt', 'meta' and/or 'ctrl' key along with one of the supported keys
(e.g. 'f' to enter video fullscreen mode) would overwrite the default
browser behavior. In the case of 'f+meta' we would enter fullscreen
mode, and not open the browser search panel as one might expect.
This change is required to stay consistent with the way YouTube
handles keydown events.
2019-08-18 23:22:39 -05:00
leonklingele
e6b4e12689
js: add support for keydown events ( #678 )
...
* js: add support for keydown events
This will modify the player behavior even if the player element is unfocused.
Based on the YouTube key bindings, allow to
- toggle playback with space and 'k' key
- increase and decrease player volume with up / down arrow key
- mute and unmute player with 'm' key
- jump forwards and backwards by 5 seconds with right / left arrow key
- jump forwards and backwards by 10 seconds with 'l' / 'j' key
- set video progress with number keys 0–9
- toggle captions with 'c' key
- toggle fullscreen mode with 'f' key
- play next video with 'N' key
- increase and decrease playback speed with '>' / '<' key
* js: remove unused dependency 'videojs.hotkeys.min.js'
Support for controlling the player volume by scrolling over it is
still retained by copying over the relevant code part from the
aforementioned library.
2019-08-16 16:01:14 -05:00
psvenk
f54fbd057e
Add prefers-color-scheme support ( #601 )
...
* Add prefers-color-scheme support
This should fix <https://github.com/omarroth/invidious/issues/559 >.
The cookie storage format has been changed from boolean
("true"/"false") to tri-state ("dark"/"light"/""), so that users
without a cookie set will get dark mode if they have enabled the dark
theme in their operating system. The code for handling the cookie
state, along with the user's operating system theme, has been factored
out into a new function `update_mode`, which is called both at window
load and at the "storage" event listener, because the "storage" event
listener is only trigerred when a change is made to the localStorage
from another tab/window (for more info - see
<https://stackoverflow.com/a/4679754 >).
2019-08-15 11:29:55 -05:00
Omar Roth
3de37a61c5
Update videojs-http-source-selector
2019-08-09 10:36:41 -05:00
Omar Roth
d034fecc89
Remove default arguments from function definitions
2019-07-20 20:33:44 -05:00
Omar Roth
e8a56e0fea
Add '1.75' playback speed
2019-07-14 10:13:40 -05:00
Omar Roth
bcd239ac2b
Add community page
2019-07-09 09:31:04 -05:00
Omar Roth
cc6d6ddd66
Prevent firing _onStreamProgress after aborting
2019-06-22 20:08:37 -05:00
Omar Roth
bbb40aef51
Fix event listener for notifications.js
2019-06-16 18:11:34 -05:00
Omar Roth
485a3e29e7
Optimize get_subscriptions AJAX
2019-06-16 17:33:24 -05:00
Omar Roth
1477f99c2c
Add target="_blank" to embed titles
2019-06-16 14:49:00 -05:00
Omar Roth
2e1f9d5fa9
Fix title URL for embedded videos
2019-06-16 13:14:56 -05:00