Use ft-input-tags for external player custom args #6221
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Use ft-input-tags for external player custom args
Pull Request Type
Description
It's not uncommon for users to struggle to configure the external player settings correctly. One of the known stumbling blocks is that people don't read the tooltips, so don't realise that they have to separate the custom arguments with a semicolon (
;
). This pull request changes the custom arguments to use the ft-input-tags component, that way users can enter each argument separately, which should hopefully make it easier to configure the custom arguments correctly. Interally we now store the args in a JSON array.I updated the tooltip text to remove the
separated by semicolons (';'),
part in most languages where it was obvious which part of the text it is, in other languages where it was less obvious to me (as I don't know many of FreeTube's languages) I left it to be changed by the translators. At least some of them will have less work to do :).Screenshots
Testing
So that you don't have to install various external players, I would suggest editing the
openInExternalPlayer
function insrc/renderer/store/modules/utils.js
to log what it would send to the external player instead of launching it e.g.Testing the migration
Check that the migration of the old args string to the new JSON string works correctly
settings.db
file (data location but in theElectron
instead ofFreeTube
folder){"_id":"externalPlayerCustomArgs","value":"--test1;--test2"}
yarn dev
on this branchOther tests
Desktop