Commit Graph

582 Commits

Author SHA1 Message Date
Samantaz Fox 5bb2cb7d71 i18n: Use plurals for video/view/subscriber/subscription counts 2022-01-10 22:49:07 +01:00
Samantaz Fox 3bb7fbb2f1 Merge pull request #2719 from SamantazFox/batch-minor-fixes
Multiple minor fixes
2022-01-05 17:20:57 +01:00
Samantaz Fox 6c8a5a1e7f Fix leading spaces being collapsed in descriptions
Fixes #1954
2022-01-05 03:32:54 +01:00
Samantaz Fox 1769b0fdce Fix "video can't be added to playlist without JS"
Fixes #2686
2022-01-05 03:32:54 +01:00
Samantaz Fox 68cbc11810 Fix the search box
Fix #277 : autoselect search field
Fix #1107: no spell checking/auto-correct on search field
2022-01-05 03:32:44 +01:00
Samantaz Fox 85cf27119c Move DB queries related to playlists in a separate module (3/3) 2022-01-04 17:15:43 +01:00
Samantaz Fox 46d08237c6 Move DB queries related to playlists in a separate module (2/3) 2022-01-04 17:13:52 +01:00
Samantaz Fox 28a6589a1e Merge pull request #2538 from bbielsa/player-remember-position
Retain video time position in video player
2021-12-21 22:05:43 +01:00
Samantaz Fox ddb06b0cac Fix XSS vulnerability in channel playlists
The channel/<ucid>/playlists page was vulnerable to Cross Site Scripting
(XSS), because the different URL parameters were inserted as-is in the URL
meant for instance switching.

This vulnerability could allow an attacker to inject malicious Javascript
in the page by tricking the user to click on a crafted link.

Bug introduced in commit 66e7285108
("Only use /redirect when automatically redirecting").

Thanks to Jack (@testa:cthd.icu on Matrix, @cysea on github) for responsibly
reporting this issue!
2021-12-19 20:51:44 +01:00
bbielsa f31bd5ffb9 Use localization for save player position label in the preferences page 2021-12-15 19:38:56 +01:00
bbielsa 5abe7fe123 Rename 'remember_position' to 'save_player_pos' for clarity 2021-12-15 19:37:55 +01:00
bbielsa a6a0bbf398 Add remember_position field to the Preferences and VideoPreferences structs, and add a checkbox in the preferences page to toggle it 2021-12-15 19:37:55 +01:00
Samantaz Fox f29ab53aff Add other missing translations
* on watch page and video cards (search results, playlists, etc...)
* on /feed/playlists
* in search filters (not normalized in order to avoid collisions with
an existing PR that reworks the search filters)
2021-11-21 01:54:46 +01:00
Samantaz Fox b5b0c58de7 Add missing translation for quality selectors 2021-11-21 01:50:11 +01:00
Samantaz Fox a1bb421eec Remove useless 'hl' parameters on captions URL 2021-11-21 01:50:11 +01:00
Samantaz Fox 139786b9ef i18n: pass only the ISO code string to 'translate()'
Don't use the whole Hash everywhere.
Also fall back nicely to english string if no translation exists.
2021-11-21 01:50:11 +01:00
Samantaz Fox 301444563b i18n: Use language full name instead of ISO code
Fixes #851
2021-11-21 01:50:11 +01:00
babababag fd54cf2d05 Escape video description 2021-11-17 12:04:30 +00:00
syeopite 437bdedb07 Use env.request.resource for instance switch link 2021-10-26 16:12:25 -07:00
syeopite a531f4f057 Rebase error 2021-10-26 16:12:25 -07:00
syeopite 66e7285108 Only use /redirect when automatically redirecting 2021-10-26 16:12:16 -07:00
Samantaz Fox 2b81a82620 Merge pull request #2529 from DmitrySandalov/master
Feature Request: Localization for trending iv-org#331
2021-10-26 23:49:56 +02:00
Samantaz Fox b555df8377 Merge pull request #2428 from syeopite/ameba-fixes
Fix (some) issues detected by Ameba
2021-10-26 23:34:18 +02:00
Samantaz Fox 232730e909 Merge branch 'master' into master 2021-10-26 23:31:48 +02:00
Samantaz Fox 1e0712625a Normalize translation key for preferences categories
categories normalized:
 - Miscellanous
 - Player
 - Visual
 - Administrator
 - Data
 - Subscription
