Commit graph

547 commits

Author SHA1 Message Date
Omar Roth 55f0a82249
Remove Patreon links 2019-10-12 10:07:18 -04:00
Omar Roth e390405d0c
Update privacy policy 2019-09-24 20:47:49 -04:00
leonklingele 1aefc5b540 Update to Crystal 0.31.0, resolve compiler deprecation warnings, update dependencies (#764)
* shard: update to crystal 0.31.0

Additionally, no longer use the Crystal "markdown" library which has
been removed from the Crystal stdlib in version 0.31.0.
See https://github.com/crystal-lang/crystal/pull/8115.

Also fix some deprecation warnings using the following commands:

    find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.escape/URI\.encode_www_form/g' "{}" \;
    find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.unescape/URI\.decode_www_form/g' "{}" \;
    sed -i 's/while \%pull\.kind \!\= \:end_object/until \%pull\.kind\.end_object\?/g' src/invidious/helpers/patch_mapping.cr
2019-09-24 13:31:33 -04:00
Omar Roth b1fc80b79a
Update sub_count extractor 2019-09-12 21:09:23 -04:00
Omar Roth 50d793e49b
Hide video count for auto-generated channels 2019-09-12 13:11:21 -04:00
Omar Roth 16056661dd
Update recommended videos extractor 2019-08-27 08:00:04 -05:00
Omar Roth 4c9975a7d9
Use accurate sub count when available 2019-08-21 18:35:54 -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
Omar Roth a19cdb5e72
Fix season playlists 2019-08-16 15:46:59 -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
Andrew 00346781bb
Fix annoying typo in Preferences view 2019-08-14 20:12:37 +00:00
Leon Klingele 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
Omar Roth 66b949bed1
Format history.ecr 2019-08-05 18:57:32 -05:00
Omar Roth c9a05187fb
Update icon for unlisted videos 2019-08-05 18:57:32 -05:00
Omar Roth 4f120e19fd
Fix overflow for channel description 2019-08-04 09:46:26 -05:00
Omar Roth f71d5c429d
Add description to channel pages 2019-07-31 19:29:16 -05:00
Omar Roth ff5d79e3ee
Update video extractor 2019-07-29 19:41:45 -05:00
Omar Roth 4ee3ec09df
Autofill search for playlists and communities page 2019-07-27 08:51:10 -05:00
Omar Roth 6215259565
Add support for Google login verification 2019-07-22 13:28:36 -05:00
Omar Roth e736626953
Fix continuation for last page of playlists 2019-07-20 11:38:20 -05:00
Omar Roth 94638fe42c
Update translations 2019-07-18 21:52:25 -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 2cc25b1e6e
Add administrator option to disable proxying 2019-07-08 12:15:18 -05:00
Omar Roth 1485ee8027
Fix channel thumbnail size in FireFox 2019-07-03 10:53:33 -05:00
Omar Roth 196ee1aa8b
Add '/api/v1/channels/comments' 2019-07-02 18:53:19 -05:00
Omar Roth 501b523680
Fit channel link to content 2019-07-01 14:26:27 -05:00
Omar Roth 48ad744ebf
Add support for default channel banners 2019-06-30 12:59:38 -05:00
Omar Roth 556d5b0ca5
Resize channel thumbnails 2019-06-30 12:39:51 -05:00
Omar Roth a58f5a925a
Add banner to "/playlists" page 2019-06-28 21:00:28 -05:00
Omar Roth 0d0d3edeae
Add thumbnail and banners to channel page 2019-06-28 20:48:24 -05:00
Omar Roth 17edfd6573
Shorten timeout for AJAX 2019-06-16 12:55:17 -05:00
Omar Roth 458e9d6cc7
Update license for sse.js 2019-06-16 09:46:09 -05:00
Omar Roth 485459b8b2
Add clickable title for embedded videos 2019-06-16 09:41:33 -05:00
Omar Roth fcf377d26b
Fix escaping for login page 2019-06-15 20:42:42 -05:00
Omar Roth 552f616305
Fix retry on timeout for AJAX requests 2019-06-15 10:09:32 -05:00
Omar Roth d1635cf24e
Set max preference size 2019-06-08 16:04:55 -05:00
Omar Roth b43e9ed7e7
Refactor 'description_html' 2019-06-08 15:08:27 -05:00
Omar Roth 12b2ab5da8
Add 'to_json' into respective structs 2019-06-08 13:31:41 -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 2febc268f7
Fix warnings in Crystal 0.29 2019-06-07 21:13:50 -05:00
Omar Roth 8c944815bc
Minor refactor 2019-06-07 21:13:50 -05:00
Omar Roth 576067c1e5
Fix preference for web notifications 2019-06-01 18:06:44 -05:00
Omar Roth 0338fd42e1
Add support for Web notifications 2019-06-01 16:09:17 -05:00
Omar Roth 69ab236f3f
Fix typo in '/watch' 2019-05-30 19:00:38 -05:00
Omar Roth 64464f23ae
Add 'views' to channel_videos 2019-05-30 18:59:13 -05:00
Omar Roth a7578aa709
Update videojs-vtt-thumbnails version 2019-05-27 20:55:34 -05:00
Omar Roth fc346b4efd
Add 'View playlist on YouTube' 2019-05-27 14:54:50 -05:00
Omar Roth f66fa1150e
Fix inconsistency in translation 2019-05-27 11:56:52 -05:00
Omar Roth 29e9e0f2cc
Provide empty response on 204 2019-05-27 08:35:38 -05:00
Omar Roth 7d2e1f63b5
Refactor watched_widget.js 2019-05-16 20:51:17 -05:00
Omar Roth d93df15eff
Update licenses 2019-05-10 15:33:23 -05:00
Omar Roth fd8af88493
Use separate asset version for cache busting 2019-05-09 22:58:34 -05:00
Omar Roth bfa488f77d
Add option to toggle theme without reload 2019-05-09 11:50:44 -05:00
Omar Roth 4616f889fd
Add simple form of cache busting 2019-05-08 08:58:10 -05:00
Omar Roth 59cbf95c4f
Update licenses 2019-05-06 11:27: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 e04b7d0f01
Fix video previews for embeds 2019-05-06 10:28:20 -05:00
Omar Roth 2faa2ed1f4
Refactor watch.js 2019-05-06 09:48:33 -05:00
Omar Roth 0099a9822e
Refactor subscribe_widget 2019-05-05 08:38:55 -05:00
Omar Roth 757993064e
Fix view_count_text extractor for livestreams 2019-05-04 08:43:41 -05:00
Omar Roth 570715100b
Fix text size for premieres 2019-05-03 18:00:16 -05:00
Omar Roth ad8750b40d
Fix referer escaping 2019-05-03 12:15:21 -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
Omar Roth 56fe3ede5b Add annotation preferences 2019-04-30 23:39:04 -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 6d1c150ff5
Fix typo 2019-04-30 21:18:35 -05:00
Omar Roth 21190a240f
Add support for adding banner to site header 2019-04-30 21:17:34 -05:00
Omar Roth c6c92184d9 Fix duplicate id on watch page 2019-04-29 09:34:49 -05:00
Omar Roth c4fbc65354 Provide bundled streams first in download widget 2019-04-28 18:51:10 -05:00
Omar Roth ef309bd8d0 Translate value for 'familyFriendly' 2019-04-28 14:56:06 -05:00
Omar Roth 03891b66b6 Show view count for related videos 2019-04-28 14:14:44 -05:00
Omar Roth f08d53b0c6 Add view count to livestreams in search results 2019-04-28 14:11:23 -05:00
Omar Roth 6859b85266 Add 'lang' to HTML tag 2019-04-28 10:05:15 -05:00
Omar Roth 075adb4f03 Add http-source-selector 2019-04-28 10:05:15 -05:00
Omar Roth 8c2958b86d Add 'local=true' to hlsUrl 2019-04-25 12:41:35 -05:00
Omar Roth 64aecba7a0 Add option to change passwords 2019-04-22 10:18:17 -05:00
Allan Nordhøy aa10a9d899 Language fixes (#366)
* Language fixes
2019-04-19 11:14:11 -05:00
Omar Roth bb5a1ad513 Add 'continue_autoplay' preference 2019-04-19 09:38:27 -05:00
Omar Roth eac0a52f10 Fix shiftKey for player hotkeys 2019-04-19 09:20:41 -05:00
Omar Roth 2a6c81a89d Add authentication API 2019-04-18 16:23:50 -05:00
Omar Roth ae7b5fac74 Fix handling for comments 2019-04-16 08:20:25 -05:00
Omar Roth 26168a9520 Refactor CSRF tokens (using format in #473) 2019-04-15 23:23:40 -05:00
Omar Roth 05513bcd1e Fix "placeholder=" text in locales 2019-04-14 19:17:56 -05:00
Omar Roth f5dd135ed8 Add 'view as playlist' option to trending page 2019-04-14 19:04:10 -05:00
Omar Roth ca515f2eae Use headset icon for audio mode 2019-04-14 18:24:25 -05:00
Omar Roth b51fd7fc13 Add view count to video items 2019-04-14 17:43:44 -05:00
Omar Roth efe86c37b2 Show subscribe text when not logged in 2019-04-14 17:10:32 -05:00
Omar Roth d20a4a8bfc Fix grid size for smaller devices 2019-04-14 17:04:52 -05:00
Omar Roth 9a7fea0447 Add playlist support to embedded videos 2019-04-13 14:26:32 -05:00
Omar Roth e8c5246645 Fix share button 2019-04-12 09:31:05 -05:00
Omar Roth 5de300fb35 Fix default background color for player 2019-04-11 17:03:37 -05:00
Omar Roth 5e141e869d Add subtitles to download widget 2019-04-11 12:08:43 -05:00
Omar Roth b8c87632e6 Add feed link to watch history 2019-04-09 17:41:25 -05:00
Omar Roth c8cf4fe09c Fix subscription_ajax for Google accounts 2019-04-07 12:59:12 -05:00
Omar Roth f6615a490d Allow disabling download widget for specific videos (in compliance with DMCA) 2019-04-03 14:54:38 -05:00
Omar Roth 388e58bf1e Update handling for preferences 2019-03-28 13:43:40 -05:00
Omar Roth 7a0f0ca5ce Fix thin mode 2019-03-27 11:31:05 -05:00
Omar Roth 63be05146d Fix expire for prefs cookie 2019-03-27 11:15:23 -05:00
Omar Roth 8d9569e06b Add 'unlisted' icon to watch page 2019-03-26 13:01:23 -05:00
Omar Roth 13924a8353 Fix duplicate file extension 2019-03-25 17:09:20 -05:00
Omar Roth 0c6cede287 Format files and trim trailing whitespace 2019-03-23 14:05:13 -05:00
Omar Roth 1c8075ca40 Add 0.25 to list of playback rates 2019-03-23 11:14:15 -05:00
Omar Roth 56b0952cd1 Update sources 2019-03-23 11:09:31 -05:00
Omar Roth fd26f9f34e Add support for premieres to search and feed 2019-03-22 14:54:35 -05:00
Omar Roth 88b70973cc Add 'premiereTimestamp' to /api/v1/videos 2019-03-22 14:53:19 -05:00
Omar Roth d5c6d74f14 Fix loading icon size 2019-03-20 09:20:31 -05:00
Omar Roth 9091b36249 Don't require CAPTCHA for login 2019-03-19 20:13:16 -05:00
Omar Roth 21285d9f6d Fix file extension for download widget 2019-03-17 18:52:01 -05:00
Omar Roth d85020079f Add shortcuts for changing playbackRate 2019-03-17 12:21:55 -05:00
Omar Roth 956dc382ea Clean up player CSS 2019-03-17 12:21:55 -05:00
Omar Roth 99aa214859 Add 'thumbnail_id' to playlists 2019-03-17 12:21:47 -05:00
Omar Roth 405e98f429 Add 1.25 and 0.75 playback rates 2019-03-16 09:17:57 -05:00
Omar Roth 4a56a2cad6 Remove outline when clicking on player 2019-03-15 08:34:37 -05:00
Omar Roth e738e57e26 Add 'local' option to preferences 2019-03-12 21:05:49 -05:00
Omar Roth 21ebc398fa Add privacy policy 2019-03-12 20:58:25 -05:00
Omar Roth 46e985b306 Add 'dark_mode', 'thin_mode' as query parameters 2019-03-11 12:44:25 -05:00
Omar Roth fdc014af67 Add '&local=true' to watch and embed pages 2019-03-11 11:43:48 -05:00
Omar Roth 8f41130a14 Update and add missing text to locales 2019-03-08 22:23:17 -06:00
Omar Roth 9b8703cf49 Fix tab name for auto-generated channels 2019-03-08 22:01:59 -06:00
Omar Roth 10abcd519f Add RSS alternate to channel and subscription pages 2019-03-07 13:34:33 -06:00
Eugene Molotov 7380585f00
Add alternate link with rss feed to playlist page 2019-03-07 12:26:30 +05:00
Omar Roth 7557ffcda1 Mark deleted channels in /subscription_manager 2019-03-06 09:54:56 -06:00
Omar Roth a65998274f Defer loading videojs-share until last 2019-03-05 15:22:04 -06:00
Tommy Miland a1af75a87f Update template.ecr
Add current branch to footer.
Add icons to footer.
2019-03-04 04:05:09 +01:00
Omar Roth 2c9b148627 Add 'playlists' tab to channel page 2019-03-03 10:56:04 -06:00
Omar Roth 9b202adebd Remove <hr> from footer 2019-03-02 20:12:36 -06:00
Omar Roth 4be82c5ca6 Add /api/v1/stats 2019-03-01 19:25:16 -06:00
Omar Roth 5859cd290c Clean up footer and add version 2019-03-01 16:52:37 -06:00
Omar Roth a39b1583da Add administrator preferences 2019-03-01 16:06:45 -06:00
Omar Roth ea52c05f05 Fix escaping for video filenames 2019-02-28 21:29:01 -06:00
Omar Roth 27cd1e73f3 Fix feed menu on mobile 2019-02-26 09:23:16 -06:00
Omar Roth 7a7049b25b Escape video titles in download widget 2019-02-25 17:54:55 -06:00
Omar Roth 6b12449be4 Show playlists for auto-generated channels 2019-02-24 16:39:44 -06:00
Omar Roth 7e6cf7b979 Add title text for icons 2019-02-24 16:19:31 -06:00
Omar Roth c5a17cd043 Add subscriptions to feed menu 2019-02-24 11:53:10 -06:00
Omar Roth 1692f7640c Remove JS from download widget 2019-02-24 11:04:46 -06:00
Omar Roth ebcb21dbfe Allow user to save preferences without creating an account 2019-02-24 09:49:48 -06:00
Omar Roth 5bf3c28436 Add better indicator for livestreams 2019-02-21 14:19:05 -06:00
Omar Roth 83493237a5 Add support for translating time intervals 2019-02-20 08:49:54 -06:00
Agustin Ferrari b04a2d4f61 Just a couple of adjustments (#350)
* Added icons tooltips in local/en-US.json, corrected link tooltip to switch to video mode and changed heart symbol by icon in comments
2019-02-16 17:46:04 -06:00
Omar Roth f8467fcda6 Fix locale text for "Show replies" 2019-02-16 14:26:08 -06:00
Omar Roth ceea6e4597 Escape subscribe text 2019-02-12 14:59:26 -06:00
Omar Roth 3cce74d364 Add feed menu to popular, top, and trending 2019-02-08 10:34:32 -06:00
Omar Roth 2630dc8dcd Add 'related_videos' to video params 2019-02-04 15:28:51 -06:00
Omar Roth 9989c8100a Properly escape email when creating view 2019-02-02 15:27:19 -06:00
Omar Roth d5c9b7dfe8 Only play after error if already playing 2019-01-31 20:26:11 -06:00
Omar Roth fbb5df0849 Default to showing recommendations for logged out users 2019-01-31 14:54:02 -06:00
Omar Roth def58ff11f Add interval and timeout for errors in player 2019-01-31 09:09:00 -06:00
Omar Roth 1e214aae7c Reload player instead of removing invalid source 2019-01-29 19:55:27 -06:00
Omar Roth ff09a7255a Add handling to remove invalid sources 2019-01-28 22:36:27 -06:00
Omar Roth 26b7200360 Respect playback rate when reloading player 2019-01-28 20:47:38 -06:00
Omar Roth b38a2bbd12 Reload player on error 2019-01-28 20:45:08 -06:00
Omar Roth 097cbcdae3 Update subscribe button immediately 2019-01-27 22:12:07 -06:00
Omar Roth c0fdc28a84 Fix colors and data-url in download widget 2019-01-27 21:20:52 -06:00
Omar Roth 6218078c51 Pull subscribe widget into separate file 2019-01-27 21:06:28 -06:00
Omar Roth a9aae6b36c Add internal redirect for video URLs 2019-01-27 20:36:40 -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 d88f9f3b3e Use params for importing dash sources 2019-01-23 19:46:17 -06:00
Omar Roth fb535ad6bb Add download widget 2019-01-23 19:05:24 -06:00
Omar Roth 15efac520e Stop trying to pull comments after 10 timeouts 2019-01-23 18:23:31 -06:00
Omar Roth a7b6a67615 Use locale for "Only show latest" text 2019-01-21 11:54:44 -06:00
Omar Roth c6ec8317ac Use location.assign instead of window.location.replace 2019-01-05 23:02:03 -06:00
Omar Roth a16f967085 Add popular, top, trending bar 2019-01-05 15:25:31 -06:00
Omar Roth 388b3cff8b Fix typo in data_control 2018-12-21 09:50:01 -06:00
Omar Roth 0feb414a1d Add menu for selecting trending page 2018-12-20 16:48:45 -06:00
Omar Roth a160c645c9 Add support for translations 2018-12-20 15:32:09 -06:00
Omar Roth a9a0280b1a Add link to watch history in feed and manager 2018-12-20 11:05:54 -06:00
Omar Roth b030149d76 Revert "Use <audio> tag for audio only"
This reverts commit e6bc5bb35d.
2018-12-08 20:12:22 -06:00
Omar Roth 89439e1775 Add link to '/clear_watch_history' in '/feed/history' 2018-12-05 17:07:51 -06:00
Omar Roth 32bd593a8a Remove log statement 2018-11-27 21:20:29 -06:00
Omar Roth 1c49fa3b63 Add timeout for autoplay 2018-11-27 21:18:20 -06:00
Omar Roth 7ab9d741bf Fix autoplay 2018-11-27 16:52:27 -06:00
Omar Roth 2dfb3e7814 Minor text changes 2018-11-26 14:28:15 -06:00
Omar Roth 19bf0ccbf0 Add /feed/top and /feed/popular 2018-11-26 10:50:34 -06:00
Omar Roth 0152967d3e Fix title when downloading video 2018-11-25 19:01:04 -06:00
Omar Roth 934c81b02f Add second hand to image CAPTCHA 2018-11-25 18:26:21 -06:00
Omar Roth 26eb59e00d Add text CAPTCHA 2018-11-22 13:26:08 -06:00
Omar Roth 568e55dfa6 Add description for home page 2018-11-21 20:00:33 -06:00
Omar Roth 941a773b7d Add opensearch.xml 2018-11-21 20:00:17 -06:00
Omar Roth 95ebfd34c5 Don't wait on server for subscription count 2018-11-21 19:26:55 -06:00
Omar Roth cdd916f51d Add async for manage_subscriptions 2018-11-21 13:35:37 -06:00
Omar Roth e80884cfce Remove unnecessary request header 2018-11-21 13:18:33 -06:00
Omar Roth c656a7cb9e Add link to watch history in preferences 2018-11-21 13:10:56 -06:00
Omar Roth a15463cf37 Clarify options in preferences 2018-11-21 13:10:09 -06:00
Omar Roth d6d73bd336 Fix clickable titles in subscription feed 2018-11-20 22:58:30 -06:00
Omar Roth f01cfd0226 Use material style for trash icon 2018-11-20 22:58:04 -06:00
Omar Roth e5730f4cbc Use 'ion-ios-trash' for /feed/history 2018-11-20 11:19:04 -06:00
Omar Roth 2e99642173 Add /feed/trending 2018-11-20 11:18:12 -06:00
Omar Roth 6b12f11e10 Add ability to mark videos as watched in subscription feed 2018-11-19 22:06:59 -06:00
Omar Roth c7e8d623c0 Support overflow grid 2018-11-19 18:43:06 -06:00
Omar Roth b535de690e Move video count into playlist thumbnail 2018-11-19 17:34:33 -06:00
Omar Roth c1a60392ae Expand description when related videos are disabled 2018-11-19 17:23:01 -06:00
Omar Roth ed6d321bc6 Fix identifier for AGPLv3 in licenses.ecr 2018-11-19 16:02:35 -06:00
Omar Roth 3418b82dc5 Fix typo in autoplay 2018-11-18 17:47:40 -06:00
Omar Roth 04d9b16a6b Add fix for optional 'rvs' 2018-11-18 17:28:22 -06:00