| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
* 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.
|
|
|
|
|
|
* 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>).
|
|
This fixes currently failing Docker builds.
kemalcr/kemal in version 0.26.0 requires Crystal 0.30.0 which is not
yet available on Alpine 3.10 (previously used as the Docker base image).
|
|
|
|
|
|
This updates will/crystal-pg to 0.18.1 and kemalcr/kemal tp 0.26.0.
|
|
Crystal 0.30.1 apparently introduced some breaking changes to their
code formatter which made CI fail.
The code was automatically formatted by running
crystal tool format
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This includes the following changes:
- Use multi-stage build to run application in an optimized environment, see
https://docs.docker.com/develop/develop-images/multistage-build/
- Run application on alpine instead of archlinux to further reduce image size
- Build Crystal application with --release for improved runtime performance
- Run application as non-root user for better security, see
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user
- Only rebuild Docker layers when required
|
|
|
|
|
|
|
|
|
|
|
|
Division by zero resulted in 'NaN'.
Fixes https://github.com/omarroth/invidious/issues/653.
|
|
|
|
|
|
|
|
* New words translated, more consistency
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|