Commit Graph

35 Commits

Author SHA1 Message Date
Svallinn 40d7278383
Invidious: Randomize instance on startup
There are now two separate settings related to Invidious instances:
- currentInvidiousInstance
- defaultInvidiousInstance

'currentInvidiousInstance' is a value that exists solely in memory
and it's the value used by the app to make the API calls,
while 'defaultInvidiousInstance' is the value that can be persisted
in the database by user action and will be used to initiate
the 'currentInvidiousInstance' on startup.

If the user has not saved a default value to the database,
'currentInvidiousInstance' is randomized from
a fetched list of viable candidates.
2021-07-03 02:55:56 +01:00
kuhaku 52fa523df1
Add support for External Players (closes #418) (#1271)
* feat: add support for opening videos/playlists in external players (like mpv) #418

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: move external player settings into own section
feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists)
feat: add toggle in settings for ignoring unsupported action warnings

Signed-off-by: Randshot <randshot@norealm.xyz>

* improvement: do not append start offset argument when the watch progress is 0

Signed-off-by: Randshot <randshot@norealm.xyz>

* fix: fix undefined showToast error when clicking on the external player playlist button

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: add icon button for external player to watch-video-info (below video player) component
improvement: refactor the code for opening the external player into a separate function in utils.js

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: add support for ytdl protocol urls (supportsYtdlProtocol)
chore: fix lint error

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: add support for passing default playback rate to external player
improvement: add warning message for when the external player does not support starting playback at
             a given offset
chore: rename reverse, shuffle, and loopPlaylist fields for consistency

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: add setting for custom external player command line arguments

Signed-off-by: Randshot <randshot@norealm.xyz>

* chore: fix lint error

Signed-off-by: Randshot <randshot@norealm.xyz>

* improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences)
improvement(utils.js/openInExternalPlayer): also check for empty playlistId string
fix(watch-video-info.js): fix merge error

Signed-off-by: Randshot <randshot@norealm.xyz>

* improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it
fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument
fix(store/utils): check for 'string' type, instead of `null` and `undefined`
fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on
chore(locales/en-US): fix thumbnail and suppress typo
chore(locales/en_GB): fix thumbnail and suppress typo

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: pause player when opening video in external player

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json`
chore(components/ft-list-video): fix lint error

Signed-off-by: Randshot <randshot@norealm.xyz>

* Revert "feat: pause player when opening video in external player"

This reverts commit 28b4713334.

* feat: pause the app's player when opening video in external player

* This commit addresses above requested changes.

improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box`
improvement(components/external-player-settings): use `update*` methods, instead of `handle*`

improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer
improvement(store/utils): use `dispatch` for calling actions
improvement(store/utils): get external player related settings directly in the action

improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement
fix(renderer/App): fix lint error

improvement(components/ft-list-playlist): remove unnecessary payload fields
fix(components/ft-list-playlist): fix typo in component name

improvement(components/ft-list-video): remove unnecessary payload fields

improvement(components/watch-video-info): remove unnecessary payload fields
improvement(views/Settings): add `usingElectron` condition

Signed-off-by: Randshot <randshot@norealm.xyz>

* fix(store/utils): fix toast message error

Signed-off-by: Randshot <randshot@norealm.xyz>