2021-10-26 23:17:04 +02:00
Samantaz Fox 88752f32bd Normalize translation key for user prefrerences
preferences normalized:
 - annotations
 - annotations_subscribed
 - automatic_instance_redirect
 - autoplay
 - captions
 - comments
 - continue
 - continue_autoplay
 - dark_mode
 - default_home
 - extend_desc
 - feed_menu
 - listen
 - local
 - locale
 - max_results
 - notifications_only
 - player_style
 - quality
 - quality_dash
 - related_videos
 - show_nick
 - sort
 - speed
 - thin_mode
 - unseen_only
 - video_loop
 - volume
 - vr_mode
2021-10-26 23:15:39 +02:00
syeopite 35d15c7c2b Fix Style/VariableNames issues 2021-10-25 01:12:26 -07:00
Dmitry Sandalov 1d78d67af3 Feature Request: Localization for trending (move TRENDING_REGIONS to i18n.cr as CONTENT_REGIONS) 2021-10-21 22:30:49 +03:00
Dmitry Sandalov d9c58c4837 Feature Request: Localization for trending iv-org#331 2021-10-21 14:54:15 +03:00
syeopite 5f65e92500 Merge pull request #2508 from syeopite/lazy-load-images
Lazy load (some) images
2021-10-17 18:25:59 +00:00
TheFrenchGhosty 22e8f7e287 Fix #2510 2021-10-14 21:00:14 +02:00
TheFrenchGhosty 0ad2793b68 Link to invidious.io/donate/ in the footer 2021-10-14 20:20:25 +02:00
syeopite 585e4617e8 Lazy load (some) images 2021-10-14 08:18:44 -07:00
diogo 7eba7fbcc7 add index to playlist item 2021-10-11 23:30:49 +02:00
mastihios 0947c26612 Fix URL-encoding in href strings (#2460)
* hrefs: replace HTML.escape w/ URI.encode_www_form

* Fix search_query_encoded
2021-10-11 05:18:20 -07:00
Samantaz Fox adc12addfa Add config option to display source code URL in footer (#2450) 2021-10-07 13:53:12 +02:00
Samantaz Fox d806310665 Revert "Fix typo (#2456)" (#2457)
This reverts commit 4982bff74d.
2021-10-04 19:51:57 +02:00
Jorge Maldonado Ventura 4982bff74d Fix typo (#2456) 2021-10-04 17:47:57 +00:00
syeopite 9c44e41a4c Merge pull request #2228 from syeopite/extract-items-overhaul
Overhaul extract_item(s) functions and add infrastructure for parsing YouTube categories
2021-10-02 20:00:16 +00:00
mastihios 7b2aa5f98e add icon-buttons to playlist items (#2442) 2021-10-02 11:59:33 +00:00
syeopite a50f64f6e9 Add parser for categories (shelfRenderer)
This commit adds a new parser for YT's shelfRenderers which are
typically used to denote different categories.The code for featured
channels parsing has also been moved to use the new parser but some
additional refactoring are needed there.

The ContinuationExtractor has also been improved and is now capable of
extraction continuation data that is packaged under
"appendContinuationItemsAction"

In additional this commit adds some useful helper functions to extract
the current selected tab the continuation token. This is to mainly
reduce code size and repetition.
--
This cherry-picked commit also removes the code for parsing featured
channels present on the original.

(cherry picked from commit 8000d538dbbf1eb9c78e000b1449926ba3b24da9)
2021-09-24 21:07:06 -07:00
syeopite 86ca568d6d Remove login type button from frontend (#2423) 2021-09-23 08:44:26 +02:00
syeopite 5054510d15 Prevent VR from being initialized in listen mode (#2396) 2021-09-15 01:37:23 +02:00
Samantaz Fox 947fe4fbb3 HTML escape video mimetype
Video mimetype may contain code information between double quotes.
If not properly escaped, it breaks the browser's parser. E.g:
```
type="video/mp4; codecs=" avc1.64001f,="" mp4a.40.2""=""
```

Thank Robin for catching this!
2021-09-13 18:20:11 +02:00
syeopite 50c8afb525 Handle equirectangular projections for VR (#2379) 2021-09-10 07:42:39 +00:00
Émilien Devos 8b62c05fe2 remove 3gp only from the player (#2376)
+ video quality precedence on default player when js is not enabled
2021-09-03 09:39:11 +02:00
TheFrenchGhosty 8e3ff79f22 Remove the mention of 'Omar Roth' from the footer 2021-09-01 12:23:50 +02:00
syeopite 5005212bec Extract feed routes (#2269)
* Extract feed routes from invidious.cr
* Removes the deprecated route for /feed/top
* Deprecate /view_all_playlist & use /feed/playlists
* Move feed views into their own directory

* Add haltf method to halt current route context
* Change status_code + return blocks to use haltf

* Set appropriate response headers for RSS routes
2021-08-30 16:58:24 +02:00
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