-
-
Notifications
You must be signed in to change notification settings - Fork 247
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
Support telnet:// links #689
Comments
Quite a few of the MUDs I'm seeing use them. Going to compile a list here so we've got a bunch of links to check against: |
Windows: Looks like you mostly need the installer to insert something into the registry. See https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa767914(v=vs.85) Unsure what happens in Mudlet after clicking the link, in regards to Mudlet profiles. |
Yep. If someone could help design how this should work, that'd be a big help! Don't have to code it. |
@Kebap I'm not sure if this one is particular only for ubuntu/gnome and can be used by kde as well.. |
So, let's just assume for a second, we do indeed succeed on all operating systems, and Mudlet will know when a user clicks a telnet link. Now what should Mudlet do exactly? Here is a design proposal: Open questions:
You can edit and build on top of this proposal online here (no registration needed) |
How about a question on startup of Mudlet for supported platforms like "Would you like Mudlet to be your default telnet client? Telnet is the most common protocol to connect to games through Mudlet." Cancel | Yes as options. Only ask on the first startup per version perhaps? Add some way to pop-up in the menus? Ideas to mold here. -Tamarindo |
I agree with Tamarindo about letting the main Mudlet application set the URI scheme handler for two reasons:
|
We do need to revamp the command line argument handling to provide a mechanism to accept the following arguments to make this work I think - so, in addition to the current limited arguments (the QT ones and
All but the last one ought to be allow multiple times to allow multiple profiles to be started - perhaps using the Server one as the delimiter for all the arguments following it until another Server one is encounter on the command line... |
What is the 'review all profiles' section? Does that encapsulate the logic that's shown after, or is it a separe pre-step? |
It is supposed to encapsulate and mean: Do this logic repeatedly once for every profile listed |
As for feeding the information from the OS into the call to start/connect with Mudlet I guess it should handle either the host/port or a profile name - the and case is not actually going to be helpful because if you have the latter the former is redundant... Oh, how do we prevent the user from having multiple instances of Mudlet running at the same time - so that we do not spawn a second instance if there is one already open - in an OS independent and other users on same system - manner? I feel as though we are about to be run down by a 🚌 possibly the QtDBus... |
👋 getting back to this as a lot of other work is waiting reviews. @Kebap what is your take on my simplified #689 (comment) ? I think it'll be a more seamless user experience because less will get in the way of you actually playing.
In general yes, see revision above. What's your take on it?
I think that is all of them 👍
It would seem yes! https://tools.ietf.org/html/rfc4248 We can support it.
Yeah... |
#689 (comment): I see what you're saying but looking at the RFC, I don't think any of the suggestions apply to this specific improvement - rather as you mention, it's much more suited for desktop shortcuts and such. |
Update as I started working on this: this doesn't consider what to do when a profile is setup for auto-load, where in that case there's no need to bother the user with a connection dialog... 🤔 |
Your revision seems fair. We can always add that gateway you removed if an increased desire arises... If autoload is activated, I don't think I would expect a different result from clicking on a specific link. Autoload should probably be ignored in that case. Only if Mudlet is invoked without clicking telnet:// anywhere, then autoload should be honored. |
Yeah. I've made good progress on this, but I got stuck on - if I remember right - actually registering Mudlet as an application handler. It's super unclear on how to do that in macOS and Windows, so if anyone has concrete steps that work, I'd love help in this. |
I found these summaries from Nov 16. Testing on Win 10 seems legit. There's also Mac and Linux: |
Thanks a lot! I'll have a look. |
/bounty $200 |
💎 $200 bounty • Mudlet🔨 See instructions for compiling Mudlet Steps to solve:
Thank you for contributing to Mudlet/Mudlet! Add a bounty • Share on socials
|
Have a look at #3131 for some prior art / inspiration for this. |
/attempt #689 Options |
💡 @guhitb submitted a pull request that claims the bounty. You can visit your bounty board to reward. |
Idea: MUDs should be able to provide an easy to use link with their connection info to spawn Mudlet and get it to connect to their game. Similar to apt://, steam:// and so forth links.
I think Mudlet should support those types of links - it'd be a lot more convenient for players to try out new MUDs if they only have to click on a link, instead of copying the server and port, going to Mudlet, making a new profile and so on.
As for the naming of the link, we could either go with a custom one: mudlet:// or - use an already standard one (telnet://), which would be much better as some websites use it already (http://dmud.thebbs.org/lotflink.htm) and it would be compatible with other MUDs clients.
I believe the latter option is better.
Telnet links seem to work in the format of: telnet://[:<optional port #>], see https://tools.ietf.org/html/rfc4248 for the actual spec.
The logic for this could be the following:
When Mudlet is spawned via the telnet link, check to see if any profile(s) server matches server field of the link. If multiple profiles do, auto-load the latest profile used. If one matches, load that profile. If not profiles match...
Create a new profile with the given server and port data, and the profiles name will be the servers name as well. Auto-load this newly created profile.
I think these cases sound plausible. There'll an issue with peoples already made profile using the server name vs IP address directly as webmasters might, but that's not something that could be easily avoided.
Launchpad Details: #LP1187243 Vadim Peretokin - 2013-06-04 04:47:05 +0000
The text was updated successfully, but these errors were encountered: