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 installing plugin-hub plugins via website #379

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

deathbeam
Copy link
Member

@deathbeam deathbeam commented Nov 8, 2020

This works only for logged in users as it is simply changing the
config.

TODO:

  • Actually refresh the installed state after installing/uninstalling plugin

Signed-off-by: Tomas Slusny [email protected]

@deathbeam deathbeam force-pushed the install-uninstall branch 7 times, most recently from 8309795 to cbfd7ee Compare November 8, 2020 20:31
This works only for logged in users as it is simply changing the
config.

Signed-off-by: Tomas Slusny <[email protected]>
@abextm
Copy link
Member

abextm commented Nov 8, 2020

imo this is a somewhat horrible idea since the client needs a restart to actually get the config

@deathbeam
Copy link
Member Author

Yea there is warning for that that shows after you install/uninstall plugin
image

@abextm
Copy link
Member

abextm commented Nov 8, 2020

I don't think a warning makes it any less horrible

@deathbeam
Copy link
Member Author

Well its as good as it gets without actually implementing custom URL handling what I dont think will happen and we can always add polling for the config to client later (what doesnt really matter as far as this PR goes). But its still useful and very simple change on website.

@abextm
Copy link
Member

abextm commented Nov 8, 2020

We can't really make the client poll, because 1) thats a lot of traffic and 2) it would cause the loading splash to open, take focus, and otherwise be obnoxious, at some random point while the user might not want it. I don't really think that letting a user install a plugin on the website is worth the ux nightmare this invokes.

@deathbeam
Copy link
Member Author

Well that is just one idea, another one is simple button for reloading the config in plugin hub panel or something. Atm this PR is unrelated to any UX "nightmares" on the client tho so I dont see how is it relevant as there is X amount of ways it can be handled on client (or not handled at all and used as is as the UI impact on website is basically non existant).

@abextm
Copy link
Member

abextm commented Nov 8, 2020

"The button does not work" is the ux nightmare I am referring to. I don't see any way for the client to know about this change without either every client having a websocket for this, which would be complete overkill and expensive, or a protocol handler which requires a launcher update and is therefore not feasible either.

I don't want this unless the button actually works for a running client.

@deathbeam
Copy link
Member Author

Well the client isnt supposed to know about the change and it do not needs to know about the change. We can add reload button as i said if you dont want polling, but reload button without actually having ability to change the plugins outside of client is pointless so this needs to go in first either way.

@abextm
Copy link
Member

abextm commented Nov 8, 2020

The client is the primary consumer of this config, so I don't get the client isnt supposed to know about the change. If we add a reload button, why not just use the install/remove buttons in the client, since that requires less clicks anyway, and doesn't need an explanation on how to use it.

@deathbeam
Copy link
Member Author

Well the original reason why I made this PR is that you can install/uninstall plugins while not having access to the client. Either because you are simply on different PC or one of the plugins is breaking your client. Also installing via the website UI is a lot smoother if you want to install more plugins in a row (for w/e reason) or for mass removing them compared to client. So the process of installing via website then pressing refresh button in client would be a lot better user experience compared to simply clicking in client.

@abextm
Copy link
Member

abextm commented Nov 8, 2020

IMO the primary use of this would be providing a link (ie from runewatch's website or w/e) that lets you install their plugin easily, which would in many cases happen while the client is already running. I don't really know why someone would want to install a plugin while not on a machine with the client, that seems really odd to me. If you want to mass add plugins I don't really mind the ux being bad for that since that is generally a bad idea anyway. If you can't launch the client we have --same-mode for that, though maybe this is better in that case since you don't need to to teach the user how to add a cli argument, but on the opposite side, they have to be logged in on the website and client.

To be clear I don't think that this is a useless feature, I just think that its not useful enough to warrant the fact that it doesn't work when the client is open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants