runelite.net
runelite.net copied to clipboard
Add support for installing plugin-hub plugins via website
This works only for logged in users as it is simply changing the config.
TODO:
- [x] Actually refresh the installed state after installing/uninstalling plugin
Signed-off-by: Tomas Slusny [email protected]
imo this is a somewhat horrible idea since the client needs a restart to actually get the config
Yea there is warning for that that shows after you install/uninstall plugin
I don't think a warning makes it any less horrible
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.
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.
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).
"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.
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.
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.
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.
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.