View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0029133||Runner||Functions||Public||2018-03-13 10:26||2019-12-23 11:34|
|Reporter||Sam Cumming||Assigned To||CoreTech|
|Priority||Medium||Severity||C - General||Reproducibility||100%|
|Platform||OS||Windows 10||OS Version|
|Target Version||Fixed in Version|
|Summary||0029133: Functions: url_open() should use the OS's default browser and mail client settings, not the .html file association|
|Description||The runner will use the user-specified default HTML Editor instead of the Default Browser when dealing with HTML/HTTP functions, so if you select a HTML file, right click it, and set the default program for opening to be a non-Browser application, the Runner will open that application when a HTML/HTTP function is called.|
Similarly, trying to url_open() a mailto protocol link will try to open your browser to perform this action. This then fails in a number of recent OSes (even though if you were to type the same URL into the address bar your browser will likely open your default mail client just fine). Again, this should be launching the system email client directly rather than asking the browser to do it.
Both of these related issues cause a number of tickets to be reported to us that the functionality does not work on the user's PC/Mac.
|Steps To Reproduce||1. Open the attached project.|
2. Find a HTML file on your system and set its Default 'Open With' to a non-Browser application, such as Notepad.
3. Run for Windows.
4. Observe that the application you specified is opened when url_open() is encountered.
5. Reset your default Open With to a browser.
6. Run for Windows.
7. Observe that the browser opens and takes you to the YoYo Games website.
|1.4 Found In|
|2.x Runtime Found In||18.104.22.168|
|2.x Runtime Verified In|
140364Confirm.yyz (19,157 bytes)
url_open() has always just called whatever handling application Windows has registered for the protocol requested (http, https, mailto, etc.). So this is as expected. Otherwise, it would need to search your hard drive for the install location of the specific browser or e-mail client you intended to be opened on your machine, and it can't do that.
We should update the manual page for url_open() to explicitly state this, as right now it does just say "your browser" will be opened.
||Actually, Windows 10 at least *does* have a separate setting for what is your default browser and what is your default mail client, so it should actually be possible to now just query and use this instead.|
Unfortunately we have been round the houses with this and what we currently have appears to be the best of a profoundly bad Windows setup world out there with lots of misconfigured machines - this will do the correct thing for most protocols across the most machines.
We have tried many permutations and this method works best that we can see from our support calls.
"looks like we should look at using the rundll32 entry from https://stackoverflow.com/questions/3739327/launching-a-website-via-windows-commandline which should allow us to use the HTTP protocol association rather than the html File Association"
||Updated to clarify the mailto issue, as we still get tickets about this bit.|