* fix(store/utils): fix a few code mess-ups

Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02: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
Preston 689479eb21 Channel Fixes and finish quality change logic 2021-04-30 17:18:45 -04:00
Luca 58882b3e16 Fix for missing import of marked as watched videos 2021-04-10 22:04:59 +02:00
Preston 659415edc3 Initial Playlist implementation. Functions like basic favorites list 2021-01-14 18:03:23 -05:00
Preston a7b27a98d2 Hide Watched formatted when on history page 2021-01-13 17:24:26 -05:00
Laptop Duane 29a80ef160 Add Invidious channel url option to dropdown 2020-10-23 12:51:39 +02:00
Laptop Duane 4113ebb6bb Add Copy / Open Channel URL to video dropdown 2020-10-23 10:50:33 +02:00
fatpowaranga 02231537f9
Use shorter youtu.be links instead of youtube.com for YouTube share links (#671) 2020-10-19 10:11:50 -04:00
Synkky aa7de120b5
Recommended live video shows live tag, instead of undefined (#665)
Fixes #660
2020-10-14 09:50:57 -04:00
Preston 4240bf9e35 Update Premiere Logic 2020-10-08 21:53:34 -04:00
tayloraviets d5970f58c6
PR ready distraction free feature (#596)
* PR ready distraction free feature

Signed-off-by: Taylor <tayloraviets@gmail.com>

* presumably fixed linter issues

Signed-off-by: Taylor <tayloraviets@gmail.com>

* addressed PR issues and hopefully made the linter happy

Signed-off-by: Taylor <tayloraviets@gmail.com>

* fixed more linter issues

Signed-off-by: Taylor <tayloraviets@gmail.com>

* fixed more linter issues again

Signed-off-by: Taylor <tayloraviets@gmail.com>

* fixed more linter issues again.

Signed-off-by: Taylor <tayloraviets@gmail.com>

* moved bad quote

Signed-off-by: Taylor <tayloraviets@gmail.com>
2020-10-05 22:27:32 -04:00
Luca 2249e113d0 Added additional check whether the publishedText of a list video element is null. Fixes the problem for topic videos. 2020-10-02 13:55:02 +02:00
Preston 4f04eb7640 Add better default quality logic 2020-09-24 22:35:13 -04:00
Preston c5f99cf397 Hide duration of video when 0:00 and show message if attempt to save video 2020-09-22 18:13:04 -04:00
Preston 8f35f95a5b Finish Core Subscriptions logic and add more locales to profiles page 2020-09-01 23:21:32 -04:00
Preston 781e971357 Fix issues with playlists and fix issue with leaving watch page from an invalid id 2020-08-25 10:18:14 -04:00
Luca 972ed2f1ca Local Video Search Results, List-Video Parsers
Added:
Local Video Search Results - The results returned from ytdl are now
transformed into the same format as with the Invidious API, so that no
distinction for these is require

Removed
List-Video Parsers - The differentiation between Invidious and Local
video data in yt-video-list.js is removed because of the transformation
2020-08-22 16:21:49 +02:00
Preston 4203ff4ba3 Fix some navigation, clear data on exit, and add more toast messages 2020-08-20 21:20:22 -04:00
Preston 2133a10efa Implement History and jump to last watched time progress 2020-08-19 22:39:44 -04:00
Luca d4a3d35734 Local API Publication Strings, Localization Files 2, Live and Upcoming
videos
Added:
1) Local API Publication Strings - When using the local API, the
correctly translated strings stating how much time since publication has
passed are displayed
2) Localization Files 2 - Added additional strings for upcoming videos
as well as the missing strings to the third translation marked as
missing

Fixed:
Live and Upcoming videos - Livestreams were not handled before but are
now correctly implemented. Upcoming videos have a dummy string until the
relevant data is provided by the scraper
2020-08-18 21:37:43 +02:00
Luca 91bcf52dab Video publication string, Localization files
Added:
1) video publication string - The code now creates a correctly
translated string for the info on how far back the publication was
2) Localization files - Added the required template string as well as
the unit for second and seconds to the yaml files to be able to utilize
them in 1)
2020-08-18 20:32:01 +02:00
Preston 287739de7c Add More Locale Strings to Both the locales file and the app 2020-08-11 23:26:49 -04:00
Preston 6221f80a52
Merge pull request #37 from cloudrac3r/rewrite-list-items
Rewrite list items
2020-07-09 21:50:26 -04:00
Cadence Ember c8538059a3
Remove unnecessary import 2020-07-10 13:42:13 +12:00
Preston 7927e334ad Fix video recommendations for Invidious API and alter text when viewing comment replies 2020-06-24 21:41:46 -04:00
Cadence Ember f17d715e24
Lint :))) 2020-06-24 04:39:26 +12:00
Cadence Ember 7afbe836d3
Rewrite list items :) 2020-06-24 03:47:19 +12:00
Preston 879f00321d Add Basic Menu options to video list object 2020-06-10 20:21:31 -04:00
Preston 47593618cf Proxy video thumbnails through Invidious based on backend preference 2020-06-02 22:27:55 -04:00
Preston 009174b89b Add Support for Live Videos and Live Video Chat 2020-05-23 17:29:42 -04:00
Preston 8980dc74d2 Add full playlist functionality (Shuffle, loop, autoplay) 2020-05-17 16:12:58 -04:00
Preston 1d3915b3d2 Progress on Settings and Database setup 2020-02-26 22:10:56 -05:00
Preston ded6534d16 Push Latest Code to Repository 2020-02-16 13:30:00 -05:00