Commit Graph

683 Commits

Author SHA1 Message Date
Svallinn 5a2c1f401f
Store/Settings: Refactor `grabUserSettings` action
This function made use of a switch statement that was hundred of
lines in height and a majority of cases had similar logic.

This commit generalizes the logic of the majority of the cases into
a condensed for loop, which additionally handles the few existing
oddball cases in an easy-to-understand manner.
2021-06-07 15:22:50 +01:00
Svallinn e4d7790d6d
Store/Settings: Remove unnecessary `updateInvidiousInstance` call
The 'grabUserSettings' action calls the 'updateInvidiousInstance'
action whenever the database returns an empty value for this setting.

However, that scenario should never happen in the first place.
In addition, a default value is already provided directly in the state.
2021-06-07 15:22:49 +01:00
Svallinn 58bd0d1f36
Store/Settings: Rename `webframe` -> `webFrame` and respective import
This fixes an issue in which the user's preferred UI scaling was
being ignored on startup.
2021-06-07 15:22:49 +01:00
Svallinn 0bd75d558f
App: Remove unnecessary logic related to the `usingElectron` setting 2021-06-07 15:22:48 +01:00
Svallinn 49c4c7ac5e
Store: Refactor the settings module
The settings' store module has had a lot of duplicated logic for
the majority of its getters, mutations and actions.

