Commit graph

141 commits

Author SHA1 Message Date
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
Omar Roth
9dea251862
Fix typo in notifications.js 2019-06-16 12:57:56 -05:00
Omar Roth
17edfd6573
Shorten timeout for AJAX 2019-06-16 12:55:17 -05:00
Omar Roth
485459b8b2
Add clickable title for embedded videos 2019-06-16 09:41:33 -05:00
Omar Roth
552f616305
Fix retry on timeout for AJAX requests 2019-06-15 10:09:32 -05:00
Omar Roth
9122f8acee
Add title overlay to embedded videos 2019-06-08 10:52:47 -05:00
Omar Roth
ef8c9f093c
Add premiere date to watch page 2019-06-08 10:18:45 -05:00
Omar Roth
8c944815bc
Minor refactor 2019-06-07 21:13:50 -05:00
Omar Roth
8521f04087
Use short URL for sharing videos 2019-06-05 11:10:23 -05:00
Omar Roth
e23bab0103
Only add notification event listener after onload 2019-06-01 17:38:49 -05:00
Omar Roth
0338fd42e1
Add support for Web notifications 2019-06-01 16:09:17 -05:00
Omar Roth
efd54b7523
Add 'comments' as URL parameter 2019-05-29 14:24:30 -05:00
Omar Roth
a7578aa709
Update videojs-vtt-thumbnails version 2019-05-27 20:55:34 -05:00
Omar Roth
de77c71042
Add "local" to "next video" URLs 2019-05-27 12:16:22 -05:00
Omar Roth
4345b1d930
Reset playbackRate once player has caught up to source 2019-05-20 12:15:48 -05:00
Omar Roth
7d2e1f63b5
Refactor watched_widget.js 2019-05-16 20:51:17 -05:00
Omar Roth
e833ccf309
Fix comments for age-restricted videos 2019-05-14 08:18:57 -05:00
Omar Roth
bfa488f77d
Add option to toggle theme without reload 2019-05-09 11:50:44 -05:00
Omar Roth
03be793930
Fix typo in player.js 2019-05-09 08:36:36 -05:00
Omar Roth
37d88d5ff7
Remove referer from XHR 2019-05-08 09:16:11 -05:00
Omar Roth
058711d3a8
Refactor player.js 2019-05-06 11:23:14 -05:00
Omar Roth
2ddc61fa5c
Refactor embed.js 2019-05-06 10:37:22 -05:00
Omar Roth
2faa2ed1f4
Refactor watch.js 2019-05-06 09:48:33 -05:00
Omar Roth
5bda36fb28
Remove source map URL from videojs.hotkeys.min.js 2019-05-05 20:45:46 -05:00
Omar Roth
0099a9822e
Refactor subscribe_widget 2019-05-05 08:38:55 -05:00
Omar Roth
716705aa15
Add mouse hover for video previews 2019-05-04 08:43:41 -05:00
Omar Roth
6d92775ab5
Add video previews 2019-05-02 14:36:32 -05:00
Omar Roth
1a9360ca75
Minor formatting changes 2019-05-01 20:03:39 -05:00
Omar Roth
6fb44083ec
Update source and licenses 2019-05-01 07:40:18 -05:00
glmdgrielson
e48a000784 Add annotation player
This addresses issue #110 from master. Yay for adding annotations back!
2019-04-30 21:19:13 -05:00
Omar Roth
075adb4f03 Add http-source-selector 2019-04-28 10:05:15 -05:00
Omar Roth
f6d8df1e83 Update videojs-share 2019-04-24 08:48:34 -05:00
Omar Roth
e8c5246645 Fix share button 2019-04-12 09:31:05 -05:00
Omar Roth
56b0952cd1 Update sources 2019-03-23 11:09:31 -05:00
Omar Roth
79c1040796 Remove sourceMap link for JS source 2019-03-08 10:36:14 -06:00
Omar Roth
1692f7640c Remove JS from download widget 2019-02-24 11:04:46 -06:00
Omar Roth
f8467fcda6 Fix locale text for "Show replies" 2019-02-16 14:26:08 -06:00
Omar Roth
c0fdc28a84 Fix colors and data-url in download widget 2019-01-27 21:20:52 -06:00
Omar Roth
1a9057a175 Add fix to download widget for titles with unescaped characters 2019-01-24 00:01:56 -06:00
Omar Roth
08e8d0f56f Fix typo in default.css 2019-01-23 19:25:09 -06:00
Omar Roth
fb535ad6bb Add download widget 2019-01-23 19:05:24 -06:00
Omar Roth
dcddb6fb83 Update license information 2018-11-11 08:47:42 -06:00
Omar Roth
7f868ecdf9 Add unminimized sources and license information 2018-11-10 11:08:03 -06:00
Omar Roth
3ee7201f5d Comma seperate comment scores 2018-10-20 13:52:06 -05:00
Omar Roth
57d88ffcc8 Fix fallback for comments 2018-10-15 11:15:23 -05:00
Omar Roth
f7125c1204 Move watch page JS into seperate file 2018-10-06 22:20:40 -05:00
Omar Roth
b3ca3922a9 Add experimental dash support 2018-09-24 19:28:36 -05:00
Omar Roth
c1f17f2f82 Show quality selector even if only one source 2018-09-09 14:23:37 -05:00
Omar Roth
bd820b9b48 Update videojs-share.js 2018-09-07 15:55:11 -05:00
Omar Roth
3ec684ae71 Host assets locally 2018-09-06 09:59:17 -05:00
Omar Roth
252f1c0af3 Remove sources for quality selector 2018-03-25 00:21:22 -05:00
Omar Roth
e37e9a0b8e Add qualityselector 2018-03-13 18:37:56 -05:00
Omar Roth
567856363b Remove assets from repo 2018-02-06 18:52:01 -06:00
Omar Roth
9e4d0bd3a5 Add video,js, Genesis 3:6 2018-01-16 16:28:49 -06:00
Omar Roth
15cc2ff622 Remove jquery 2017-12-30 15:22:06 -06:00
Omar Roth
26959020b7 Initial commit 2017-11-23 01:48:55 -06:00