Commit graph

550 commits

Author SHA1 Message Date
saltycrys
ef96a50cea Remove "Top" feed option from preferences
The Top feed used to be a feed based on YouTube ratings. Once YouTube removed
publicly available ratings the Top feed was removed from Invidious but the
option to display a link to it remained.
2020-12-19 19:30:42 +01:00
saltycrys
eed78c960d Improve DASH quality preference
Besides `auto`, `best` and `worst` it is now possible to select a target height.
If the target height is not available the closest lower height is selected.
2020-12-19 18:37:41 +01:00
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
2349a6ab0c Actually fix the icons of #1564 but for real this time 2020-12-09 20:21:42 +01:00
TheFrenchGhosty
70eaf41acb Actually fix the icons of #1564 by using an icon that exist in ionicons v4 2020-12-09 20:14:06 +01:00
TheFrenchGhosty
912091981e Fix the icons of #1564 and remove a useless line 2020-12-09 20:04:59 +01:00
TheFrenchGhosty
aca42ff6a5
Update the cryptocurrency addresses and replace the Liberapay link with a link to the documentation (#1564)
* Update the cryptocurrency address with newly created one

* Replace the icon used for the donation address and link

* Replace the word Monero with the word XMR

* Replace the Liberapay placeholder with a link to the documentation
2020-12-09 19:43:45 +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
saltycrys
d42539949e Add YT embed link to watch page 2020-12-08 19:10:29 +01:00
Andrew Zhao
0cb442d40e do not proxy hls on supported browser 2020-12-08 00:53:48 -05:00
saltycrys
30c92ce1b7 Add embed link to watch page 2020-12-08 02:28:44 +01:00
TheFrenchGhosty
68552b6d65
Merge pull request #1544 from schwukas/fix-youtube-subscription-import
Fix youtube subscription import
2020-12-07 17:03:57 +00:00
Lukas
77c13e10ec Update link to instructions 2020-12-07 13:34:40 +01:00
Lukas
0f66ff50a4 Fix #1516 Document is empty 2020-12-07 13:10:00 +01:00
Lukas
cb40a74aaf Add temporary link to subscription export instructions 2020-12-06 21:46:58 +01:00
TheFrenchGhosty
fe73eccb90
Merge pull request #1479 from saltycrys/theme-flash
Apply dark theme immediately
2020-11-28 20:54:45 +00:00
TheFrenchGhosty
6ca948ac3c
Merge pull request #1477 from saltycrys/empty-preference-values
Fill empty preference values
2020-11-19 21:45:00 +00:00
saltycrys
ff46c18164 Move themes into default.css
Now that themes are controlled with a class instead of setting
media="none" on the stylesheet link and both themes already being
duplicated in default.css for the automatic themeing it makes sense
to have all theme related CSS in the same place.

This commit also fixes the missing dark theme on embeds.
2020-11-17 22:53:45 +01: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
72c4fd868a Fill empty preference values 2020-11-16 01:33:55 +01:00
Émilien Devos
c9c6c1f769
Remove duplicate Referrer-Policy 2020-11-15 10:02:45 +00:00
Perflyst
bb7d8735cb
Merge branch 'master' into patch-1 2020-11-12 17:06:38 +01:00
Perflyst
557b0d76ab
Merge pull request #919 from edumoreira1506/feature/add-buttons-top-page
Add Previous/Next page buttons at the top of the page
2020-11-12 17:00:23 +01:00
saltycrys
d3e4739745 Improve storyboard display 2020-11-08 22:23:24 +01:00
Triplesalt
ec4a22687f
Update get_about_info for polymer (iv-org/invidious#1423) (#1429)
Update get_about_info for polymer (iv-org/invidious#1423)
2020-10-23 01:40:07 +00:00
Matthew McGarvey
5937e0289e Fix feed menu overlap at ipad screen widths 2020-10-07 23:01:18 -05:00
Andre Borie
a54cbe896d
Remove on-hover tooltip from player
Using the player on latest Safari, the tooltip appears and stays stuck for long even when switching to fullscreen which is annoying. You need to explicitly click anywhere to dismiss that stuck tooltip.

This doesn't seem to happen in Firefox so I am not sure whether this is a browser bug, but in any case I don't see any value in keeping this tooltip so maybe we can just remove it?
2020-09-15 18:50:17 +01:00
stranger195
13f58d602f
Replace omarroth with iv-org where applicable (#1353)
Fixes #1353
2020-08-25 16:07:16 +00:00
Omar Roth
1eca969cf6
Add support for polymer redesign 2020-06-15 18:18:04 -05:00
Omar Roth
c1cbdae5ee
Make HOST_URL constant 2020-06-15 18:13:14 -05:00
Omar Roth
4d4b6a2fa0
Remove top page 2020-06-15 18:11:36 -05:00
Dmitry Sandalov
338dc3223c
Merge pull request #1182 from DmitrySandalov/master
Allow user to subscribe to playlist (#17)
2020-06-13 15:10:18 +03:00
mendel5
80941eacbd
More consistent HTML IDs for info section (#1156)
* More consistent IDs for info section

More consistent IDs for info section: watch-on-youtube, annotations and download

* Consistent IDs: channel-name

* Consistent IDs: published-date

The term "published" can also be found in the answer for the following YouTube API request: https://developers.google.com/youtube/v3/docs/videos/list
2020-05-26 02:57:10 -05:00
Dmitry Sandalov
5d8de5fde2
Allow user to subscribe to playlist (#17) 2020-05-17 14:28:00 +03:00
mendel5
9d23cf33fd
Consistent IDs for info section (#1133) 2020-04-30 15:01:29 -05:00
Omar Roth
408f3852ec
Hide playlist widget when user has no playlists 2020-04-15 16:30:02 -05:00
Omar Roth
ca1185d0be
Fix warnings in latest version of Crystal 2020-04-09 12:18:09 -05:00
Omar Roth
3f97bebd69
Support adding video to playlist from watch page 2020-04-09 10:55:32 -05:00
Omar Roth
3b2e142542
Fix JSON serialization 2020-03-29 18:04:44 -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
Omar Roth
f92027c44b
Escape 'sort_by' 2020-03-10 11:25:32 -04:00
Omar Roth
9dc4f8a1aa
Escape item titles in search page 2020-03-04 13:03:14 -05:00
Pedro Lucas Porcellis
239fb0db94
Remove duplicated Github logo on footer (#986)
* Remove duplicated Github logo on footer
2020-02-20 18:50:54 -05:00
Alexander Pushkov
1fc9506442
Add audio mode link to items 2020-01-21 15:36:56 +03:00
edumoreira1506
48cbe45a9d Add Previous/Next page buttons at the top of the page 2019-11-20 15:59:07 -03:00
sh4dowb
79da61782b
Fixed double quotes in meta description 2019-11-11 19:00:23 +03:00
Omar Roth
0f3c477ff3
Remove dependency on ImageMagick (replace with rsvg-convert) 2019-10-28 10:49:05 -04:00
Omar Roth
0cf187dee7
Add support for image captcha in Google login 2019-10-27 00:19:05 -04:00
Omar Roth
c3e57f1fdd
Fix typo in footer 2019-10-20 23:02:16 -04:00
Omar Roth
a9af484412
Merge pull request #839 from TheFrenchGhosty/crypto
Add protocol to the cryptocurrencies
2019-10-20 22:39:24 -04:00
Omar Roth
7524b5e349
Move feed_menu and default_home into user preferences 2019-10-20 20:43:33 -04:00
TheFrenchGhosty
3cbdaab81e Add protocol to the cryptocurrencies 2019-10-19 20:23:27 +02:00
Omar Roth
be055d9dcb
Add support for custom playlists 2019-10-15 21:17:14 -04:00
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