This commit serves to remedy that duplication substantially
by auto generating all getters, mutations and the majority
of actions, using a predictable pattern.
2021-06-07 15:22:01 +01:00
PikachuEXE a3cf210fca
Update Youtube URL handling to recongnize playlist ID in URL (#1260)
* * Update Youtube URL handling to recongnize playlist ID in URL

Only for format of `https://www.youtube.com/watch?v=vid&list=lid`

* ! Fix vue component prop declaration

A prop where the value can be undefined cannot be declared "required"
2021-05-31 13:23:35 +02:00
Preston 5f54a26e8b Merge branch 'v0.13.1-hotfix' 2021-05-29 17:52:23 -04:00
Luca Hohmann 5f1818ee91
Setting to enable and disable display of video play button (#1370)
* Added setting to toggle play button in video player

* Fixed wrong way around boolean check

* Fixed setting not loading on startup
2021-05-29 20:35:28 +02:00
PikachuEXE 754a4a8aa3
Update video player to remove default big play button shown when paused (#1270) 2021-05-28 22:29:35 +02:00
Alex Stewart f9f5223f23
Allow changing volume by scrolling over any part of video player (#1254)
* Added toggle component to settings

* Setting to toggle this feature is now functional. Video volume can now be changed by scrolling anywhere on the video, or just on the slider, depending on this setting

* Added translation lines for en_US and en_GB

* Changed setting line from 'Scroll Volume Over Video' to 'Scroll Volume Over Video Player'

* Changed 'mousewheel' to 'wheel' event, as 'mousewheel' is deprecated

* Ran lint check in settings.js

Co-authored-by: Alex Stewart <albinexotech@gmail.com>
2021-05-26 17:55:11 +02:00
PikachuEXE 3bce276564
Implement search filter changed indicator (#1257)
* ! Fix app unable to load due to missing `getLocale` in `mapActions`

* Implement search filter changed indicator
2021-05-25 19:54:27 +02:00
PikachuEXE 70aa159bb8
Update "Open Link" button to include playlist ID (#1258)
* ! Fix app unable to load due to missing `getLocale` in `mapActions`

* $ Update a function's name with incorrect name casing

* Update "open youtube link" button to open with playlist when playing a video with an active playlist
2021-05-25 19:39:34 +02:00
ChunkyProgrammer 2def271bb2
Settings/Fix: Filter out non-YouTube links in NewPipe imports (#1319) 2021-05-23 15:42:04 +00:00
Luca Hohmann 3c9de5e63a
Added Estonian, Serbian languages, fixed comment likes and bumped packages (#1311) 2021-05-22 21:21:48 +02:00
Svallinn 6ccc7e9fa4
Refactor: Swap `dispatch`/`commit` calls with mapped actions/mutations 2021-05-22 00:56:32 +01:00
Svallinn e72fbcf0a4
Refactor: Remove all `v` delegate variables 2021-05-22 00:52:11 +01:00
Svallinn af0353ea32
Refactor: Erase `@electron/remote` references and other dangerous calls
The `remote` module is deprecated and `@electron/remote` is unnecessary,
since the `ipcMain` and `ipcRenderer` can replace their functionality,
providing better performance and better security.

All other dangerous calls (mainly pulling main process constructs into
the renderer process) have also been removed.
2021-05-22 00:49:48 +01:00
Svallinn 56f4c37735
Search: Fix up a few duration and upload time related options 2021-05-20 17:21:26 +01:00
Svallinn 089cd5845b
SponsorBlock: Prevent multiple notifications at the end of a video
Closes: #1299

Previously, the app would notified the user (with a toast) of a
sponsor segment skip repeatedly if the segment lasted
until the end of a video.
This commit fixes that behavior so that it's displayed only once.
2021-05-20 04:00:39 +01:00
Luca Hohmann 67218ab5f1
Fixed wrongly sized clickable link to comment authors. Added link to reply author's channel (#1298) 2021-05-18 22:52:47 +02:00
Luca Hohmann 0cc88642b0
Fixed old trending page api call (#1297) 2021-05-18 20:59:23 +02:00
Preston 55f62d1018 Update ft-video-player.js 2021-05-17 15:06:10 -04:00
Preston 4d248d57ce Use accent color for Sponsorblock categories 2021-05-17 15:05:42 -04:00
Preston 40abb9f054 Update ft-video-player.js 2021-05-16 22:30:03 -04:00
Preston e52223c7c5 Hide volume percentage on hover 2021-05-16 21:43:34 -04:00
Preston 8f8df5d8e6 Fix quality changing logic for Invidious API 2021-05-16 21:40:34 -04:00
Filip Czaplicki 440b04bbf0
SponsorBlock (#1130)
* SponsorBlock: enable/url settings

* SponsorBlock: fetch and display skipped fragments

* SponsorBlock: skip sponsor blocks

* npm add node-forge

* SponsorBlock: use hash prefix API

* SponsorBlock: configurable toast on skipped segment

* SponsorBlock: add /api/ to url, remove trailing slash
2021-05-16 16:01:24 -04:00
Preston d9a02ba007 Add TODO 2021-05-15 15:13:17 -04:00
Preston 176d81dd6b Fix quality logic again 2021-05-15 15:08:41 -04:00
Svallinn f2d29f667a
Captions: Fix 'system' locale unwanted behavior
Closes: #1268

Having 'system' locale set would wrongfully send the wrong
locale information to YouTube, which would result in the captions
not being set properly. This commit fixes that behavior.
2021-05-11 18:25:47 +01:00
Svallinn bd60d3c838
Top-Nav: Fix undefined/misplaced references 2021-05-11 16:28:26 +01:00
Preston 785e7b15bb Remove this.currentLocale 2021-05-06 23:06:56 -04:00
Preston 8e4fe4eacb Re-Arrange System Default Locale logic 2021-05-06 22:59:37 -04:00
Milu fc5429ec59
Adding a "System Language" option to the "Locale Preference" (#1241)
Closes: #1205

* Added "Follow System" option to
`Settings -> General Settings -> Locale Preference`
and set it to default

* Changed double quotes to single quotes

* Removed unnecessary comment

* Changed `app` accessing method

* Cleaned up if/else statements

* Checks similar locales as fallback

* Changed label to "System Language"

* Changed locale filtering logic to use the filter() method
2021-05-06 16:45:49 +00:00
Preston 5387618b82 Fix linter issue 2021-04-30 20:36:46 -04:00
Preston 29cdae7f8e Fix issue with recent live streams not being playable and update credits link in about 2021-04-30 17:43:12 -04:00
Preston 5322280b2f Add new docs and blog URLs to About page 2021-04-30 17:26:25 -04:00
Preston 81a571e7c9 Hide New window icon when mobile UI is active 2021-04-30 17:24:21 -04:00
Preston 689479eb21 Channel Fixes and finish quality change logic 2021-04-30 17:18:45 -04:00
Svallinn e696af3f7a
Apply playlist autoplay interval to regular autoplay
The interval to play the next video in a playlist was dynamic and
wasn't applied to the normal autoplay timer.
This commit merges the logic of these two scenarios so that they both
utilize the user-defined interval.
2021-04-29 19:33:13 +01:00
PikachuEXE 76260d9c4c
* Implement playlist countdown per second (#1234)
Closes: #1214
2021-04-29 16:58:00 +00:00
PikachuEXE 82aeaac734
* Update top nav search input to direct to channel panel when channel URL provided (#1221)
* $ Extract function which extract details from a Youtube URL

* * Update top nav handling to use extract function to handle input text if it's Youtube URL

* - Remove no longer used function
2021-04-28 19:21:16 +02:00
Svallinn 539500f370
Routing: Remove unnecessary router import 2021-04-28 13:31:46 +00:00
Anton Nesterov 4d080babcd
feat: better keyboard navigation (#1104)
Related issue: #375
2021-04-27 20:29:28 +00:00
PikachuEXE e4e3090153
! Fix unable to view another playlist when already in playlist view (#1211) 2021-04-27 18:30:29 +00:00
PikachuEXE 2752006179
* Update "toggle theatre mode" button icon (#1225)
Closes: #1180
2021-04-27 15:52:09 +00:00
Svallinn 61b2fc4b48
Improve YouTube link handler
* Handle /user channel URL type
* Fix minor problems with the regexps
* Display informational toasts for hashtag and unknown URL types
* Add toast messages to the default locale
2021-04-25 01:28:29 +01:00
PikachuEXE 7d93217596
* Update player to hide full window button when in full screen mode (#1222) 2021-04-22 20:41:50 +02:00
Svallinn c8d96d38b6
Save watch progress when closing window (#1217) 2021-04-21 18:38:46 +00:00
Svallinn 5f4ea74c16
Prevent deleted history and profile data from being exported
Closes: #934, #937

This assures that the profiles and history datastores are properly
compacted before their respective exports
2021-04-21 05:09:06 +01:00
Svallinn c4afaaaf06
Display error when importing invalid YouTube JSON
Closes: #969

Apparently, every importing option had a proper error message
displayed on a toast... except this one.
Oops.
2021-04-21 03:43:40 +01:00
Svallinn 78324ff775
Handle other url types from freetube:// protocol
Closes: #1207

The app was mistakenly only set up to handle video type urls from
the freetube:// protocol.
It should now be able to additionally handle playlist, search and
channel type as well.
2021-04-21 02:07:26 +01:00
Svallinn 52e600dc13
Bugfix: load of subscriptions at startup (#1216) 2021-04-20 18:07:47 +00:00
Svallinn 1fd08af136
Select search text on focus (#1201) 2021-04-15 21:30:26 +02:00
PikachuEXE ebc829cef0
Add "open new window" button (#1153) 2021-04-15 20:28:35 +02:00
Luca 49aab11acb Svallinns locale fix 2021-04-12 23:00:07 +02:00
Preston cd78017540 Remove console.log 2021-04-11 18:51:50 -04:00
Preston 519128a99a Fix issue with live videos causing errors in search results 2021-04-11 18:49:56 -04:00
Luca 58882b3e16 Fix for missing import of marked as watched videos 2021-04-10 22:04:59 +02:00
Luca Hohmann edb6de2e88
Merge pull request #1121 from Svallinn/improved-captions
Overhaul of the captions subsystem
2021-04-10 21:20:27 +02:00
Luca Hohmann d75ded4d41
Merge pull request #1148 from Svallinn/811-youtube-links-inside-app
Link app views to related YouTube url navigations
2021-04-10 21:20:12 +02:00
Luca Hohmann 2b1d8e499f
Added board automation for Bugs and Features (#1146)
* Added board automation for Bugs and Features

* Added correct github secret to automation

* Linter fix
2021-04-08 13:54:30 +02:00
Luca Hohmann 039cd9874d
New languages and yt-channel-info bump (#1155) 2021-04-01 16:21:04 +02:00
Luca Hohmann c5fac9fcd7
Video meta file removal option (#1154)
* Implemented video meta file removal option

* Lint fix
2021-04-01 15:54:45 +02:00
Svallinn c56cb87f7c
Gilgus did this and left it there for days -_-' 2021-03-30 03:34:56 +01:00
Svallinn f9f49a5f6d
Link app views to related YouTube url navigations 2021-03-30 03:32:17 +01:00
Svallinn f39579c6d2
Stop replacing YouTube hrefs for protocol links 2021-03-30 03:31:35 +01:00
Luca a27fc9215c Unnecessary print removed 2021-03-27 19:03:57 +01:00
Luca dcef4261a7 Final adjustments 2021-03-27 19:02:53 +01:00
Luca 3cca33eac3 More cleanup 2021-03-27 19:01:05 +01:00
Luca 271a45e2b0 Cleanup 2021-03-27 18:58:14 +01:00
Luca 4e11233f3e Verify check 2021-03-26 19:30:44 +01:00
Svallinn 39811f6ee4
Change locale caption function name 2021-03-19 19:18:21 +00:00
Svallinn becf86e945
Provide translated caption for user's locale 2021-03-19 18:43:16 +00:00
Luca 24d12a4357 Started investigating default profile loading inconsistency 2021-03-19 12:05:25 +01:00
Luca 9d6f6e78e7 Reimplementation of goToChannel from PR 850 2021-03-18 17:47:28 +01:00
Luca d2ee285e45 Added fix for wrongly applied publishedText template 2021-03-17 23:15:36 +01:00
Svallinn c49bf6aff5
Remove unnecessary packages and snippets of code 2021-03-17 01:30:35 +00:00
Svallinn 3e8b137f67
Fix and enhance captions subsystem 2021-03-17 01:28:25 +00:00
Luca Hohmann 5a1cde25eb
Merge pull request #1113 from Svallinn/1023-improper-alignment
Set a fixed width for side-bar icons
2021-03-16 11:40:16 +01:00
Luca 3f6e518132 Increased size to a fitting value 2021-03-16 11:34:34 +01:00
Luca 19445c0e80 Fixed large custom emote size for live chats 2021-03-16 11:32:36 +01:00
Svallinn aab30e3fcd
Set a fixed width for side-bar icons 2021-03-14 18:41:17 +00:00
Preston e0a3ef92c6 Test custom solution for quality change 2021-03-12 16:09:08 -05:00
Luca f7da2d9417 Enabled Norweguan Bokmal and ukrainian as languages 2021-03-11 17:03:59 +01:00
Svallinn a26750aa2e
Verify paused player before autoplaying next video (#1089)
This prevents the autoplay from playing the next video if the current video gets manually replayed by the user
2021-03-06 15:09:13 -05:00
Svallinn 7eda649293
Support for the 't' parameter in links (#1090)
This allows users to specify the timestamp of a video (in seconds)
- by inputting a link into the search bar
- by making use of the protocol link (freetube://), p.e in a browser
2021-03-06 14:03:40 -05:00
Svallinn 1452e361a1
Replace '/hashtag' refs with freetube:// links (#1076)
When pulling video information from Invidious, hashtag-related links present in the description need to be replaced with valid links.
In this case, a freetube:// link was deemed the most appropriate.

Fixes #932
2021-03-06 13:23:56 -05:00
Svallinn 3e959d3e27
Include publishedText for recommendations (local) (#1075)
Fixes #1074
2021-03-06 13:20:33 -05:00
Ira ¯\_(ツ)_/¯ f06af7da83
Enable profile based channel filtering (#1013)
* Delete FtProfileAllChannelsList component

* Replace FtProfileAllChannelsList component with new filtered variant

* Add new locale for profile filter label

* Add FtProfileFilterChannelsList vue component with ft-select addition

* Add FtProfileFilterChannelsList script with profile filtering support

* Add css modifications to new FtProfileFilterChannelsList component
2021-03-06 13:00:52 -05:00
Sai Deepesh 3b75a97859
added playlist next video interval (#1006) 2021-03-06 11:25:50 -05:00
Sai Deepesh 9d4ea68e89
fix: translated menu (#988) 2021-03-06 11:21:57 -05:00
Sai Deepesh 8c88571f6f
feat: added ability to hide Playlists (#972) 2021-03-06 11:21:22 -05:00
Preston d4370f25f9 Update Channel module in Local API 2021-03-04 16:51:56 -05:00
Preston a3fe91bef5 Update to Webpack 5 and Electron 12 2021-03-02 22:51:01 -05:00
Hiers 215ae68b56
Changed command line input to only allows youtube video links. (#1073)
* Changed command line input to only allows youtube video links.

* Changed URL logic in renderer/App.js instead of making restriction in index.js.
2021-02-28 16:37:18 -05:00
Preston 77d2e7a6ee Fix MediaMetadata setter 2021-02-27 15:15:06 -05:00
Preston 3d5ccdc4dc Add better information to media notifications 2021-02-21 22:07:50 -05:00
Preston 2208002894 Fix dropdown from showing up behind elements 2021-02-15 10:44:09 -05:00
Preston ef5aee3576 Update local API comment module and fix Invidious logic on channel page 2021-02-15 09:59:35 -05:00
Luca Hohmann 301af24da1
Merge pull request #864 from Imperial-Dragon/development
Autofill Searchbar
2021-01-26 18:25:28 +01:00
Preston e735378a1a Update Invidious instance site and add link directly to site 2021-01-21 21:21:33 -05:00
Preston 3150f25506 Forgot to commit search file and fix PiP logic when history is disabled 2021-01-21 16:20:42 -05:00
Preston 2ac6a81699 Remove unneeded video speed option and prevent searches past end of search 2021-01-21 14:57:57 -05:00
chaptergy bb2dee36b3
Fix OPML import issue (#963)
* Fix OPML import issue

* Fixes linting errors
2021-01-21 14:19:25 -05:00
Preston 6245f8b423 Reverse saved videos list to show latest on top 2021-01-21 13:35:13 -05:00
Preston 1375df17d9 Update dependencies and fix aspect ratio logic again 2021-01-21 10:28:45 -05:00
Preston 81130f89f9 Update aspect ratio logic 2021-01-20 13:57:36 -05:00
Preston b7846493ef Update comment scraper logic 2021-01-20 10:54:44 -05:00
Imperial-Dragon 30cfc4c1a3 added autofill for searchbar 2021-01-18 22:25:59 +05:30
Preston 1cfb76ca72 Revert locale strings and test comment fix 2021-01-17 17:31:45 -05:00
Preston 15da4e4705 Fix linter warning 2021-01-17 13:07:26 -05:00
Preston ce115d2737 Tweak aspect ratio logic and fix proxy logic 2021-01-17 11:09:51 -05:00
Preston f95f73ee27 Fix load more button in playlists page 2021-01-16 12:18:27 -05:00
Preston aa6b2925ed Add touch controls to video player (Hold to pause, doubel tap to fullscreen) 2021-01-15 22:34:49 -05:00
Preston aeeb911f0f Fix network leak when using certain modules with the proxy enabled 2021-01-15 22:08:50 -05:00
Preston 890d5b4a09 Allow pasting Playlist URLs in search to navigate straight to playlist page 2021-01-15 11:34:44 -05:00
Cadence Ember d5304cfcdd
Revamp about page (#929)
* Revamp about page

* Add more cards to about page

* Fix linter issues

* Add missing info and update locales

* Add license URL

Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-01-15 11:14:45 -05:00
Preston dad0eb73ca Use Fluid Mode for videos instead of setting an aspect ratio 2021-01-14 23:20:42 -05:00
Preston 9a75e6a53a Fix toast string and add support for embed URLs when parsing links 2021-01-14 22:37:52 -05:00
Preston 659415edc3 Initial Playlist implementation. Functions like basic favorites list 2021-01-14 18:03:23 -05:00
Preston 6d7d874bc0 Add Proxy configuration to settings. Fix ft-video-list height when using list display 2021-01-14 13:51:33 -05:00
Preston a7b27a98d2 Hide Watched formatted when on history page 2021-01-13 17:24:26 -05:00
Preston 835903a896 Revamp About Page. Add new links and information 2021-01-13 17:17:48 -05:00
Preston 5663d56b12 Stop power save blocker on route leave 2021-01-13 15:56:25 -05:00
Cadence Ember 9424a90fe1
Sidebar fixes (#916)
* Correctly bind theatre mode options

Theatre mode is now bound to both "recommended videos" and "live chat"
distraction settings, rather than just "recommended videos".

The settings switch, the button, and the layout have all been updated
to reflect this.

Most likely closes: https://github.com/FreeTubeApp/FreeTube/issues/910

* Fix watch layout when no sidebar

If there's nothing to display in the sidebar according to the
distraction settings and live status, the watch page will adopt a
single column layout. If the sidebar still exists due to faulty logic,
it will be placed at the very bottom of the page.

Most likely closes: https://github.com/FreeTubeApp/FreeTube/issues/909

* Unlink default theatre mode switch

* Normalise theatre calculation, consider playlists
2021-01-12 23:13:36 -05:00
Preston 7be4bf28f2 Create Loop Button and functionality in video player 2021-01-12 22:56:31 -05:00
Preston 6c9e176249 Prevent display from sleeping when video is playing 2021-01-11 15:45:46 -05:00
Preston ce7e568c7b Update project dependencies 2021-01-11 15:32:35 -05:00
Preston 32f57ae1c1 Fix search continuation when using cached results 2021-01-11 11:49:58 -05:00
Preston eab93c2b61 Fix network leak to Invidious instance when viewing channel playlists on Local API 2021-01-11 11:26:14 -05:00
Sai Deepesh 13e944a425
Fixed tooltip position (#831)
* fixed tooltip position

* fix: Linting error

* [updated] fixed tooltip issue
2021-01-11 10:29:55 -05:00
pablodekota f65377127d
Hide active subscriptions (#918)
* Update distraction-settings.js

* Update side-nav.js

* added hiding subscription activity

* Update distraction-settings.js

* Update distraction-settings.js

* Update side-nav.js

* Update side-nav.vue

* Update distraction-settings.vue

* Update settings.js

* Update side-nav.vue

* Update distraction-settings.js

* Update en-US.yaml

* Update en_GB.yaml

* Update distraction-settings.js

* Update settings.js

* Update side-nav.vue

* Update side-nav.vue

* Update side-nav.vue

Co-authored-by: Pablo <8d1d1de7-176f-4d40-b5f0-5a552aabd433@4wrd.cc>
2021-01-09 22:11:42 -05:00
Violet Rose 35345855c6
Adding playlist database logic (#802)
* Added playlist database logic.

* Added grab.

* Added removeOnWatched.
2021-01-01 13:15:24 -05:00
Luca 24d15f6151 Check video likes and dislikes for NaN 2020-12-31 12:22:26 +01:00
Luca 8aaa70744e Added Galician as activated language 2020-12-31 12:02:35 +01:00
Luca 54b0ea1abc On Import now checks in YouTube subscription json file whether duplicates exist 2020-12-30 20:46:48 +01:00
Preston 3b97e7598d Prevent smooth quality changes to switch qualities faster 2020-12-26 22:21:06 -05:00
Preston 9b57dcda41 Show live status in search and fix youtube links in live chat 2020-12-22 15:34:06 -05:00
Preston d52533b8c0 Close full window properly to prevent scrolling issues 2020-12-22 13:58:17 -05:00
Preston e1266ec675 Fix search filter prevention 2020-12-22 13:39:19 -05:00
Preston 1614baf210 Ignore keyboard shortcuts when Ctrl is held down 2020-12-21 14:43:50 -05:00
Preston 3af6f9b65f Fix check for unplayable videos 2020-12-20 21:43:40 -05:00
Preston 57b004431f Add better release check logic 2020-12-18 11:57:20 -05:00
Preston 49ef1e2047 Fix linter issues and update ytdl-core 2020-12-18 09:59:12 -05:00
Cadence Ember b2402ee635 Extend video size to fill whole grid container 2020-12-17 23:28:30 -05:00
Sai Deepesh 46124b6b89
enhancing watched videos appearnce (#806) 2020-12-17 23:21:17 -05:00
Preston b9f4cd7a38 Prevent live chat from scrolling when user scolls up to view messages 2020-12-17 14:11:13 -05:00
Preston ea03dee245 Prevent certain search filter combinations from being used 2020-12-17 13:55:47 -05:00
Preston 78d92375f4 Update Search.js 2020-12-17 11:22:20 -05:00