Commit Graph

1871 Commits

Author SHA1 Message Date
059f50dad4 Add 'playlistThumbnail' to playlist objects 2019-08-21 19:08:11 -05:00
4c9975a7d9 Use accurate sub count when available 2019-08-21 18:35:54 -05:00
9f9cc1ffb5 Refactor search extractor 2019-08-21 18:23:20 -05:00
e768e1e277 Fix allowed_regions for globally blocked videos 2019-08-19 10:16:11 -05:00
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
2b94975345 Fix playlist_thumbnail extractor 2019-08-16 20:06:21 -05:00
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
7eaac995bd Change font family to better native selection (#679) 2019-08-16 15:59:05 -05:00
a19cdb5e72 Fix season playlists 2019-08-16 15:46:59 -05:00
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
19eceb4ecc Merge pull request #694 from 2secslater/player-preferences-typo-fix
Fix annoying typo in Preferences view for the player view
2019-08-14 19:17:29 -05:00
dcff1ec25f Merge pull request #698 from leonklingele/docker-build-on-alpine-edge
docker: use alpine:edge base image for building
2019-08-14 18:50:15 -05:00
567cda4cd3 docker: use alpine:edge base image for building
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).
2019-08-15 01:37:25 +02:00
900d8790b3 Refactor geo-bypass 2019-08-14 18:09:07 -05:00
cad284519f Merge pull request #696 from leonklingele/shard-update-dependencies-and-crystal-version
shard: update dependencies and Crystal version
2019-08-14 18:07:26 -05:00
0727acf458 Merge pull request #695 from leonklingele/crystalfmt
Format Crystal files
2019-08-14 18:06:37 -05:00
d8813179be Merge pull request #682 from leonklingele/ci-travis-test-docker-stages
travis: also test Docker build
2019-08-14 17:59:53 -05:00
10d690c8fb shard: update to crystal 0.30.1 2019-08-14 23:44:27 +02:00
52f71cdda0 shard: update dependencies
This updates will/crystal-pg to 0.18.1 and kemalcr/kemal tp 0.26.0.
2019-08-14 23:44:03 +02:00
2a9a348164 Format Crystal files
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
2019-08-14 23:31:07 +02:00
00346781bb Fix annoying typo in Preferences view 2019-08-14 20:12:37 +00:00
4c6e92eea1 travis: also test Docker build 2019-08-10 17:00:50 +02:00
b63f469110 Fix typo in ConfigPreferences 2019-08-09 14:09:24 -05:00
f6f176afc1 Merge pull request #680 from leonklingele/add-player-styles
Add support for player styles
2019-08-09 13:49:51 -05:00
3de37a61c5 Update videojs-http-source-selector 2019-08-09 10:36:41 -05:00
2d955dae48 Force redirect for videos without audio 2019-08-09 10:36:22 -05:00
46577fb128 Add support for player styles
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.
2019-08-09 02:04:36 +02:00
37dba6ebfd Add Postgres health check 2019-08-07 08:07:36 +00:00
66b949bed1 Format history.ecr 2019-08-05 18:57:32 -05:00
c9a05187fb Update icon for unlisted videos 2019-08-05 18:57:32 -05:00
cc956583fb Fix detection of unavailable videos 2019-08-05 18:57:32 -05:00
14206efb09 Merge pull request #671 from leonklingele/shard-upgrade-dependencies
shard: update dependencies
2019-08-04 22:37:36 -05:00
5e6d7f5d16 shard: update dependencies 2019-08-05 04:19:09 +02:00
7a33831d14 Fix detection of premium content 2019-08-04 20:57:34 -05:00
4f120e19fd Fix overflow for channel description 2019-08-04 09:46:26 -05:00
37d064d836 Bump Crystal version 2019-08-04 09:16:29 -05:00
824150f89b Add Travis CI and pin dependencies (#655) 2019-08-04 09:10:32 -05:00
f7dc4cca2c Merge pull request #665 from leonklingele/improve-dockerfile
docker: various improvements to Dockerfile
2019-08-04 08:07:16 -05:00
ea39bb4334 docker: various improvements to Dockerfile
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
2019-08-04 11:21:32 +02:00
5680d5a7be Sort dash representations by framerate 2019-08-02 15:24:38 -05:00
004246124b Merge pull request #664 from leonklingele/css-fix-jumpy-page-on-search-field-focus
Fix jumpy page on search field focus
2019-08-01 12:50:08 -05:00
c41beae99a Add fix for channels with empty descriptions 2019-08-01 07:49:33 -05:00
fe2cffb25b Fix jumpy page on search field focus 2019-08-01 09:35:57 +02:00
f71d5c429d Add description to channel pages 2019-07-31 19:29:16 -05:00
dce5816b18 Fix image url extractor 2019-07-31 19:16:09 -05:00
f99a7b2a8c Fix engagement for zero-view videos (#654)
Division by zero resulted in 'NaN'.

Fixes https://github.com/omarroth/invidious/issues/653.
2019-07-31 09:48:45 -05:00
ec36c69984 Update German translation 2019-07-31 09:37:43 -05:00
2458db03de Update Icelandic translation 2019-07-31 09:36:55 -05:00
7528b7bc1a Update german translation (#650) 2019-07-31 09:32:16 -05:00
8af33084ed French translation updated - New words, consistency (#643)
* New words translated, more consistency
2019-07-31 08:52:41 -05:00