Commit Graph

73 Commits (125997f45f152b8cbe69de78cafce54a5d7064f7)

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.
Andrew Zhao 0cb442d40e do not proxy hls on supported browser
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.
TheFrenchGhosty 3ab3a5a236
Merge pull request from leonklingele/keydown-mediakeys-detection
js: add support to detect media keys in keydown handler
leonklingele 70cbe91776
Migrate to a good Content Security Policy ()
So attacks such as XSS (see [0]) will no longer be of an issue.

[0]: https://github.com/omarroth/invidious/issues/1022
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.
Jorge Maldonado Ventura dd9f1024f4 Remove invalid HTML from embed player
Jorge Maldonado Ventura 58c1a68ad9 Change embed code
Omar Roth 23ccaea2ff
Fix comment event listener
leonklingele acaf7b969a js: add support to detect alt, meta and control key in keydown handler ()
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.
leonklingele e6b4e12689 js: add support for keydown events ()
* 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.
Omar Roth e8a56e0fea
Add '1.75' playback speed
Omar Roth 1477f99c2c
Add target="_blank" to embed titles
Omar Roth 2e1f9d5fa9
Fix title URL for embedded videos
Omar Roth 485459b8b2
Add clickable title for embedded videos
Omar Roth 552f616305
Fix retry on timeout for AJAX requests
Omar Roth 9122f8acee
Add title overlay to embedded videos
Omar Roth ef8c9f093c
Add premiere date to watch page
Omar Roth 8c944815bc
Minor refactor
Omar Roth 8521f04087
Use short URL for sharing videos
Omar Roth 4345b1d930
Reset playbackRate once player has caught up to source
Omar Roth 03be793930
Fix typo in player.js
Omar Roth 058711d3a8
Refactor player.js