The little things that matter

With the release of Opera 9.50 Alpha1 comes some mailto URI fixes that have been needed for a long time.

  • "Copy email address" now works right. It properly gathers all non-empty TO addresses and copies them to the clipboard as a decoded, comma-separated list of addresses. Before, it behaved *something* like "Copy link address" where you would just get part of the encoded URI. Note that Firefox will only grab the first TO address when copying, but there's a patch in Mozilla Bug 353102 for that to work like Opera.
  • If there's more than one subject hvalue in the mailto URI, only the last one is used when filling in the subject field in the compose window. This is how Thunderbird does it also.
  • hvalues are now decoded properly. It's no longer needed to double-encode your URIs to get Opera to decode them properly. Also %0D, %0A, others, and %HH sequences representing unicode characters are now decoded properly. (On a side, Kestrel comes with some javascript URI decoding fixes also.)
  • Previously, if there were multiple body hvalues in the mailto URI, they would be joined with %0D%0A. This is still true, but now it looks right because of the decoding fixes. However, there is a regression where all empty body hvalues (after the first non-empty one) are now skipped, which causes Opera to be different than Thunderbird just a bit, but this is an edge case anyway and has been reported.
  • Actually first seen in Merlin, but worth mentioning, Opera now skips empty TO, CC and BCC hvalues so you don't get a comma and a space in the compose field for each empty hvalue.
  • If you enter a raw mailto URI in the address field and use backslashes (as in "Tim \"The Toolman\" Taylor" <tim's email address>), the backslashes will no longer be converted to frontslashes on you.
  • Previously, if Opera was the default mail client and was already open (dde issue), launching a mailto link in another app would just cause Opera's window to focus and no compose window to open. This is now fixed.
  • Previously, '‘ would not trigger a compose window. It had to be '‘. Now, it's fixed to launch a compose window.
  • Previously, if Opera was the default mail client and Opera was closed, launching a mailto link in another app would open Opera and open a compose window, but multiple blank tabs would open also. This is fixed now so that the blank tab is automatically closed. This has the side-effect of the tab closing on you if you manually enter a mailto URI in a blank tab. However, just lock the tab first if you're testing and want it to remain open.
  • Previously, the Opera mailto protocol registry keys on windows had the wrong dde values. This is fixed now.
  • Previously, the body field of the compose window would have extra lines even when you didn't have a signature set. This is fixed now.

To really get an idea of how much things have been fixed, try this mailto link test.

In Opera, with the mailto protocol set to "Open with Opera" try the mailto link in both Kestrel and Merlin. You will see how much things have improved with mailto URI parsing. Also try "Copy email address" on the link. Pretty nice.

Try those same tests in Firefox with Thunderbird 3.0 (3.0 because it has the fix for Bug 320206) set as the default mail client. You'll see just how close Opera and Thunderbird are. (I don't mention any other email clients, because Opera and Thunderbird are the only ones that can parse mailto URIs this well (which is beyond the old and not-specific-enough RFC2368).

There are still more mailto-related things to fix in Opera, but it's looking sharp.

As a bonus of messing with this mailto link stuff, here's a Webmail compose Opera userjs script that parses mailto links like Thunderbird and Opera. By default, it's set up for Gmail, but the script includes composes URIs for operamail. squirrelmail and yahoo webmail. Try it with the test on the page linked above.

One Reply to “The little things that matter”

Leave a Reply

Your email address will not be published. Required fields are marked *