Open Bug 986350 Opened 6 years ago Updated 4 years ago

"Email Link..."/mailto links stop working when the configured email program has been uninstalled, no user feedback provided

Categories

(Firefox :: File Handling, defect)

defect
Not set
Points:
3

Tracking

()

People

(Reporter: mark, Unassigned)

Details

(Keywords: papercut, ux-error-recovery, ux-userfeedback)

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 (Beta/Release)
Build ID: 20140318013849

Steps to reproduce:

1. Installed FF 29 beta
2. Went to "customize"
3. Dragged the "mail link" control to the interface (main toolbar, next to URL bar)
4. Closed customization
5. Navigated to an interesting page
6. Tried to use the "mail link" button


Actual results:

Absolutely nothing happened. A click did nothing. No mail program opened, no error, nada.


Expected results:

Either the default mail program should have popped up to allow mailing someone a link to the page, or an error/information should have popped up if there was no e-mail program installed/associated.
What happens if you use the traditional menu's option, File > Email Link... ?
Flags: needinfo?(mark)
Nothing happens either. No feedback from the browser, etc.

I checked the console:
Button in the Australis UI gives:
"[CustomizableUI]" Exception {message: "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIExternalProtocolService.loadUrl]", result: 2147500037, name: "NS_ERROR_FAILURE", filename: "chrome://browser/content/browser.js", lineNumber: 15462, columnNumber: 0, inner: null, data: null, location: XPCWrappedNative_NoHelper}

Classic menu option gives:
NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIExternalProtocolService.loadUrl]
Flags: needinfo?(mark)
(In reply to Mark Straver from comment #2)
> Nothing happens either. No feedback from the browser, etc.
> 
> I checked the console:
> Button in the Australis UI gives:
> "[CustomizableUI]" Exception {message: "Component returned failure code:
> 0x80004005 (NS_ERROR_FAILURE) [nsIExternalProtocolService.loadUrl]", result:
> 2147500037, name: "NS_ERROR_FAILURE", filename:
> "chrome://browser/content/browser.js", lineNumber: 15462, columnNumber: 0,
> inner: null, data: null, location: XPCWrappedNative_NoHelper}
> 
> Classic menu option gives:
> NS_ERROR_FAILURE: Component returned failure code: 0x80004005
> (NS_ERROR_FAILURE) [nsIExternalProtocolService.loadUrl]

Great. I suspect that Firefox thinks it should open mail links with a program that's no longer installed... does the same happen if you click on my name in Bugzilla, and then click "Mail" in the list of options that pops up?
Flags: needinfo?(mark)
Summary: [Australis] Mail Link control doesn't work. → "Email Link..." doesn't work
If I click on your name and click "mail", nothing at all happens and there is nothing in the console either.

The application set is "Thunderbird.url.mailto (default)", I have installed Thunderbird in this test setup a bit back, but it has been uninstalled properly, meaning there shouldn't be any associations left. "Default programs" at least doesn't list anything.

I reinstalled Thunderbird to test and that seems to make the control work and launch the program.

Regardless though, I would expect some sort of usable feedback from the browser if there is a problem launching an external application instead of doing nothing at all and leaving a user hanging.
Flags: needinfo?(mark)
Of note, uninstalling the mail client again brings the problem back, and performing a reset of Firefox does not solve the problem, it remains broken unless I manually change the handler to something else. Shouldn't this kind of setting be reset as well?
(In reply to Mark Straver from comment #5)
> Regardless though, I would expect some sort of usable feedback from the
> browser if there is a problem launching an external application instead of
> doing nothing at all and leaving a user hanging.

Yes! Definitely. I was just trying to establish what happened and why things were broken. This makes it possible for us to fix things. :-)

(In reply to Mark Straver from comment #6)
> Of note, uninstalling the mail client again brings the problem back, and
> performing a reset of Firefox does not solve the problem, it remains broken
> unless I manually change the handler to something else. Shouldn't this kind
> of setting be reset as well?

Err, yeah, that's surprising. I would have thought that a reset would fix it. :-\

Regardless, it shouldn't take a reset. We should provide you with proper feedback.

I'm changing the state of this a bit so we can work on fixing this issue, hopefully in the next development cycle. Thanks for sticking with all my questions!
Status: UNCONFIRMED → NEW
Component: Untriaged → File Handling
Ever confirmed: true
OS: Windows 7 → All
Hardware: x86_64 → All
Summary: "Email Link..." doesn't work → "Email Link..."/mailto links stop working when the configured email program has been uninstalled, no user feedback provided
Version: 29 Branch → Trunk
Since it does a check and throws an error, can't you just catch that error and present the "ask" dialog in that case? That would allow for a quick and clean resolution of the problem with existing features (not to mention a logical flow of events: people would need to choose a different option anyway if the external program is no longer there).
Blocks: fxdesktopbacklog
No longer blocks: fxdesktoptriage
Whiteboard: p=0
No longer blocks: fxdesktopbacklog
Flags: firefox-backlog+
Whiteboard: p=0 → p=3
Points: --- → 3
Whiteboard: p=3
I got bitten by this after upgrading from Ubuntu 14.04 to 14.10 (I think this is when the problem started but I'm not 100% sure as I don't use mailto links every day) - I noticed that the "mailto" entry completely disappeared from the Applications tab of the Firefox Preferences dialog.

After the upgrade, when I clicked on mailto links, one of two things would happen:
Most of the time, absolutely nothing happened (same for the "Email Link..." command on the File menu) or occasionally after fiddling with the about:config for a bit I got "Problem Loading Page".

WORKAROUND:
After some more playing, I found that if I changed network.protocol-handler.warn-external.mailto to true, when I click on mailto links, I could then select my system's default email program (in my case, Thunderbird) from the "Choose Application" dialog. 

After ticking, remember this choice and clicking ok, I could then safely reset network.protocol-handler.warn-external.mailto back to false and mailto links continue to work.
You need to log in before you can comment on or make changes to this bug.