Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for advanced options #13

Closed
augustin opened this issue Apr 28, 2020 · 23 comments
Closed

Add support for advanced options #13

augustin opened this issue Apr 28, 2020 · 23 comments
Labels
enhancement New feature or request

Comments

@augustin
Copy link

sshfs has a umask option that can be used to set the general umask. SSHFS-Win-Manager sets create_umask here, but it does not set the main umask or have any option for that.

Could either an advanced UI option for this be added, or (even better) support for adding arbitrary command line flags to the SSHFS invocation be added?

@evsar3 evsar3 added the enhancement New feature or request label Apr 28, 2020
@evsar3
Copy link
Owner

evsar3 commented Apr 28, 2020

Hello @augustin

At the first moment I was thinking in release a minimum of configs to be set while using the app, so I decided to use a permissive default set of options.
In some opened issues people are requesting for some advanced options that I actually don't needed at the beginning.
I will make such feature, but it will take a while because I just got into a very important project in my job and I have not much time to play with the Manager.

The repository is open for anyone that wants to help to improve it, including you.

@evsar3
Copy link
Owner

evsar3 commented May 22, 2020

Hello @augustin

Very happy to announce that we have a starting point for implementing the advanced UI.

Advanced UI first look:

image

@augustin
Copy link
Author

Excellent!

@s1eepwalker
Copy link

release please

@bradacjan
Copy link

@evsar3 : The "Advanced UI first look:" seems very useful.

We really miss the -o rellinks option, which might stop us from using this project altogether. If you could release some basic version with this advanced UI, we could then implement (and pull request) a change that will add more options to the command – it should not be very hard.

But the scope is a bit too big for us without that Advanced section you have already implemented.

@evsar3
Copy link
Owner

evsar3 commented Aug 21, 2020

@bradacjan I'm gonna release a beta version with what I have until now this weekend.

@bradacjan
Copy link

@evsar3 That sounds amazing, thank you!

I like your project, it is a very nice UI on top of a useful technology, making it easier to use.

evsar3 added a commit that referenced this issue Aug 23, 2020
Implements requests from issue #13
@evsar3
Copy link
Owner

evsar3 commented Aug 23, 2020

This feature is availabe in v1.0.2-beta.1 release

@evsar3 evsar3 closed this as completed Aug 23, 2020
@evsar3
Copy link
Owner

evsar3 commented Aug 23, 2020

Let's test it guys! Feedback, please!
Thank you all!

@evsar3 evsar3 reopened this Aug 25, 2020
@evsar3
Copy link
Owner

evsar3 commented Aug 25, 2020

Hi, me again!

Just to say that pull requests would be very appreciated!
This file contains the list of params available in the advanced tab. Additions and/or corrections would be very nice!

😁

@zardini123
Copy link

@evsar3 This is fantastic! This is such an exciting project!

Currently I am dealing with trying to optimize sshfs to run at a decent speed. There is two options that are important to optimize speed that aren't directly mentioned in the sshfs manpage, but is actually inherited from ssh. The two options are compression and ciphers. sshfs does have an option already for compression, that being just -C (it can also be set via -o compression=yes/no).

According to this StackExchange post there are some ciphers that are different from the default that can help speed significantly. Though I believe not all clients support all ciphers, and what ciphers are supported can be found by running ssh -Q cipher.

It'd be great to have the ability to add a "blank" argument so users can write any custom argument they want and reap the consequences.

But for an eventual ciphers argument, it'd be great to display a list of available ciphers as a list to choose from, instead of having to write out the name.

Thank you very much! I'm excited to hear what you think!

@evsar3
Copy link
Owner

evsar3 commented Sep 7, 2020

@zardini123 Thank you for supporting this project!

It'd be great to have the ability to add a "blank" argument so users can write any custom argument they want and reap the consequences.

