Worrying about fixing of bugs in odyssey port, found there was one from ChrisH, where he says:
Quote:
first comment URLOPEN arexx cmd does not work
MUI-OWB seems to ignore the URLOPEN command. If you start it, and then run the following command from a Shell: Rx "Address OWB.1; OPENURL 'http://google.co.uk'"
It *should* open the given URL (hopefully in a new tab), but it does nothing.
second comment I should have written "OPENURL" rather than "URLOPEN", but the ARexx program was correct.
I also forgot to note that this bug prevents OpenURL from working, such that clicking on a URL in (say) SimpleMail does not work if MUI-OWB is already running.
third comment I was reading the documentation for the wrong OWB (oops). MUI-OWB's says the following: - OpenURL configuration Rexx Port: OWB Show:SHOW Screen To Front: SCREENTOFRONT Open: OPEN NAME="%u" Open in new window: OPEN NAME="%u" NEWPAGE
HOWEVER, that does not work. The following ARexx program does nothing: /**/ Address OWB.1 OPEN NAME="http://google.co.uk" Say "Done"
I'm not sure if single-quoted URLs are supported, but if they are then this doesn't work either: Rx "Address OWB.1; OPEN NAME='http://google.co.uk'"
Now, those ones works fine from shell:
To open in current window: Quote:
ram:> rx "address owb.1; OPEN NAME 'http://google.com'"
To open in new tab: Quote:
ram:> rx "address owb.1; OPEN NAME 'http://google.com' NEWPAGE"
So, did it mean that everything fine now (and seems was), just "=" no need to type in the scripts/rx commands itself, and only in openurl preferences, and so there no bug ?
And it works with simple mail too (i can press on link in it, and it open a newtab in already opened odyssey for me, or, spawn and odyssey and open link in it if odyssey wasn't run):
@All Anyone with knowledge of arexx and urlopen/openurl can plz read what i wrote and just confgirm that everything works as expected, and BZ from ChrisH is wrong and i can mark it as wrong one ?
@whose I mostly mean that command line example as ChrisH show can't works at all (does not matter with which app):
Quote:
Rx "Address OWB.1; OPENURL 'http://google.co.uk'"
I.e. there is no "OPENURL" (or "URLOPEN") for owb (or anything else) can be as they sit a bit lower in system than a rx sended command to parse by program -> so you can't use it as commands and its just by default can't works like this does not matter what app.
Quote:
I know the OpenURL issue from the OWB version before (1.9), but I think it was the different naming of the ARexx commands?
What issue was before ? I just mean that its all works and before, and now, with 1.9 and 1.16, and (seems so) ChrisH just put wrong command lines. But as i not arexx / urlopen /openurl expert i just want to be sure that its indeed like this, and so i can close BZ with words "you use it wrong, it should be like this".
Hm, I think it was a mixup of MUI-OWB and RA-OWB AND Voyager standard ARexx commands, mainly. There was indeed a problem with OWB 1.9 with lines using double and single quotes together. Never found out what the reason was.
Maybe there was a problem with the single quotes? Sometimes the ' is mixed up with `, even in source code.
Btw., "OPENURL" would have been more consistent to the SAVEURL command, as they dont differ in what they actually do (opening/saving URL). Other way around, if SAVEURL is just named "SAVE", its consistent, too.
I think you can close the BZ just stating the (more or less) obvious:
"Sometimes its an OpenURL configuration error. Dont use "OPENURL" command, as its NOT an OWB/Odyssey ARexx command. The right command is "OPEN" (see the readme for details). Quotes (single and double ones) work as expected."
Would be a bit more friendly than your statement
Edit: First part edited... some typos... middle part edited
Edited by whose on 2013/12/28 17:29:45 Edited by whose on 2013/12/28 17:30:56 Edited by whose on 2013/12/28 17:32:35 Edited by whose on 2013/12/28 17:38:59
But i do not know if we can just change port to "Odyssey" as all scripts which already done will stop works. Pluse its good to have the same port name on all oses , so scripts from any of them will works on another ones.
Imho just need to note something like "don't use ra-owb together with odyssey". Or it somehow can be fixed/workorounded ? What you think ?
My own opinion that better if Fab will just replace it on Odyssey everywhere for all the time, so we will have no problems at all. I can change it for os4 only of course, but that one more difference => some scripts may stop working.
The name clash is not the main problem. It's inconvenient that two apps use the same base name but not the end of the world.
The problem is the duplicate name with slot.
RA-OWB created OWB.1 and then Odyssey created another OWB.1 Odyssey should have used the next slot (OWB.2),
Oddly Odyssey does use the next slot when it created the first one. (ie two Odysseys)
If Odyssey creates it's own arexx ports directly then there must be a bug in that code, if it uses an MUI equivalent of arexx.class the bug may be there.
I'm still testing Odyssey to be sure I can access all my accounts before I switch from RA-OWB to Odyssey as my main browser, but I have resolved the ARexx port issue on my system with a little HEX editing. Since RA-OWB will not be further developed, I HEX edited the ARexx port name to "RWB".
You can do the same (at your own risk) by searching for HEX "004f574200" in RA-OWB 3.31 or "504f574200" in RA-OWB 3.32 with a Hex editor like FileX and changing the O (hex 47) to R (hex 52). Make sure you back up RA-OWB before doing any hex editing and check that the port name was changed in the edited RA-OWB with Ranger-Exec-Ports.
If you make the above edit, you will need to change your OpenURL &/or URLOpen prefs to match the new port name.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
That might fix the basename clash but doesn't really resolve the issue of the slot number not being correctly assigned by Odyssey
True. All the non-mui program sources I checked use FindPort() to check if a port already exists while MUI just accepts a basename (e.g. OWB) assigned by the program with MUIA_Application_Base and adds a number (.1 .2 etc.) if more than one copy of the application is running. It looks to me like an MUI issue that could only be solved in an MUI program by bypassing MUI Arexx support. Since it's unlikely that MUI or Odyssey will be changed soon, my suggestion offers a temporary fix for a specific (case i.e. RA-OWB). If might be useful if someone could apply the hex changes I suggest and create patches for RA-OWB 3.32 & 3.31 that could be uploaded somewhere for others to use.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
But MUI and Odyssy are in active development, so I reassert my point that the more serious bug can and should be fixed not hidden by hex editing away a inconvenient side effect...
@Andy I am not at home for next few days, so can't make a BZ, maybe you can write one for mui ? I am sure Thore will fix it fast enough. But if you busy as well i can do so myself in next few days.
@Fab Maybe you can also change owb binary name/arexx port on odyssey by default ? Sure on morphos you have no problems as there is no other owbs, but imho even for morphos it worth that odyssey will have binary named odyssey as well as port, and not owb as it now.
No, i won't change it. MorphOS is preconfigured to use this rexx port, and it would only cause trouble to change it now, since user settings are kept (as they should) when updating the OS. Besides, some released third party scripts and many users custom configs refer to OWB port as well. That's just not possible.
@Fab Yep, that what i fear .. So solutions to all of this only fix bug in mui on os4 to avoid problems which Andy found, and in case anyone want to use both ra-owb and odyssey at one time do as xenic do.
@xenic So i will close then your BZ for odyssey about port clasesh and in comment wrote why it can't be done as well as your solution.