Commit Graph

187 Commits

Author SHA1 Message Date
Samantaz Fox
56ebef4352 Multiple front-end fixes (#2247)
Fixes:
* Sanitize user-provided content in HTML (Fixes #2193)
* Fix encoding of search query in prev/next pages (Fixes #2229)
* Fix some issues introduced with #2196:
   - Fix alignment of all <h3> elements (Move the inline style from the parent to the <h3> element)
   - Add missing comma on 'dir' HTML attribute (Typo introduced by PR #2196)

Code cleaning:
* Remove unnecessary 'each_sclice' + 'each' double loop in ECR files
* Clean the player's <source> list generation code (in player.ecr)
2021-07-15 23:01:36 +02:00
syeopite
3e5c353298 Merge pull request #2205 from syeopite/fix-age-restricted-videos
Partial (and temporary) fix for age restricted videos
2021-07-14 10:11:03 -07:00
syeopite
54b19a04bb Fix caption parsing on age restricted videos 2021-06-27 08:35:28 -07:00
Samantaz Fox
cfcb64c516 Fix layout of video 'card' items
Previous changes broke alignment of text and icons
2021-06-25 20:47:15 +02:00
Samantaz Fox
9cef7945c0 Fix RTL text in video titles on Firefox
The behavior was as follow: on Right-To-Left text (e.g Arabic) that is wrapped
(because it's too long to fit on one line), the second row and following rows
may or may not be right aligned (as RTL text should be). Opening the devtools
fixes that alignement, as consistently as closing the devtool breaks it.

This problem seems to arrive only in the following configurations (link nested
in a paragraph, both of which may or may not have the dir= attribute):

* `<p><a href="some_link">RTL_TEXT</a></p>`
* `<p><a href="some_link" dir="auto">RTL_TEXT</a></p>`
* `<p dir="auto"><a href="some_link">RTL_TEXT</a></p>`

with the following CSS:

```
p {
	unicode-bidi: plaintext;
	text-align: start;
}
```

Changing the HTML to the following configuration (a paragraph with the dir=
attribute, nested in a link) seems to fix it:

`<a href="some_link"><p dir="auto">RTL_TEXT</p></a>`
2021-06-25 02:03:09 +02:00
syeopite
173cd7c15e Fix switch invidious instance btn on videos 2021-06-19 04:16:18 -07:00
syeopite
f178297452 Generalize redirect route 2021-06-19 04:16:18 -07:00
syeopite
37ff2ac2b9 Overhaul button icon html and styling 2021-06-19 04:16:18 -07:00
syeopite
4786d586cf Add new icon button for instance redirects 2021-06-19 04:16:17 -07:00
syeopite
f529948d81 Change videojs-vr to the unminified version 2021-05-23 09:24:49 -07:00
syeopite
6e6f4d5a37 Allow configurable support of interactive 360 vid 2021-05-23 09:22:37 -07:00
syeopite
df0cd30236 Add support for VR videos through videojs-vr 2021-05-23 09:22:29 -07:00
syeopite
06b27d932d Move player styling to separate file 2021-05-03 03:44:33 -07:00
syeopite
53cdb04be7 Improve mobile ux with videojs-mobile-ui 2021-05-03 03:44:33 -07:00
syeopite
148071a744 Add 'www' to URL on watch on youtube button 2021-03-25 11:24:02 -07:00
syeopite
56fab9d178 Add watch on youtube button on each video item 2021-03-24 18:34:06 -07:00
syeopite
f422a77014 Add translation to Audio Mode icon on vid result 2021-03-24 18:07:18 -07:00
Andrew Zhao
9b79e35d52 do not preload captions 2021-02-24 01:02:55 -05:00
Andrew Zhao
148f3002ec use large thumbnail for channels in search 2021-02-04 18:20:49 -05:00
saltycrys
5f03a583d1 Update code for Crystal 0.36.0
Rename `HTTPClient@socket` to `HTTPClient@io`, see
https://github.com/crystal-lang/crystal/pull/9543.

Rename `URI#full_path` to `URI#request_target`, see
https://github.com/crystal-lang/crystal/pull/10099.
2021-02-02 20:01:02 +01:00
Andrew Zhao
4a0b10984a Bump videojs and fix webworker 2021-01-29 19:08:28 -05:00
Perflyst
28dac81a90 Merge pull request #999 from notpushkin/patch-1
Add audio mode link to items
2021-01-03 13:58:23 +01:00
saltycrys
75c6844b66 Improve storyboards
Instead of limiting the width of storyboards through CSS it is now done in the
VTT directly.
2020-12-21 17:02:36 +01:00
Andrew Zhao
0cb442d40e do not proxy hls on supported browser 2020-12-08 00:53:48 -05:00
Perflyst
bb7d8735cb Merge branch 'master' into patch-1 2020-11-12 17:06:38 +01:00
saltycrys
d3e4739745 Improve storyboard display 2020-11-08 22:23:24 +01: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
Omar Roth
1eca969cf6 Add support for polymer redesign 2020-06-15 18:18:04 -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
9dc4f8a1aa Escape item titles in search page 2020-03-04 13:03:14 -05:00
Alexander Pushkov
1fc9506442 Add audio mode link to items 2020-01-21 15:36:56 +03:00
Omar Roth
7524b5e349 Move feed_menu and default_home into user preferences 2019-10-20 20:43:33 -04:00
Omar Roth
be055d9dcb Add support for custom playlists 2019-10-15 21:17:14 -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
50d793e49b Hide video count for auto-generated channels 2019-09-12 13:11:21 -04: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
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
2cc25b1e6e Add administrator option to disable proxying 2019-07-08 12:15:18 -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
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
64464f23ae Add 'views' to channel_videos 2019-05-30 18:59:13 -05:00
Omar Roth
7d2e1f63b5 Refactor watched_widget.js 2019-05-16 20:51:17 -05:00
Omar Roth
fd8af88493 Use separate asset version for cache busting 2019-05-09 22:58:34 -05:00
Omar Roth
4616f889fd Add simple form of cache busting 2019-05-08 08:58:10 -05:00
Omar Roth
058711d3a8 Refactor player.js 2019-05-06 11:23:14 -05:00