Commit Graph

828 Commits

Author SHA1 Message Date
PikachuEXE 0d0a2f4c26
Improve playlist long description display (#1358)
* $ Add class names to some elements & use in CSS

* * Update playlist page style to ensure description box has max height to enusre visibility of share button
2021-08-05 21:22:43 +02:00
Svallinn 13d73d2798
Switch out deprecated `yt-comment-scraper` package and bump version
Closes #1490
2021-07-23 23:17:45 +01: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
ChunkyProgrammer 6522521b88
Escape HTML in chat & comments (#1342)
* Fix comment regex & live chat

* fix regex
2021-07-21 10:37:55 -04:00
PrestonN d4953525b2 Fix issue with videos not loading when running in dev mode 2021-07-17 20:24:26 -04:00
Émilien Devos 0ff1e65a9e
yewtu.be now support FreeTube (#1518) 2021-07-15 22:05:53 -04:00
Svallinn 2ce3110041
Main: Move window bounds persistence logic over to the main process 2021-07-03 03:43:49 +01: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
Svallinn 99b61e6178
Store: Implement history synchronization between windows 2021-06-26 05:06:21 +01:00
Svallinn b68e1700c0
Main+Renderer: Make IRC window syncing channels more generic
This commit renames the 'syncSettings' IRC channels to 'syncWindows' and
changes the renderer's listener setup for this channel more generic
so that it can cover other store modules besides the settings' module.
2021-06-26 05:06:18 +01:00
Svallinn 8f4a5ee1bd
Store/History: Prevent actions from unnecessarily using the filesystem
Most actions in the history module would grab the history from disk
every time the history was updated and updated the cache this way.

This commit makes these actions perform these modifications in memory
instead of unnecessarily reaching into the disk.
2021-06-26 05:04:31 +01:00
Svallinn 9859a7ce18
App+Settings: Make locale changes reactive between windows
This commit moves the locale relevant code to the settings' store module
and incorporates it with its current architecture.

I should clarify that this makes the value present in the `localStorage`
nonmeaningful, as that value is no longer being used in any way.
2021-06-20 02:47:44 +01:00
Svallinn d3e6d57f20
Main+Utils: Rename `getLocale` function to `getSystemLocale` 2021-06-20 02:47:33 +01:00
Svallinn 5cc954066b
Renderer: Move vue-i18n to its own file 2021-06-20 02:40:40 +01:00
Svallinn 4f96aacbf6
Chore: Replace `youtube-chat` package with `@freetube/youtube-chat`
Having control of the package enables us to update its dependencies
and react to vulnerability advisories.
2021-06-19 19:12:42 +01:00
Svallinn be11e3d8cb
Chore+Refactor: Replace `nedb` package with `nedb-promises`
The 'nedb' package is unmaintained (last update was 5 years ago) and
has a couple of high severity vulnerabilities.

In addition, the use of callbacks is somewhat cumbersome for
the project's current workflow.

Therefore, I've decided to replace it with the 'nedb-promises' package,
which, internally, makes use of a maintained fork of 'nedb' and
wraps its API with Promises.
2021-06-17 04:21:58 +01:00
Svallinn 73c198a30c
Chore: Replace `markdown` package with `marked`
The 'markdown' package is unmaintained (last update was 8 years ago)
and has a low severity vulnerability, so it makes sense to replace it
with 'marked', which is actively maintained and very small in size.
2021-06-17 04:14:06 +01:00
Svallinn 77e743060f
Main+Renderer+Dev-Runner: Refactor smooth scrolling toggling
Smooth scrolling toggling is currently wonky on runtime, since,
most of the time, it doesn't toggle on and off properly.
In addition, now that we have multi-window support,
the current implementation was somewhat lacking.

This commit solves those issues by replacing
the existing smooth scrolling related channels with a
new generic `relaunchRequest` channel.
2021-06-16 05:43:26 +01:00
Svallinn 0551ce44f2
Main+Renderer: Enforce synchronous messages on `setBounds` channel
This should fix an issue where, when closing the app, an error window
would very occasionally pop up declaring that 'getNormalBounds'
was called on an undefined variable.
2021-06-16 05:34:37 +01:00
Svallinn 65df233e8a
Profile+Everywhere: Tweak CSS on profile related components
This commit improves the centering of profile bubble initials
and tweaks other parts of profile related components.
2021-06-16 05:34:37 +01:00
PikachuEXE 6d2b1f3632
Top-Nav: Improve search filter's appearance (#1360)
* Update search filter style to have little transparency & smaller size
2021-06-15 14:53:06 +00:00
PikachuEXE 9acafc7292
* Update top nav search input to disable spellcheck (#1346) 2021-06-15 14:42:37 +00:00
PikachuEXE 825bec1a81
* Update playlist page thumbnail to start playing first video on click (#1361) 2021-06-15 14:42:00 +00:00
PikachuEXE 78b6adeb5e
Playlist: create navigation to the respective channel (#1347) 2021-06-15 14:18:08 +00:00
PikachuEXE ce15f4b7c4
Watch: stop autoplay countdown toasts when navigating to another page (#1287) 2021-06-14 18:10:21 +00:00
ChunkyProgrammer bb3edb750f
Hide trending and most popular when set to hidden (Portrait Mode) (#1324)
* hide trending & popular videos from bottom nav

* add computed properties for Hide Popular & Hide Trending
2021-06-14 17:54:03 +00:00
PikachuEXE 588b488856
Watch: set volume's session value to 0 when the player is muted (#1352) 2021-06-14 17:15:46 +00:00
ChunkyProgrammer f6c2e0937b
Fix emoji initials in Profile Previews (#1407)
* updated get profile initial methods

* simplify return statements
2021-06-14 16:59:09 +00:00
Luca Hohmann 2b75e63b19
Bumped comment scraper (#1410) 2021-06-13 22:08:12 +02: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
Svallinn 84e15cccbb
Store+Vuetools: Remove some leftover artifacts that would break vuetools 2021-06-13 12:09:43 +01:00
Svallinn 0ad1518038
Store/Settings: Remove accidently duplicated commented out setting 2021-06-11 15:29:45 +01:00
Svallinn 672c734024
Store/Settings: Sort `state` entries alphabetically 2021-06-11 03:56:03 +01:00
Svallinn bc4a329f58
Store/Settings: Remove/comment out some unused settings 2021-06-11 03:53:14 +01:00
Svallinn b6bd3e6434
Store/Settings: Propagate side effects to other existing windows
When syncing a setting between windows, if that setting has any
side effects, a trigger is fired in all other windows to perform
those side effects in their own environment.
2021-06-11 03:49:21 +01:00
Svallinn b26e8b68ef
Store/Settings: Make `grabUserSettings` check for side effects globally
Previously, a custom Map was provided to the function in order to
determine whether or not a setting contained side effects that needed
to be handled.

That Map has now been deleted and the function has been modified
to make use of the module's new architecture.
2021-06-11 03:49:20 +01:00
Svallinn 55a25dc1ea
Store/Settings: Handle `defaultVolume`'s side effects in the module 2021-06-11 03:49:20 +01:00
Svallinn b0f973b76a
Store/Settings: Handle `uiScale`'s side effects in the module 2021-06-11 03:49:12 +01:00
Svallinn bb64efbe4d
Store: Redesign the settings module architecture
Previously, the settings' module was not properly equipped to handle
setting updates that featured certain side effects and no way to
propagate those side effects to other windows.

This redesign is a direct answer to those needs, in preparation to
move these settings and related logic to the aproppriate structures,
which will be done over the course of several commits.

A more in-depth documentation of the current redesign can be found at
the top of the settings module file.
2021-06-11 02:56:40 +01:00
Svallinn 7e94abb3b4
Main+App+Store: Implement basic setting sync between Electron windows
The app utilizes the Electron IPC to communicate settings' updates
to the other existing windows.

This is still at a fairly rudimentary stage, since some settings are
not syncing at all, while other settings have related side effects that
are not currently being propagated to the remaining windows.

An example of this would be the 'uiScale' setting, in which
the value is properly synced, but the app's actual scaling isn't.
2021-06-11 02:56:39 +01:00
Svallinn 5e105f5584
Store: Move `nedb`'s `Datastore` instances to their own file 2021-06-11 02:56:39 +01:00
Svallinn 8b785bd71d
Settings: Remove unnecessary handler for `defaultVolume` update 2021-06-11 02:56:39 +01:00
Svallinn 324e834083
Settings: Round `defaultVolume`'s getter value to the nearest integer
This fixes a bug related to the presentation of the `defaultVolume`
value in its respective label in the Settings view.

Since the value stored in the database and in the in-memory store
is a decimal number, it is subject to floating point arithmetic related
limitations.

Example (processed by the V8 engine):
0.28 * 100 = 28.000000000000004
2021-06-11 02:56:38 +01:00
Svallinn 08cf749277
App: Remove unnecessary leftover artifacts 2021-06-11 02:56:38 +01:00
Seb 2297bf3732
Implement persistence for caption settings (#1269) 2021-06-10 19:35:00 +00:00
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
Preston 9eb3b1fc20 Fix playback rates and search pagination 2020-12-17 11:22:05 -05:00
Airradda f2f3274ea3
Reorder and resize playback rate menu (#854)
Reorder playback rate from 3->0.25 to 0.25->3 and resize to include an additional visible playback rate (0.25->1.5)
2020-12-15 15:09:49 -05:00
Airradda f7c1392059
Add Additional Keybinds (#855)
* Reorder and resize playback rate menu
Reorder playback rate from 3->0.25 to 0.25->3 and resize to include an additional visible playback rate (0.25->1.5)

* Add Keybind (D) to Toggle Picture-In-Picture Mode

* Revert "Reorder and resize playback rate menu"

This reverts commit dacf1e9aa54e6d9d1bfe6ab79b561fd10f2b9ca3.

* Added (s) keybind to toggle Full Window

* Add description for (S) key

* Fixed weird Git things during rebase
Git injected some weird text during the rebase and duplicated a commit.
Hopefully that's just my messing up the rebase and it won't happen in the future.
2020-12-15 14:07:40 -05:00
Preston 44d5b31879 Update video player button layout 2020-12-14 18:25:51 -05:00
CristianMartin ad8ed9fdb0
Windowed FullScreen (#829)
* add functionality in fl-video-player and styles in videoJS.css, with the aim of having a full window button in the video player

Signed-off-by: CristianMartin <c.knoxville8@gmail.com>

* fixed up interposition with full screen

Signed-off-by: CristianMartin <c.knoxville8@gmail.com>

* incorporation of styles for the full window button, and general refactor of the functional code of the button in the ft-video-player.js class

Signed-off-by: CristianMartin <c.knoxville8@gmail.com>

* Incorporation of the icons for the full window button in the path src/renderer/assets/img/, incorporation of the icons to the css and style refactor in the code of the functionality window for the complete button

Signed-off-by: CristianMartin <c.knoxville8@gmail.com>

* final bug fix with npm run lint-fix and test run

Signed-off-by: CristianMartin <c.knoxville8@gmail.com>

* Update ft-video-player.js

 Code refactor according to the suggestions of change in the extraction, modification of the position of the buttons of fullscreen and fullwindow as suggested.

* lint error repair

* Update videoJS.css

incorporation of css styles to correctly center the icon of the new fullwindow button
2020-12-14 17:37:58 -05:00
Jakub d0aeae381f
added slovak as active (#874) 2020-12-14 17:11:48 -05:00
Preston 2b31078e05 Prepare search code for pagination 2020-12-14 14:52:22 -05:00
Preston 1a9cdacd75 Update search filters to work with updated search module 2020-12-14 14:15:29 -05:00
Preston cb8cf1ef43 Start progress on fixing Search and Playlist for local API 2020-12-13 23:17:43 -05:00
alium 645d772d4a
Update main.js
Czech language is added, but not enabled. Enable Czech translation
2020-12-10 22:22:33 +01:00
Preston a85a974995 Update watch-video-playlist.css 2020-12-07 10:35:42 -05:00
Preston 6c3212eaa8 Fix thumbnail URL in ft-list-channel and fix visual issue with watch-video-playlist 2020-12-06 21:02:27 -05:00
Preston c59b8333d7 Temporarily fix channel id extraction from watch object 2020-12-06 20:18:08 -05:00
Preston 7eb0a400c5 Allow local API video extractor to return error messages in the user's preffered locale 2020-12-06 20:15:31 -05:00
Preston 47a493e368 Update search module and add error handling for more videos 2020-12-02 13:36:08 -05:00
Luca Hohmann 460934752c
Fail-Safe fix when author data of video is missing (#825)
* Fail-Safe fix when author data of video is missing

* Fixed linter issues by replacing hasownproperty with in

* Implemented Prestons addition for the user thumbnail
2020-12-02 13:35:03 -05:00
Duane Jaspers 2c71dedb06
fix for subtitle settings values not showing up (#801) 2020-12-02 13:04:24 -05:00
Preston b2363bb6dd Allow hidden toast messages to be clicked through 2020-12-01 11:02:52 -05:00
Preston 895906e2f6 Fix playlist watch video playlist information and fix recommended videos list 2020-11-28 19:44:17 -05:00
Preston fdb258b4e3 Use WIP branch for Search and playlists 2020-11-28 19:08:39 -05:00
Preston 742226940c Fix linter issues 2020-11-23 21:57:03 -05:00
Preston 22c40fb049 Update Dependencies 2020-11-23 21:53:49 -05:00
Preston 6f97cf8e11 Hide like / dislike icons when option is enabled 2020-11-23 14:28:38 -05:00
TDDR 79a1555e2c
Finiashed adding overlay that displays title (#789) 2020-11-15 14:13:18 -05:00
Preston 11ffde44db Prevent error when dashSrc isn't initialized 2020-11-15 13:46:18 -05:00
Luca 96805f9b20 Fixed invalid timestamp video urls 2020-11-14 20:21:22 +01:00
Luca 796bf0e644 FF 2020-11-14 20:08:27 +01:00
Hiers 1495699d22
Implement frame by frame advance using keyboard shortcuts (#758)
* Added frame by frame advance functionality.

* Changed keybindings for frame by frame advancing.

* Fix comments.

* On Invidious videos using dash at high qualities the default is now skipping 1 frame at 60fps instead of 30fps. Avoided error on trying to read non-local dash manifest.

* On dash reading error, defaults to 60fps within determineMaxFramerate. maxFrameRate initialised in data object.

* Cleanup of framebyframe logic.
2020-11-13 17:29:41 -05:00
Preston cd5023ae72 Allow importing / exporting of new subscriptions file from yt 2020-11-01 16:23:06 -05:00
Preston de3cff57c5 Fix Invidious Fallback logic 2020-10-31 11:23:26 -04:00
Duane Jaspers 3c8dfb84b5
Change to only consider currently live broadcasts as livestreams. (#728)
* Remove isLiveContent, so only now live is true

* Change Published on to Streamed on when applicable
2020-10-31 10:57:51 -04:00
TDDR e7ce45b524
Changed title of Watch view to title of the video (#739)
* Changed title of Watch view to title of the video

* Called updateTitle in a more appropriate location

* Removed redundandt router portion
2020-10-31 10:36:35 -04:00
Preston d7fe2dcfbd Re-add Show More button in the Search Page 2020-10-31 10:34:37 -04:00
Luca f1230e992f Added selection of resolution > 1080p for all devices. 2020-10-28 22:20:07 +01:00
TDDR 0f8d12d78f Added ability to change volume with scroll wheel 2020-10-27 15:30:50 -04:00
Preston 46c271aa22 Fix linter issues 2020-10-27 13:47:40 -04:00
Luca Hohmann 45a92acedf
Merge pull request #715 from DuaneJaspers/ChannelUrlCopyOpen
Add Copy / Open Channel URL to video dropdown
2020-10-25 11:36:33 +01:00
Luca 2c8921d3d1 Merge branch 'development' of https://github.com/FreeTubeApp/FreeTube into development
MErge
2020-10-24 13:41:49 +02:00
Synkky 89cc8fe9c6
Fix pathing issue when forking process 2020-10-23 23:29:19 +01: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
Luca d36bab3ffd Added trending region to Invidious 2020-10-22 22:59:16 +02:00
Preston f75df62c90 Move logic to utils store and load country data on boot 2020-10-22 14:56:49 -04:00
Luca 82f7dafda6 Merge branch 'development' of https://github.com/FreeTubeApp/FreeTube into development
Merge
2020-10-22 19:14:13 +02:00
Luca 3bb7be9ddb Move country update back out of if check 2020-10-22 18:24:05 +02:00
Luca d480b9113f Added tooltip to region of trends 2020-10-22 18:14:36 +02:00
Luca 7dff578422 Added dfault fallback to the geoLocation 2020-10-22 18:06:23 +02:00
Luca bf2737b947 Added geoLocation code 2020-10-22 13:47:30 +02:00
Preston 3d8383be11 Hide load more button in search when there are no more to 2020-10-21 16:58:47 -04:00
Preston 351a6a3992 Add error handling for search filters 2020-10-21 11:23:40 -04:00
Preston a7cd21b7ad Test temporary search fix 2020-10-21 11:15:42 -04:00
Luca 8a89062387 Merge 2020-10-20 12:32:57 +02:00
Luca eed4e89318 Made changes from PR request 2020-10-20 12:31:48 +02:00
Preston c7ac9a8415 Add caption download links when Invidious API is enabled 2020-10-19 15:16:56 -04:00
Preston 1086d7b516 Add captions to download links 2020-10-19 11:51:37 -04:00