I'm actually thinking in making all fields just a empty key/value fields. This demands less maintenance and keep stuff simple (it still missing the FUSE options of the man in the list). However, the options/values listing is more user-friendly for not experienced users. In order to make this feature 100% ready, all ssh/sshfs options must be mapped. What do you think?

@zardini123
Copy link

zardini123 commented Sep 7, 2020

If the drop-down-based key/value approach were to be "100% ready" (i.e. have all options available to users), it'd need the sshfs options, the FUSE options (which are listed in the sshfs manpage), and select ssh options. I believe that's fairly excessive amount of options to deal with, and there are many ssh options I believe most users would not ever need to use.

I do think having the dropdowns for some select (commonly used) options would be fantastic! My current gripe is one cannot see the description of the option until after selecting it. So maybe there is a way to adjust the UI so one can see the options and their associated descriptions at the same time.

Maybe the explainshell project can provide some ideas of scraping man pages to get information. This could be useful for a manual options listing (providing users with clarification and verification of their choices) and for a drop-down options listing.

Having dedicated sections for specific options would be a good way to go about it too. For example the Ciphers option for ssh I was talking about earlier could be under a section "SSH Options", and Ciphers would be its own dedicated dropdown. Compression could be something as simple as a toggle switch (with a full description of what the option does by hovering one's mouse over it).

Along with being able to adjust options, I think some users would benefit seeing exactly what command is being ran (for example with the Mac sshfs wrapper). I'm not personally not a fan of this wrapper as there are options added that users have no control disabling, but displaying the command is an idea.

@evsar3
Copy link
Owner

evsar3 commented Sep 8, 2020

I will take a look if I find a Vue component that fits this requirements, otherwise I will have to code one.

@zardini123
Copy link

zardini123 commented Sep 8, 2020

I was looking around the source for the project and found that there are multiple options being added when running sshfs. Some of these options are large_read, allow_other (eek), and max_readahead=1GB.

With the eventual addition of the command line parameters section, may you remove all options that aren't directly required for sshfs-win-manager to function? Its very difficult to optimize performance of my sshfs mount when there are options added that I cannot disable.

Thank you very much!

evsar3 added a commit that referenced this issue Sep 9, 2020
Implements suggestion of zardini123 on #13 to disable default arguments when the advanced params option is enabled
@evsar3
Copy link
Owner

evsar3 commented Sep 9, 2020

Implemented suggestions from @zardini123 on disable all default arguments when advanced params is enabled (2597062).

@evsar3
Copy link
Owner

evsar3 commented Sep 13, 2020

New features and updates on v1.1.0-beta.1 release

@zardini123
Copy link

zardini123 commented Sep 13, 2020

Hi @evsar3! These are some fantastic features you've added so far! This is very exciting!

Couple of things relating to advanced parameters:

The advanced parameter window cannot be adjusted in size. Due to that I am unable to fully read the descriptions of many options.
image

One, or many, blank options can be added and will not be filtered out when starting the connection, resulting in sshfs failing due to multiple empty -o options.

image

Has a place to manually write options been added? If so, I cannot see where it is.

Thanks!

@zardini123
Copy link

As an addendum to my last comment, if you switch from an option that uses a parameter, and an option that doesn't (i.e. from max_read to large_read), the text from the option with the parameter persists, and is un-editable. Not a critical bug, but can be confusing to users about options that don't require arguments.

@evsar3
Copy link
Owner

evsar3 commented Sep 13, 2020

Great feedback @zardini123!

I'm gonna work on these suggestions this week.
I want to release a stable version next weekend.

@evsar3
Copy link
Owner

evsar3 commented Sep 14, 2020

I moved the description of the param outside of the field, removed field value when the param doesn't accept a value and filtered empty params on saving.

sshfs-win-manager

@zardini123
Copy link

That is super sleek! Fantastic work!

@evsar3
Copy link
Owner

evsar3 commented Oct 3, 2020

Version v1.2 is out! Update now!

@evsar3 evsar3 closed this as completed Oct 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants