Commit Graph

904 Commits

Author SHA1 Message Date
absidue dd5c68223b
Use the builtin subtle crypto library instead of node-forge (#2276) 2022-05-31 09:42:39 +08:00
PikachuEXE 2db528b8dd
! Fix handling of youtube link middle mouse click (#2083)
To properly open new windows
2022-05-30 14:32:38 -04:00
bob1520 ddce28e586
Feature: Screenshot of video (#2221)
* screenshot

* player settings, jpg & default "pictures" folder

* filename pattern

* folder placeholder update

* remove duplicate action

* update: won't save invalid pattern

* Ask for folder, toggle screenshot, modal showSaveDialog & button unfocus

* useModal
2022-05-30 15:24:34 +02:00
PikachuEXE 713738b5ff
* Implement divider for video "more dropdown menu" (#1748)
* * Implement divider for video "more dropdown menu"

* * Update API for ft-icon-button

* * Update existing ft-icon-button user to use new API for dropdown options

* * Update ft-icon-button to remove unused old API

* * Update divider to be less visible

* * Update padding of list item

* * Update WebpackDevServer option to avoid app reloading on MacOS .DS_Store file change
2022-05-29 18:33:27 -04:00
ChunkyProgrammer dfb28b1d69
Feat: SponsorBlock improvements (#1849)
* Add setting for each SB category

* Update SB Settings Component

* Show other SB categories in seek bar

* Use camelCase for SponsorBlock values

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* change "Don't Skip" to "Do Nothing" in locale

* improve styling of sponsorblock settings

* add filler category, don't repeat colors

* Fix JS format issue caused during code conflict resolving

* make sponsor block markers transparent

* change opacity to 0.6

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2022-05-29 22:36:59 +02:00
bob1520 c098014a4e
Fix caption baseurl (#2268)
* fix caption

* remove duplicate auto-translation from english
2022-05-26 22:46:49 -04:00
Max Nordlund fdd7e94a1d
Fix typo (#2267)
* Fix typo

* Fix typo

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
2022-05-27 00:08:20 +02:00
bob1520 a9dc9c028d
Fix: wrong info displayed when quickly navigate from a channel to another (#2259)
* Fix: wrong info displayed when you quickly navigate from a channel to another (Invidious)

* localapi

* id
2022-05-25 11:32:19 +02:00
ChunkyProgrammer 2332aafd68
fix csv import/export (#2247) 2022-05-25 10:28:18 +02:00
absidue 0146a63ce6
Add support for next/previous/pause/resume global hotkeys/actions (#2239) 2022-05-23 09:48:49 +08:00
absidue 32b9e1d511
Fix the stats for nerds modal hogging all the keyboard events (#2253) 2022-05-22 07:59:49 -04:00
preston 20a65a6400 Fix small errors that would come up during usage 2022-05-14 21:05:14 -04:00
ChunkyProgrammer 62bdf5e4d6
Feat: Channel Member Icons + Load Custom Channel Emojis in Comments (#1819)
* channel member + custom channel emojis

* accessibility improvements

* show member icon for comment replies

* update yt-comment-scraper. make member icon more accessible.
2022-05-14 13:33:00 -04:00
jilv220 2c672c1baa
Fix #1774 - Dropdown doesn't match theme in dark mode (#2199)
* fix #1774

* fix highlight in dark theme

* change side-nav-color to #0f0f0f in black theme
2022-05-13 04:53:33 -04:00
vallode b202ec85e5
Remove input event emitting to reset search field (#2108) 2022-05-13 09:16:14 +08:00
bob1520 8b50045e78
channel fix (banner, playlist) (#2215)
* channel fix (banner, playlist)

* remove console.log(response)
2022-05-12 09:37:25 +00:00
vallode 3dcea52b75
System theme preference (#1800)
* Add system preference to theme-settings

* Add watching logic to check for dark theme settings

* Add en system theme translation

* Add explicit darkTheme option to browserWindow

* Remove unnecessary themeSource line

* Fix lint errors

* Move to using main process messaging for theme change

* Add system dataset selectors for themes

* Fix lint errors

* Change system theme to system default

* Use system default for deciding background color of newWindow

* Add baseTheme to state persistance

* Use baseTheme on browserWindow creation

* Fix lint errors

* Improve window background logic

* Catch settingsDb errors

* Remove dark flash on light themes

* Fix lint issues

* Fix system default sync on multiple windows

* Load database on each new window

* Fix lint errors

* Update compatibility for shared electron storage

* Remove unused console log

* Revert unnecessary changes

* Fix window maximize white flash

* Fix handleBaseTheme usage

* Use data-system-theme instead of data-theme

* Revert window maximize changes

* Fix theme flash on new window open
2022-05-11 10:30:40 -04:00
absidue 1e5895a8c6
Hide Picture in Picture button and disable shortcut for audio formats (#2227) 2022-05-02 19:50:23 +08:00
Svallinn 39bf59238f
List-Video: Clear watch progress from view cache when marking as unseen (#2220) 2022-04-27 02:28:16 -04:00
absidue e10c12e55b
Allow DASH formats for livestream replays (#2208) 2022-04-24 10:02:26 +08:00
PrestonN 40699b9ae3 Customize max playback rate and playback rate interval 2022-04-10 18:00:47 -04:00
PrestonN 21a4739c68 Check if mutation exists before calling commit 2022-04-10 17:15:41 -04:00
Preston 0806a1a0ae Bump yt-channel-info version, fix playlist / history search bar hiding and fix text in resolution for stats modal 2022-04-09 16:23:34 -04:00
absidue 4ef26df7a0
Add the alternate search keyboard shortcuts COMMAND+L on MacOS and CTRL+L on other platforms (#2175) 2022-04-09 15:43:17 -04:00
absidue b3ee24ecf3
Hide filter on history and playlist page when page is empty (#2177)
* Hide filter on history and playlist page when page is empty

* Fix linter warnings

* Fully fix linter warnings
2022-04-09 15:42:03 -04:00
ChunkyProgrammer 4ba2cb29c6
Fix: trending cache (#2125)
* fix trending cache

* fix displaying trending from cache

* fix trending "resync"
2022-04-09 15:34:55 -04:00
vallode 86bdb5e2ae
Fix search input shortcut (#2140)
* Add handler for slash shortcut

* Fix lint errors

* Change Slash shortcut to Alt+KeyD
2022-04-07 22:45:22 -04:00
vallode 6559732207
Switch debug and picture in picture shortcuts for consistency (#2141)
* Switch debug and picture in picture shortcuts for consistency

* Add preventDefault to statsmodal shortcut
2022-04-07 22:40:29 -04:00
Preston 884e0967df Update local API modules and use new variable for related channels 2022-04-07 22:20:33 -04:00
absidue 048b7bc77e
Only fetch the most recent update from the GitHub releases (#2169) 2022-04-07 22:03:28 -04:00
ChunkyProgrammer 927225d1f4
update yt-channel-info (#2126)
* update yt-channel-info

* update to 3.0.1

* Update yarn.lock
2022-04-05 23:05:15 -04:00
bob1520 d5c40be2ab
defaultSkipInterval * player.playbackRate() (#2153) 2022-03-30 10:06:54 +08:00
bob1520 dc4a828820
Fix addToSessionSearchHistory (#2124)
payload.data is already concatenated in Search.js
2022-03-26 09:20:22 +08:00
vallode 815c348948
Sync theme between windows (#2090)
* Sync expandSideBar across tabs

* Sync baseTheme, mainColor, secColor between windows

* Fix lint errors

* Fix lint errors: electric boogaloo
2022-03-05 03:09:32 -05:00
Preston 1c647504c9 Ignore quality options if can't find matching bitrate 2022-02-25 17:51:02 -05:00
neko 147ebde76b
Fix thumbnail being obstructed by time tooltip (#2078)
* Fix thumbnail being obstructed by time tooltip

* Update src/renderer/videoJS.css

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2022-02-21 14:11:42 +00:00
Preston dbf69f242a Simplify playlist / history search and add video stats string for legacy videos 2022-02-19 21:32:34 -05:00
Preston cd574be4e7 Stats for nerds cleanup and fix linter errors 2022-02-19 17:17:58 -05:00
Preston ba9772a0e0 Replace timeout with Vue ticks 2022-02-10 18:09:33 -05:00
Preston f6c1b0e8a1
Increase wait time for lower spec hardware 2022-02-07 23:55:39 -05:00
Preston 7651851dbc Fix check for keys in playlist import 2022-02-06 21:00:52 -05:00
Preston 9a7b260859 Update marked syntax in update checker 2022-02-06 18:16:46 -05:00
Preston f69c53522e Fix issue with importing playlists and fix issue with video bar being incorrect in playlists view 2022-02-06 16:48:24 -05:00
Preston 7789703784 Fix issue where the watched progress bar in ft-list-item would overflow 2022-02-06 15:54:49 -05:00
PikachuEXE bf63c864a3
Feature/middle click open in new independent window (#1895)
* ^ Update electron 15.x

* ^ Update electron 15.x > 16.x

This fixes the issue of white flash on new window shown before event `ready-to-show`
even window created with option `backgroundColor`

* * Update `createWindow` to pass options via an object instead of positional arguments

* * Implement windows opening with new window won't be closed when "parent" window closed

* * Update new window opened via middle click to be shown immediately

Matches current behaviour and better user experience (due to elimination of delay from the click to window appearance)

* * Update new window button to show new window faster

* * Only focus on new window on event `ready-to-show` if new window is not already shown

* Update src/main/index.js

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>

Co-authored-by: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
2022-02-06 15:07:39 -05:00
Varun Prasad 46316bd2a7
Hiding thumbs-up icon when the hide Comment Likes setting is enabled (#1909) 2022-02-06 14:57:36 -05:00
PrestonN f19b5f8501 Remove console log 2022-02-06 14:45:24 -05:00
ChunkyProgrammer 3c364ae194
don't repeat comments (#1986) 2022-02-06 14:38:17 -05:00
PrestonN d21a7f1c24 Add ability to import / export playlists and slightly tweak settings layout 2022-02-06 14:31:27 -05:00
HaydenB 9196457495
added logic to hide playlist views (#1916) 2022-02-03 18:11:29 -05:00
PrestonN 36dfb7849d Refactor video download logic 2022-02-01 22:11:38 -05:00
PrestonN e9239ec1b4 Hide Dislike count and like/dislike ratio bar. Fix ft-icon-button 2022-02-01 10:24:14 -05:00
PrestonN 75dc039a9f Move Download settings to above Sponsorblock settings 2022-01-30 22:26:09 -05:00
constraintAutomaton 609996d175
In app download (#1971)
* src/renderer/store/modules/utils.js, src/renderer/components/watch-video-info/watch-video-info.vue, src/renderer/components/watch-video-info/watch-video-info.js, src/renderer/components/ft-icon-button/ft-icon-button.js, src/main/index.js

in-app download in hardcoded path

* download into variable folder supported

download can be done into a specify folder defined in the  settings or can be done by choosing a folder just before the downloading

* src/renderer/store/modules/utils.js: folder is asked before downloading when appropriate

* src/renderer/store/modules/utils.js: toast added for success and faillure

* src/renderer/store/modules/utils.js: mecanism to show download progress

* src/renderer/store/modules/utils.js: percentage symbol added to toast message when displaying progress

* src/renderer/components/download-settings/download-settings.js: clarification comment about electron

* src/renderer/store/modules/utils.js: typo in comment resolved

* src/renderer/store/modules/utils.js: show a toast when there is a file error

* static/locales/fr-FR.yaml: resolved typo in Choose Path

* src/renderer/store/modules/utils.js: download progress notification toast deleted

* corrections of typos, changes in toast messages, toast messages translatable by modifying the ft-toast component to allow translatable strings

* cleaner code for translatable toast

* downloadMedia argument changed from array to object

* src/renderer/components/download-settings/download-settings.sass: trailling space added

* Apply suggestions from code review

folder changed for folderPath

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* fix forgotten folderPath renaming

* extra space deleted

* starting toast displayed after download folder asks

* audio button deleted

* experimental electron web library deleted because can cause performance issues

* placeholder for web support

* made better condition for web and electon compatibility and small variable renaming

* better error message when user cancel the download

* falling back to asking the user if the download repository doesn't exist

* falling back mode implemented

* console.log for debugging deleted

* useless import deleted

* small renaming

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2022-01-30 12:49:16 -05:00
PikachuEXE 16166ba843
Cleanup/duplicate datastore module (#2023)
* - Remove duplicate datastore file

Which is not referenced and comes from old PR

* - Remove unncessary index
2022-01-28 10:18:02 -05:00
constraintAutomaton 6caa5da46c
Search option in watch history and favorite playlist (#1942)
* transition duration of 0.5s added to watched videos

* small code reformating

* extra white spaces deleted

* typo in the word transition corrected

* original whitespaces respected

* transition added when hovering end

* video stat components started and properties chosen

* ft-video-stats integraded into the video player for dev and debugging

* using a timer to get video stats and a method to update the statistic every second

* getting statistic from vhs and adaptativeFormat

* frame drop capture

* stats capture in the form of event

* useless comment deleted

* stats render with a for loop in the template

* stats correctly displayed

* overlay stats added

* video stats component deleted

* video stats component deleted inside template video player

* video stats component fully deleted

* modal solution working need more styling and code messy

* lint

* modal working with stats

* keyboard shortcut for stats

* lint fix

* network state is now a string

* new line deleted

* useless whitespace deleted

* package-lock.json remove and ignore

* keyboard shortcut restricted to up arrow

* stats overlay made larger

* align to left corner

* useless formatting of string deleted

* renaming of variable formatedStrats for formattedStats

* keyboard shortcut made into a variable

* lint-fix

* key change for i

* label translated

* whitespace added for gitignore

* lock file not ignored

* videoId stat deleted

* ft-video-player.js, en-US.yaml, fr-FR.yaml: changing percentage stats display

changing the display for percentage stats for the format 'x%' instead of 'xx.xx'

* ft-video-player.js, en-US.yaml, fr-FR.yaml: network state video statistic deleted

* ft-video-player.js: made stats modal background color darker

* ft-video-player.js, en-US.yaml, fr-FR.yaml: video id are now related to the one of youtube

* ft-video-player.js, en-US.yaml, fr-FR.yaml: stats displayed made closet to the youtube implementation

the name are capitalized, the order of display is changed and fps is combined with viewport

* lint-fix

* en-US.yaml, fr-FR.yaml: network state possibilities deleted because not used

* package.json.lock: deleted

* ft-video-player.js: formated_stats renamed for formatted_stats

* lock file deleted

* index.js, ft-video-player.js: handling of right click context menu

via electon ipc bus an event is send to tell the vue component to show the stats modal

* ft-video-player.js, index.js: renaming of video stats display event and definition of it as a variable

* index.js, en-US.yaml: inconsistant capitalization of video statistics label solved

* index.js: pluralized video stats

* ft-video-player.js: fix right click undefined this.player

change the arrow function inside the closure for a function with a bind to this

* ft-video-player.js: handling of the case when this.player is not defined

the property this.stats.display.activated as been added and manage when the to show the stats. In this way in the runtime (it is still refered in the run time but it is capture in an event loop) with dont have to refer to this.player so when it is not defined it doesnt affect the behavior.

* lint fix

* src/renderer/components/ft-video-player/ft-video-player.js: modal.close move into the display event of the statistic context

* lint fix

* src/renderer/components/ft-video-player/ft-video-player.js, static/locales/en-US.yaml, static/locales/fr-FR.yaml: better capitalization of the stats labels

* static/locales/en-US.yaml: fps capitalized

* static/locales/fr-FR.yaml, static/locales/en-US.yaml: capitalized label

* src/renderer/views/History/History.js, src/renderer/store/datastores.js, src/renderer/store/modules/history.js: search history function added and indexing of history database

* npm fix

* src/renderer/views/History/History.js, src/renderer/store/modules/history.js: regex used to handle text search since their is no text indexing

* src/renderer/views/History/History.js, src/renderer/views/History/History.vue: search bar added but not adapted for history search use case

* src/renderer/views/History/History.js, src/renderer/views/History/History.vue: search bar added but not adapted for history search use case

* src/renderer/views/History/History.js, src/renderer/store/modules/history.js, src/renderer/views/History/History.vue: search history working but order do not remain the same depending on search

* src/renderer/views/History/History.js, src/renderer/store/modules/history.js, src/renderer/views/History/History.vue: search history working but order do not remain the same depending on search

* src/renderer/views/History/History.js: loading added when query is empty to order the history

* src/renderer/views/History/History.vue, src/renderer/views/History/History.js, static/locales/en-US.yaml, static/locales/fr-FR.yaml: translation added

* src/renderer/components/ft-list-video/ft-list-video.js, src/renderer/views/History/History.vue, src/renderer/views/History/History.js: fix the bad history reconstruction problem by adding an update hook to ft-list-video component

* lint fix

* src/datastores/handlers/base.js, src/datastores/handlers/electron.js, src/datastores/handlers/web.js, src/datastores/index.js, src/renderer/store/modules/history.js, src/renderer/views/History/History.js, src/constants.js: history adapted to the new db

* src/renderer/store/modules/history.js: print statement deleted

* src/renderer/views/History/History.js, static/locales/en-US.yaml, static/locales/fr-FR.yaml: search history place holder renamed

* search playlists backend

* search bar added into the frontend, search method of playlist deleted because the document are the playlist and not the videos

* src/renderer/store/modules/playlists.js: commment typo resolved

* placeholder name of search bar only defined into the .vue file instead of in the .js file

* src/renderer/components/ft-list-video/ft-list-video.js: fix the mecanism to modify a video card to reflect the current data

* src/renderer/views/History/History.js: doesn't load when query is empty

* src/renderer/components/ft-list-video/ft-list-video.js: fix problem date disapearing

* video id query deleted from search in history and playlist
2022-01-18 00:03:54 -05:00
PrestonN 2be2301d92 Prevent middle click from opening URLs within the app 2022-01-10 21:16:50 -05:00
petaded 84a8efdb4d
fix search suggestion exiting container (#1984)
Co-authored-by: petaded <code@zikl.co.uk>
2022-01-08 14:00:49 +08:00
ChunkyProgrammer f81cee055f
Fix: parsing video info of videos with like count disabled (#1915)
* fix watch-video-info

* don't display likes as 0 when disabled
2022-01-03 23:00:33 +00:00
Svallinn daecf944fb
Store Revamp / Full database synchronization across windows (#1833)
* History: Refactor history module

* Profiles: Refactor profiles module

* IPC: Move channel ids to their own file and make them constants

* IPC: Replace single sync channel for one channel per sync type

* Everywhere: Replace default profile id magic strings with constant ref

* Profiles: Refactor `activeProfile` property from store

This commit makes it so that `activeProfile`'s getter returns
the entire profile, while the related update function only needs
the profile id (instead of the previously used array index)
to change the currently active profile.

This change was made due to inconsistency regarding the active profile
when creating new profiles.
If a new profile coincidentally landed in the current active profile's
array index after sorting, the app would mistakenly change to it
without any action from the user apart from the profile's creation.
Turning the profile id into the selector instead solves this issue.

* Revert "Store: Implement history synchronization between windows"

This reverts commit 99b61e6178.

This is necessary for an upcoming improved implementation of the
history synchronization.

* History: Remove unused mutation

* Everywhere: Create abstract database handlers

The project now utilizes abstract handlers to fetch, modify
or otherwise manipulate data from the database.

This facilitates 3 aspects of the app, in addition of
making them future proof:

- Switching database libraries is now trivial
Since most of the app utilizes the abstract handlers, it's incredibly
easily to change to a different DB library.
Hypothetically, all that would need to be done is to simply replace the
the file containing the base handlers, while the rest of the app
would go unchanged.

- Syncing logic between Electron and web is now properly separated
There are now two distinct DB handling APIs: the Electron one and
the web one.
The app doesn't need to manually choose the API, because it's detected
which platform is being utilized on import.

- All Electron windows now share the same database instance
This provides a single source of truth, improving consistency
regarding data manipulation and windows synchronization.

As a sidenote, syncing implementation has been left as is
(web unimplemented; Electron only syncs settings, remaining
datastore syncing will be implemented in the upcoming commits).

* Electron/History: Implement history synchronization

* Profiles: Implement suplementary profile creation logic

* ft-profile-edit: Small fix on profile name missing display

* Electron/Profiles: Implement profile synchronization

* Electron/Playlists: Implement playlist synchronization
2021-12-15 13:42:24 -05:00
absidue 82b223ea97
Select current playback rate in playback rate selector (#1902)
* Select current playback rate in playback rate selector

* More concise implementation

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Scroll to the selected element instead of focusing it

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2021-11-30 22:08:33 +00:00
Cody Sechelski 37051d8518
Ctrl plus scroll to change playback rate (#1745)
* added the setting to toggle the 'scroll playback rate over video player' on and off. Set the default to off

* • Added Setting to toggle the 'ctrl+scroll for playback rate' feature
• Added the label and tooltip to the en-US local file
• Added the ctrl+scroll functionality to the video player component
• Added the ctrl+click functionality to the video player component
• Modified the existing scroll to change volume funtionality to ignore the event if the ctrl key is pressed

* changed the max playrate to 8 in Player Settings. Changed the available playrate options in the video player component popup menu to go up to 8 in steps of .25

* reverted back to hard coded values for playback rates

* opps, forgot to remove the playbackRates method. It has been removed now.

* fixed (at lesast I think) the hacky way I was overwriding the click handler. Also added a check for event.meteKey for mac users.

* added a check for if the metakey is pressedin the the mosueScrollVlumne method

* made a slight change to the tooltip text. The point of this commit is just to try and get the tests to re-run after I marked the PR as ready for review.

* added 'event.metaKey' back to the 'mouseScrollPlaybackRate' method. Not sure how I ended up leaving it off a few commits ago

Co-authored-by: Cody Sechelski <codysechelski@RMC02G68EYMD6R.local>
2021-11-24 16:52:56 -05:00
constraintAutomaton 001b679183
Stats for nerds (#1867)
* transition duration of 0.5s added to watched videos

* small code reformating

* extra white spaces deleted

* typo in the word transition corrected

* original whitespaces respected

* transition added when hovering end

* video stat components started and properties chosen

* ft-video-stats integraded into the video player for dev and debugging

* using a timer to get video stats and a method to update the statistic every second

* getting statistic from vhs and adaptativeFormat

* frame drop capture

* stats capture in the form of event

* useless comment deleted

* stats render with a for loop in the template

* stats correctly displayed

* overlay stats added

* video stats component deleted

* video stats component deleted inside template video player

* video stats component fully deleted

* modal solution working need more styling and code messy

* lint

* modal working with stats

* keyboard shortcut for stats

* lint fix

* network state is now a string

* new line deleted

* useless whitespace deleted

* package-lock.json remove and ignore

* keyboard shortcut restricted to up arrow

* stats overlay made larger

* align to left corner

* useless formatting of string deleted

* renaming of variable formatedStrats for formattedStats

* keyboard shortcut made into a variable

* lint-fix

* key change for i

* label translated

* whitespace added for gitignore

* lock file not ignored

* videoId stat deleted

* ft-video-player.js, en-US.yaml, fr-FR.yaml: changing percentage stats display

changing the display for percentage stats for the format 'x%' instead of 'xx.xx'

* ft-video-player.js, en-US.yaml, fr-FR.yaml: network state video statistic deleted

* ft-video-player.js: made stats modal background color darker

* ft-video-player.js, en-US.yaml, fr-FR.yaml: video id are now related to the one of youtube

* ft-video-player.js, en-US.yaml, fr-FR.yaml: stats displayed made closet to the youtube implementation

the name are capitalized, the order of display is changed and fps is combined with viewport

* lint-fix

* en-US.yaml, fr-FR.yaml: network state possibilities deleted because not used

* package.json.lock: deleted

* ft-video-player.js: formated_stats renamed for formatted_stats

* lock file deleted

* index.js, ft-video-player.js: handling of right click context menu

via electon ipc bus an event is send to tell the vue component to show the stats modal

* ft-video-player.js, index.js: renaming of video stats display event and definition of it as a variable

* index.js, en-US.yaml: inconsistant capitalization of video statistics label solved

* index.js: pluralized video stats

* ft-video-player.js: fix right click undefined this.player

change the arrow function inside the closure for a function with a bind to this

* ft-video-player.js: handling of the case when this.player is not defined

the property this.stats.display.activated as been added and manage when the to show the stats. In this way in the runtime (it is still refered in the run time but it is capture in an event loop) with dont have to refer to this.player so when it is not defined it doesnt affect the behavior.

* lint fix

* src/renderer/components/ft-video-player/ft-video-player.js: modal.close move into the display event of the statistic context

* lint fix

* src/renderer/components/ft-video-player/ft-video-player.js, static/locales/en-US.yaml, static/locales/fr-FR.yaml: better capitalization of the stats labels

* static/locales/en-US.yaml: fps capitalized

* static/locales/fr-FR.yaml, static/locales/en-US.yaml: capitalized label
2021-11-23 06:34:04 -05:00
PrestonN 3b8213b8cf Main: Properly quit old process when relaunching from AppImage format 2021-11-11 20:35:20 -05:00
PrestonN 2d7cd466bc Remove logic for getting the next page in the Invidious API as it isn't needed anymore 2021-11-11 16:29:37 -05:00
PrestonN 7ea86ef74d Add Dracula Colors to Util store 2021-11-11 15:54:08 -05:00
PikachuEXE 413219525c
Upgrade electron from 13 to 15 (#1764)
* ^ Update electron 13.x > 15.x

* ! Fix child window options due to breaking change in electron 14.x

Breaking change:
https://github.com/electron/electron/pull/28550
Child windows no longer inherit BrowserWindow construction options from their parents.
2021-11-10 09:51:21 -05:00
ChunkyProgrammer e61c11a7ef
Feature: Add pinned, owner and reply from owner indicators for comments (#1795)
* Add pinned, owner and reply from owner indicators

* fix locale

* show owner for invidious

* add margin to pinned indicator

* show owner indicator for replies

* don't show "from owner and others" on hide

* Pass variable into translated string

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* fix replacing channelName

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2021-11-06 10:11:21 +08:00
ChunkyProgrammer 9bf4742cf9
Recognize more channel links (#1455)
* Update channelPattern regex

* redirect to relevant sub page

* Simplify regex

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* fix regression

- fix regression from commit 76f0d7512a11d57598bda6fd0142767aec6218af
- add comment to explain regex

Co-authored-by: Preston <freetubeapp@protonmail.com>
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2021-11-02 11:45:50 +00:00
ChunkyProgrammer c25997c804
fix: white screen when invidious instances don't load (#1755)
* fix white screen when invidious instances don't load

* static file for instances on api fail

* Update src/renderer/store/modules/invidious.js

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* only parse json if file exists

* fix linter

* Update src/renderer/store/modules/invidious.js

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Update src/renderer/store/modules/invidious.js

* Update invidious.js

* Update src/renderer/store/modules/invidious.js

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* remove trailing space

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2021-11-02 11:42:24 +00:00
PikachuEXE ef9efc9c75
! Fix user fav list having "scroll to top" effect when "load more" clicked (#1854) 2021-11-02 11:37:38 +00:00
pkrasicki 506ce48fd9
Prevent comments from overflowing their container (#1857)
Fixes #1851
2021-11-02 14:01:49 +08:00
Jason 41fedf8b2e
Disabling mutually exclusive settings (#1822)
* Adds :disabled styling/functionality for ft-button & ft-select

* Disable proxy, external player, & SponsorBlock settings when applicable

* Changes Invidious General Settings, Proxy Settings, and SponsorBlock settings to disappear when appropriate

* Update ft-toggle-switch.sass

* Switches to styling with disabled class for ft-toggle-switch

* Sets cursor to not-allowed for disabled controls
2021-10-20 13:14:49 +00:00
PrestonN 352d34037a Merge branch 'development' of https://prestonn@github.com/FreeTubeApp/FreeTube.git 2021-10-18 12:55:12 -04:00
PrestonN 4ff6bf6c43 Merge commit '6519b054c6d385386e3c660c044f538aa49aadec' 2021-10-18 12:55:07 -04:00
constraintAutomaton ad1fe0c9fb
Make hover on watched video a smooth background transition #1750 (#1812)
* transition duration of 0.5s added to watched videos

* small code reformating

* extra white spaces deleted

* typo in the word transition corrected

* original whitespaces respected

* transition added when hovering end
2021-10-15 00:03:11 +02:00
PrestonN 6519b054c6 Add check for format.resolution in Invidious adaptive formats 2021-10-13 23:11:51 -04:00
PrestonN 5ad2d75b3f Merge commit 'fde06914b5fa50bf1bac5509d4ec10bab58320aa' 2021-10-12 17:05:29 -04:00
PrestonN dc2ff5e009 Merge commit '2acd3261c49e846c46f05e2223a685797cb15f06' 2021-10-12 17:05:21 -04:00
PrestonN 36e8e7b7aa Merge commit '523a28d0f757807fe09aefdf4a30bb48cb3a4fe2' 2021-10-12 17:05:11 -04:00
PrestonN fde06914b5 Fix issue where playback rate button would disrupt the player layout 2021-10-12 17:04:03 -04:00
PrestonN 2acd3261c4 Fix issue where Invidious DASH files were not being played correctly. 2021-10-12 17:03:22 -04:00
PrestonN 523a28d0f7 Fix text color contrast with main Dracula colors 2021-10-12 16:19:46 -04:00
Hiers eb0138e131
Updated frame-by-frame function to cover previous edge cases. (#1411)
* Updated frame-by-frame function to cover previous edge cases.

* Minor change to setting fps value.

* Fixed default value and if.
2021-10-07 11:44:39 +00:00
ChunkyProgrammer 1390276d55
[Fix] Invidious not used for channels icons in search (#1477)
* fix channel icons

* Add comment

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

Co-authored-by: Preston <freetubeapp@protonmail.com>
Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2021-10-07 06:36:13 +00:00
kuhaku 3cf18b9f2d
Add support for the 'defaultCustomArguments' external player mapping field (#1415)
* feat(store/utils): add support for the `defaultCustomArguments` external player mapping field
improve(store/utils): move custom arguments evaluation to the top in `openInExternalPlayer`
improve(components/external-player-settings): conditionally append the default custom arguments to the tooltip

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

* fix(components/external-player-settings): fix lint error
chore(components/external-player-settings): remove unnecessary console log

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

* chore(static/external-player-map): add new `defaultCustomArguments` field to vlc map

Signed-off-by: Randshot <randshot@norealm.xyz>
2021-10-07 06:29:43 +00:00
vallode dc26141338
Parse like and dislike count to add comma separator (#1796)
* Parse like and dislike count to add comma separator

* Use user locale with fallback for like count
2021-10-06 17:09:08 -04:00
JInfantesC 9f591ba6ee
Sidebar compact issue1293 (#1462)
* #1293. Revise side-nav text labels

* #1293. Remove text on collapsed menu

* #1293. Height of collapsed Option

* Update side-nav.vue. Trending text in title attr

* Side-nav-more-options revised

* Restore navLabel on closed status

* Sidenav label in compact mode as an opt-in setting

* Sidenav-more-options using hideCompactSidebarText

* Sidenav after lintfix

* Sidenav label option renamed and moved to theme settings

* Set minimum height for .navOption

* Correct capitalization

* NavBar icon size on compact mode

* More compact navbar while hiding labels

* Fix store getter

* side-nav.css remove comments

* Update hide labels text

Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-10-05 20:16:47 +00:00
ChunkyProgrammer e681772192
Feat: Invidious instance autofill (#1784)
* filter invidious instances

* remove watch for value

* update list on mount

* hide on misspell + empty

* Fix spelling mistake

* minor fix

* remove "Clear" to "from." from locale  files
2021-10-05 13:58:35 +08:00
Airidasz c2c6a55682
Make autoplay text fit inside top bar when translated (#1767)
* Make autoplay fit inside top bar when translated

* Lint
2021-10-03 10:53:21 +00:00
Airidasz 0a12e58796
Date locale change (#1757)
* Update watch-video-info.js

* Modified language files

Modified language files to include the ISO 639-1 language code

* Change date based on locale

This changes the date based on locale. If locale does not exist it defaults to English

* Removed locale codes from files

* Getting locale code from $store

* Delete launch.json

* Replace _ with - for locale

* Add locale change to playlist query

Change the locale of playlist query.
On error defaults to user location (the library does it, no extra work required)
Does not work with Norsk nyorsk locale

* Make linter happy

* Lint

* replace dashes with underscores for locale string
2021-10-02 15:43:42 +00:00
peepopoggers 25189e2aff
Don't blind dark theme users (Dark loading screen) (#1502)
* Don't blind dark theme users

It is better to start the temporary background dark so it doesnt flashbang dark theme users late at night.
Just happened to me 😢 
This makes the loading background color the normal dark theme background color.

* Grab theme before await

* make it consistent when built

* final fixes

* removed accidental file

Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-10-01 12:12:35 +00:00
PikachuEXE 87e1093c4d
Update top nav input box action button icon depends on input (#1738)
* Rename `showArrow` to `showActionButton`

* * Display different icon for action button when input text look like a Youtube URL

* ! Fix transition for button appearing absent

* * Update to use new icon for all FT supported URLs

* Update src/renderer/components/ft-input/ft-input.js

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>

* * Update action button to look disabled when input text is empty

* * Disable button hover/active visual effect when "disabled"

* * Make action button only respond to cursor when enabled

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2021-10-01 07:38:33 +00: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
ChunkyProgrammer b1a310ef09
Update colours (search results & select boxes) to match theme (#1482)
* update colors to match theme

* fixed issues with light theme

* readded line that was accidentally deleted

* update colour to match search bar

* update profile selector & dropdown

* increase blur on ft-profile-selector box shadow

* don't change search suggestion background color to primary color

Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-09-23 06:48:40 +00:00
PikachuEXE 56b562966f
Focus in input after text clear (#1669)
* * Focus in input after text clear

* "makes the button disappear after clicking"

* animation

* Fix button title text

* Really remove/hide the button after CSS animation

* Fix hovered button overlapping text input box

* Fix incorrect initial value
2021-09-23 06:45:14 +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
Cody Sechelski edf0f0bc93
Added Dracula Theme (#1727)
* Added Dracula Theme
• Added Light and Dark versions of the logo using Dracula Colors
• Added the base theme and Dracula accent colors to the theme.css
• Added the options for the new theme and colors in the theme-settings comp
• Added translations for the theme and color names to all local yaml files that
  already had theme and color information

* fixed some yamls that I broke

* fixed some more yamls that I broke

* fixed an indentation error

* fixed the formating issues. It's back to 2 spaces rather than 4.

* removed package-lock, added back a new line at the end of the .gitignore, tweaked the colors a bit to add more contrast beween the text and backgroud colors in the overflow menu on the video cards., changed the card color to be slightly ligher than the background instead of slightly darker.

* apparently there was a blank line in the package.json file that was removed. Just trying to get this diff out of the pr

* apparently there was a blank line in the package.json file that was removed. Just trying to get this diff out of the pr

* fixed formating issues that I created in the theme.css. Converted my new code to use double quotes and uppercase hex codes to match existing formatting.

* fixed formating issues that I created in the theme.css. Converted my new code to use double quotes and uppercase hex codes to match existing formatting.

* fixed formating issues that I created in the theme.css. Converted my new code to use double quotes and uppercase hex codes to match existing formatting.

* resoliving conflicts in a local file

* added contract to all of the dracula primary colors. Added contrast for the main dracula theme's secondary and teriary text colors
2021-09-22 18:26:14 -04:00
Jason c14aeab8ef
Fixes new lines not being displayed in comments (#1719) 2021-09-20 05:25:50 -04:00
ChunkyProgrammer 94756458b1
feat: Optimize caption sort order (#1661)
* choose best caption

* add comments

* fix linter issue
2021-09-20 10:12:14 +08:00
PikachuEXE f931092b96
* Implement setting for disabling external link opening (#1427)
* * Implement setting for disabling external link opening

* * Implement setting for disabling external link opening in dropdown

* * Place proper tooltip content on setting tooltip

* Implement "open link after prompt"

* Fix new setting placement and long translation entry value issue

* fix via increasing width instead of truncating text

* * Access new perference via computed property

* ~ Move the code comment back to original place

* * Update prompt to show URL

* Fix missing :key for element with v-for

* Do Nothing > No Action

* $ Use shortcut to preference value in conditional statements

* Update translation text

* move and update tooltip text

* Rename "Open Link After Prompt" > "Ask Before Opening Link"

Also fix the translation value
2021-09-16 19:03:25 -04:00
Jason 59828a101d
Implements color clues for history navigation arrows (#1579)
Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-09-16 22:58:03 +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
Airradda f7e918ab23
Add Toggle Theatre Keybind [T] (#1703) 2021-09-15 10:00:34 +08:00
Airidasz b4f70132b6
Proportional scaling inside grid (#1514)
* Proportional scaling inside grid

Cards inside grid (subscriptions, trending and others using the same system) now scale according to grid size.

* Update _ft-list-item.sass

Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-09-14 10:01:48 +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
PikachuEXE 1ff6617ff2
* Update app to hide top nav filter panel on page change (#1479) 2021-09-13 18:26:08 +01:00
no-comma 065fc49db0
Feedback when copying playlist link (#1660)
* Show message when copying playlist URL

* Move toast to after writing to clipboard
2021-09-06 14:39:54 +00:00
PikachuEXE be58077025
* Improve style of top nav search input (#1392)
* * Improve style of top nav search input

* Implement clear input text on input

* ! Fix to only have top nav input to add new clear text box button

* * Update button design & fix accessibility flaw

* * Update spacing of new button

* * Update input box padding-left to use the same value as padding-right

* * Updating button padding
2021-09-06 10:09:11 +00:00
Jason 1fe733524c
Fixes thumbnail width (#1646) 2021-09-06 08:37:09 +00:00
Jason 4e5976c275
Fixes video volume scroll from preventing vjs-menu scrolling (#1650) 2021-09-05 15:39:44 -04:00
ChunkyProgrammer 7766f1ff4b
fix trending text in small window (#1638) 2021-09-04 14:55:50 -04:00
Jason f7c6f051f0
Fixes changelog to look better with larger bodies (#1634) 2021-09-03 11:24:05 -04:00
Jason c3105f46e5
Theatre mode icon accounts for default theatre mode being ignored when switching between videos (#1632) 2021-09-02 19:22:06 +01:00
PrestonN 0db6dd1f97 Fix update checker, bump version number, and update node modules 2021-09-01 16:31:20 -04:00
Jason 4bb095063a
Removes erroneous variable name 'defaultTheatreModeActive' with 'defaultTheatreMode' (#1630) 2021-09-01 06:05:36 -04:00
PikachuEXE 8821613d6f
! Fix profile menu toggle button to toggle menu instead of keep opening (#1437)
* ! Fix profile menu toggle button to toggle menu instead of keep opening

* ! Fix togglable buttons to toggle menu instead of keep opening
2021-08-25 15:39:38 +01:00
ChunkyProgrammer 044e5bf907
[Feature] Add support for importing/exporting csv YouTube subscriptions + improve speed of reimporting subscriptions (#1543)
* Add support for csv yt subscriptions

* Simplify setting exportFileName

* check if subscribed to channel before making web requests

Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-08-25 07:47:21 +00:00
PikachuEXE d010725b39
* Update video player to remove tooltip for current time on play progress bar (#1478)
Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-08-24 22:46:42 +00:00
ChunkyProgrammer 6ebb000cb3
Navigate to "subscriptions" on logo click (#1394)
* Updated logo to navigate to "subscriptions" on click

* accessibility improvements

* don't change backgroud color on hover
2021-08-24 22:14:37 +00:00
ChunkyProgrammer 27617ccc40
[Fix] Freetube does not play the next video in a playlist when using the Invidious API (#1488)
* fix playlists for invidious

* Code clean up + bug fix

Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-08-24 20:52:30 +00: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 1ceb21f424
load shorts links (#1605) 2021-08-22 16:25:14 +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
Imawall 703a8da427
fix comments failback to invidious api (#1537)
Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-08-21 08:49:14 +00:00
ChunkyProgrammer 2f9ef7cdd6
Make "Show More Replies" for comments translatable (#1555)
Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-08-21 08:11:19 +00:00
Jason 7add3e4b1c
Hides video description when it is empty (#1585)
Co-authored-by: Preston <freetubeapp@protonmail.com>
2021-08-20 19:51:46 +00: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
Jason 354a2151df
Add customized fast-forward / rewind intervals (#1390)
* Setting to customize fast-forward/rewind times

* Move variable placement to keep alphabetical order

Moves defaultSkipInterval to be one line below defaultQuality because Q comes before S in the alphabet. This keeps the variable declarations alphabetical.
2021-08-05 22:17:01 +02:00
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 d8d601cc08
Main: Minor changes 2021-07-03 03:44:23 +01:00
Svallinn 2ce3110041
Main: Move window bounds persistence logic over to the main process 2021-07-03 03:43:49 +01:00
Svallinn 718f9450d6
Main: Remove 'openedWindows' variable
Electron already has a built-in tracker for all opened windows,
so it makes no sense to have custom code to handle it.
One should always use what is given to you :^)
2021-07-03 03:38:41 +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