Commit Graph

230 Commits

Author SHA1 Message Date
PrestonN 2acd3261c4 Fix issue where Invidious DASH files were not being played correctly. 2021-10-12 17:03:22 -04:00
PikachuEXE 07fd93d3aa
Fix watching video in development (#1668)
* Fix watching watched video in development

* Fix removing a file even when it does not exist (and would raise error)

* Fix infinite reload in video watching

File updates (e.g. dashFiles) in static folder triggers app reload (web-dev-server)
But the a file is created/updated/deleted on before playing any video
So it goes into a loop of loading a video
2021-09-23 07:04:00 +00:00
Jason b205aaeee5
Style improvements to Channel & Trending pages (#1736)
* Fixes #1733

* Improves Trending & Channel tab styling

Removes :focus styling for unintended effects with auto-focusing on Trending page. Replaces underline with bold text weight & primary color bottom border on selected/active tab. Replaces animated background color change with bold text weight on tab:hover. Changes inactive tab color to tertiary. Removes unnecessary margin beneath tabs. Removes some of the empty vertical space between Channel info section & channel banner. Adds margin changes to maintain good appearance on smaller screens.
2021-09-23 06:42:30 +00:00
Jason cfeac8c7f1
Collapsible Settings Sections (#1699)
* Adds base dropdown ability to settings page with <details> & <summary>

* Adjusts styling of settings page

Replaces css stylesheets with sass stylesheets on some settings elements for better standardization of styling. Removes now unnecessary ft-card, .card, etc styling. Adds styling to new dropdown functionality.

* Update subscription-settings.sass

* Update Settings.css
2021-09-15 10:03:00 +08:00
Jason aa5760a6b3
Replaces outdated links to FreeTube GH wiki with links to Docs site (#1698) 2021-09-13 22:25:55 +01:00
Jason f801ea4b05
Integrate theater mode into mediaplayer (#1589)
* Moves theatre mode button to mediaplayer

* Accounts for 'Enable Theatre Mode by Default'

* Removes unnecessary comment

* Removes unnecessary newlines

* Rename variable for toggle theatre mode button

* Fix issue caused by missing change in rename

Co-authored-by: Preston <freetubeapp@protonmail.com>
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2021-08-24 07:36:10 +00:00
ChunkyProgrammer 011ee17711
[Feature] Add trending pages for music, gaming & movies (#1483)
* Add other trending pages

* Add better formatting

* fixed trending cache

* Fix Trending page title

Changes in PR #1321 make this necessary

* update locale files

* add accessibility improvements

accessibility improvements

* focus tab on reload

Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-08-21 23:08:38 +02:00
JInfantesC 329a673cd8
Channel view layout issue (#1591)
* #1499. On channel page. Change absolute css to display flex

* Inline css move to file

* Update Channel.css

* Class additions and inline css removal

* empty line

* Update Channel.css

Co-authored-by: Preston <freetubeapp@protonmail.com>
Co-authored-by: peepopoggers <72892531+peepopoggers@users.noreply.github.com>
2021-08-20 18:54:16 +00:00
ChunkyProgrammer 11bb81795d
fix featured icons not loading (#1552)
Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-08-20 18:45:00 +00:00
Jason 539b084217
Keep reload buttons' position fixed on scroll (#1573)
* Makes reload buttons' position fixed

* Changes reload buttons' positions to absolute on narrow enough screens

Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-08-20 20:15:33 +02:00
ChunkyProgrammer 93a48ffe24
Translate window titles (#1321)
* Update Titles to change based on locale

* Update Title on Forward/Backwards navigation

* Revert "Update Title on Forward/Backwards navigation"

This reverts commit 0a57825e920911275dcabfbb36d44712a452da15.

* Translate Window Titles

-Updated en-US & en_GB localization files to include 'Playlist" and "Profile Settings"
- Updated app to dynamically change titles + translate (App.js sets title instead of router now)
- Channel & Video get title based on Channel Name & Video name (changing those titles are in their respective views)

* Revert "Update Titles to change based on locale"

This reverts commit 9e8081606710c2a63655dc33594c542af7826df8.

* Re-add update title to channel view

* fix playlist title

* Fix 'Edit Profile' title
2021-07-21 11:45:02 -04:00
PrestonN d4953525b2 Fix issue with videos not loading when running in dev mode 2021-07-17 20:24:26 -04:00
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
PikachuEXE 825bec1a81
* Update playlist page thumbnail to start playing first video on click (#1361) 2021-06-15 14:42:00 +00:00
PikachuEXE ce15f4b7c4
Watch: stop autoplay countdown toasts when navigating to another page (#1287) 2021-06-14 18:10:21 +00: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 28b4713334bf941be9e403abf517bb4b89beb04f.

* 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
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
Svallinn 6ccc7e9fa4
Refactor: Swap `dispatch`/`commit` calls with mapped actions/mutations 2021-05-22 00:56:32 +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
Luca Hohmann 0cc88642b0
Fixed old trending page api call (#1297) 2021-05-18 20:59:23 +02: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 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
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 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 e4e3090153
! Fix unable to view another playlist when already in playlist view (#1211) 2021-04-27 18:30:29 +00:00
Svallinn c8d96d38b6
Save watch progress when closing window (#1217) 2021-04-21 18:38:46 +00:00
Svallinn 1fd08af136
Select search text on focus (#1201) 2021-04-15 21:30:26 +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 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 c5fac9fcd7
Video meta file removal option (#1154)
* Implemented video meta file removal option

* Lint fix
2021-04-01 15:54:45 +02: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
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
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 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
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
Preston 3d5ccdc4dc Add better information to media notifications 2021-02-21 22:07:50 -05:00
Preston ef5aee3576 Update local API comment module and fix Invidious logic on channel page 2021-02-15 09:59:35 -05:00